4 ms·
Can anyone link me to one of those jobs where most people could not do fizzbuzz? Thanks. In the age of leetcode that seems vanishingly unlikely.
by starpilot 6y ago
Can anyone link me to one of those jobs where most people could not do fizzbuzz? Thanks. In the age of leetcode that seems vanishingly unlikely.
- eugeniub 6y agoThe famous Fizzbuzz article was published in 2007, 8 years before Leetcode was founded: https://blog.codinghorror.com/why-cant-programmers-program/ https://blog.codinghorror.com/why-cant-programmers-program/
- RandallBrown 6y agoI've never worked with anyone that couldn't do fizzbuzz, but I've interviewed plenty of people that couldn't. Most of them were already employed.
- tzs 6y agoI could actually see myself botching fizzbuzz if I had been given it during the first 10 years of my career. Up until that point it had never occurred to me that someone might apply for a programming job who could not write the simplest programs. Thus it would never have occurred to me that someone asking me such a simple question just wanted to see the obvious simple answer. I'd have assumed they wanted me to use as much of the language as I could. So if they asked me to do it in Python, for example, I'd have tried for something like this: def fizzbuzz(n, *args): cur = ['' for x in range(1,n+1)] for m, postfix in args: cur = [y+postfix if x%m==0 else y for x, y in zip(range(1,n+1), cur)] cur = [str(x) if y == '' else y for x, y in zip(range(1,n+1), cur)] return cur print("\n".join(fizzbuzz(100, (3, 'fizz'), (5, 'buzz')))) ...and since Python is not one of my main languages there is a good chance I'd botch it.
- toomanybeersies 6y agoI read somewhere (may have been coding horror), that it's not that most people can't do fizzbuzz or other simple problems, 99% of programmers can do it. Most good developers are already employed, so there's this constant pool of unemployed programmers (the 1% who can't do fizzbuzz) applying for all the jobs they can.
- kortilla 6y agoYou vastly overestimate how many software engineers leetcode.
- ehnto 6y agoRespectfully, I don't think the existence of leetcode could be exposed to all possible developers and fix the underlying issue. Certain education and self education pipelines focus solely on the actual work being done in real world applications, and raw logic chops are honestly not required for much of that. It's no surprise to me a team could make an application and then fail at FizzBuzz. Not saying that's a good thing, just that I am not surprised people can make it so far without being able to do simple logic programming.
- toomanybeersies 6y agoA lot of software developers spend their days basically stitching together packages and creating UI abstractions over data models, rather than writing actual logic. Why write fizzbuzz yourself when you can just import it? https://www.npmjs.com/package/fizzbuzzify https://www.npmjs.com/package/fizzbuzzify My old job was a bit like that, I spent most of my time just creating new models and building API endpoints, or finding gems/packages/AWS services that did what we wanted to do (it did make for a nice looking resume though, with a laundry list of AWS skills). In the two years I worked there, there were only a handful of times I had to write any code that was more complex than fizzbuzz. It was an interesting product, but you could've taught a smart 17 year old kid how to do everything I did. I'm happy that these days I'm working at a much more mentally stimulating job. I regularly have to use what I learned from my compsci degree (especially operating systems and networking), and solve complex problems that require me to actually think. It's the kind of work that validates why I went to university.
- labcomputer 6y agoI don't know about "most", but I phone-screened four candidates last week, all claiming to be currently employed (with 3-10 years industry experience). Two of the four couldn't finish fizzbuzz (in the language of their choice) in 30 minutes. It feels a bit unethical to name their employers, but they were companies that would be familiar anyone who reads HN. When I worked for FAANG, IIRC, the ratio was about the same, so I don't think it's a problem of recruiting.
- mkl 6y agoWow. Did you get any sense of what they actually do at work, programming-wise?
- AnimalMuppet 6y agoIn a phone interview? When they could just fire up Google on their laptop and get an answer in 30 seconds, and you wouldn't know unless you heard them typing? I mean, I guess you could conclude that they are too honest to cheat, which is a plus...
- labcomputer 6y agoYup. All that. And it's a question that has been circulating the internet for over 10 years as a basic interview question. Re typing: You can usually hear it unless the mic is muted (part of the reason I try to keep the conversation going).
- rl1987 6y agoPerhaps the alternative explanation is not that they cannot do FizzBuzz at all, but choke under stress when they are asked to code a simplest thing in the interview setting?
- kqr 6y agoWhile that is a real problem, and I completely flunked my whiteboard coding test for my current job (they liked me anyway, appparently!) I have observed "senior software developers" who fail at FizzBuzz even when they can write it in their home, on their own time, in their own editor, using their preferred language. These are people who likely happened to be "lucky" and rose through to management/team lead positions before they had time to truly learn the details of programming, and then they spent years dealing at higher levels of abstraction and their foundational knowledge atrophied. The number of expert beginners[1] in our field might surprise you. [1]: https://daedtech.com/how-developers-stop-learning-rise-of-the-expert-beginner/ https://daedtech.com/how-developers-stop-learning-rise-of-th...
- hyperman1 6y agoI've seen plenty of bad FizzBuzzers, but in general they are not very good at the higher levels of abstraction either. In my experience, they can talk the talk, and make sure the have a new job before the shit hits the fan. Which at that level might take 2-5 years, the timeframe for a major new application to completely develop.
- kqr 6y agoYes. I deliberately avoided saying anything about how well they handle these higher levels of abstraction. ;) I believe knowing the fundamentals is critical for being able to reason well about the higher levels of abstraction. As Alan Perlis put it back in 1968: > In a situation where code actually has to be produced, nobody should be allowed in the system who doesn’t write some given number of lines of code per month. I think that one of the major problems with the very large programming projects has been the lack of competence in programming which one observes as soon as one goes above the very bottom level. He goes on to propose a scheme were people at all levels in the development effort get some time to get their hands dirty on a rotating schedule. That sounds very sensible, in my opinion.
- kristopolous 6y agoHonestly, I'd probably fail it because I wouldn't believe they'd ask me something so trivial. I'd question the heck out of it looking for tricks. Then I'd probably think "no they want something complicated. It can't be that" I'd probably totally fail it. I've been writing code every day for over 25 years but if you asked me that in an interview, I'd totally completely utterly fuck it up. I'd walk out and the interviewer would think me profoundly incompetent. Then I'd go home and have a terrible day thinking "wtf was that? All he wanted was that. You could write that when you were 7 on an apple 2, wtf were you doing?" So now I'm just enjoying my time contributing to open source. Whatever. It's a great time to not work, unemployment is lucrative.
- collyw 6y agoI got asked it one time and did it fine. Then they asked me to do it without a modulo operator. I had a mental block as it is so easy and obvious to do it with a modulo operator that it was kind of difficult to think about doing it another way. Likewise I got asked about python with 2 list comprehensions. Then I got asked to do the same thing without an intermediate variable. Basically they wanted a nested list comprehension. This was not a difficult task, but not something that I ever do, as I find nested list comprehensions terrible for readability - I always use an intermediate variable. It would be easy to mess this up under the stress of an interview.
- kristopolous 6y agoWhat's the demonstration trying to show here? Those things frustrate me in interviews, I can think of 4 ways to immediately do it but I know for a fact they only have 1 way written down and it's my job to guess it. If I say "you can make a field" and they have zero knowledge of number theory well my chances go right out the window. To them I obviously have a "wrong" answer. They ask you to be clever but only in some proscribed secret way that they have no intention of disclosing. Nonsense. If instead I respectfully show them the multiple ways, it's still naturally "combative" because there's no other way to reliably answer the question. They're just asking for experience to fail. They're looking for something who coached themselves, not someone who actually knows anything. No wonder silicon valley is awash in cargo cult driven shit software. Look at the process. Yet again an interview process that selects for dimwits. Might as well guess what number they're thinking of
- GoblinSlayer 6y agoAngular webpack frontend dev is probably the only job fizzbuzz is relevant to, don't expect any other job that makes anything useful to do fizzbuzz, because usefulness and fizzbuzz are mutually exclusive. And what is even leetcode?
- heelix 6y agoI tend to do much of the phone/person screening at our shop. I'm surprised how many folks try to bluff their way in. You ask a big-O on maps, lists, and the different implementations they will rattle off the (correct) stackoverflow response immediately. Hit them with basic questions, like handling an exception or closing a resource/JDBC connection... and can just get blank stares. Codility and Leetcode... screen that folks can code, but the folks who tend to be good at a quick grind don't always produce good code. Not a huge fan of it. I don't even look at the report anymore.