The Surprising Number Of Programmers Who Can’t Program

Dear new developer,

This came up in a Hacker News comment thread recently:

I’ve been working since the 90s and I never attempted to do FizzBuzz. Is it really relevant? Maybe to screen junior developers out of college?

And the response

So, as someone who spends maybe 20% of their time hiring, it’s still a very effective screen. You wouldn’t believe how many people can’t do it. People at big companies, respected places. It’s surprising.

I find it truly surprising. Here’s a post from 2007 about the same issue, so it’s been around a while. From that post:

…I’m starting to get a little worried. I’m more than willing to cut freshly minted software developers slack at the beginning of their career. Everybody has to start somewhere. But I am disturbed and appalled that any so-called programmer would apply for a job without being able to write the simplest of programs.

As a new developer, realize that

  1. You are going to stand out among other applicants if you can program.
  2. If you can’t program, you need to fix that asap.
  3. There are some folks that are just not effective programmers who somehow are in the profession (or seeking employment). You may end up working with and for some of these people.

So, make sure you practice programming. My letters have been about some of the other aspects of software development, but if you can’t do the basic work, you’re going to have a tough time. That’s like a baseball player who can’t run. Doesn’t matter how good someone is at catching a ball or hitting, if you can’t run, you’re going to be fundamentally disadvantaged at baseball.



16 thoughts on “The Surprising Number Of Programmers Who Can’t Program

    1. That’s a really good point. Sometimes the tooling changes and opens up the workforce. Folks with older tooling (or platforms) may or may not be able to attract talent. But, salaries for win32asm programmers should go up, so at least there’s that.


  1. Does your job rec say “application developer”? How many jobs I’ve applied which once the in-person interview starts; bares no resemblance to the print job spec. You want things to be better? Unions and certifications. BTW. I can program but I don’t want to be an application developer


  2. I actually quit being a developer/programmer because of this, it was so time consuming cleaning up wierd datasets from various jerry-rigged APIs that i came to a point where i just had enough. Hackis solutions were the norm regarding data encoding from people who actually can’t program properly – and those slugish and hackish algorithms… So i quit, changed profession and never looked back – i now work in broadcast design. While i was studying design, i also studied comp sci in my spare time(had real high-end mentors for both paths). Both fields are still my passion, but i don’t program for money anymore, just for fun.


  3. i see it daily, simple rookie mistakes that should been passed as ok in test process. my number one beef. seeing this domain/invoice/{insert item} has 1 day(s) before expiry. my lecturer teaching programming 101 would make our first assignment of writing a function exactly that task. simple function that tests for unity value and “s” to string. much more professional 0 days,1 day, 2 days, et al.


  4. That’s always the nice thing about FizzBuzz. If its “insultingly trivial” then someone should be able to knock out a solution in 3 minutes and life goes on – that makes it a non-problem. If, on the other hand, it takes them 10-15 and they have a bug, that tells you what you need to know.

    So that its not wasted, I also like to use it as a baseline to expand on for the rest of the interview, which I prefer to be more free-ranging so that we can explore strengths and preferences as they come up. “How would you document this? How would you structure your tests? Ah, I see that’s a white box test, how could you do a black box test for it? What approach would you use if you had to email the results out?” and so on.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.