Joel test scores are (somewhat) outdated – you should ask something else

Joel test scores are widely accepted as the “12 golden checks” for interviewee to ask interviewer during an interview. They were originated by Joel Spolsky – and his blog was famous among developers, they were quite well-known – and have been popularized even more with StackOverflow (where Joel Spolsky is one of the founders). StackOverflow Jobs even have a check list for recruiters when they post their job vacancies. Here’s the list:

  • Do you use source control?
  • Can you make a build in one step?
  • Do you make daily builds?
  • Do you have a bug database?
  • Do you fix bugs before writing new code?
  • Do you have an up-to-date schedule?
  • Do you have a spec?
  • Do programmers have quiet working conditions?
  • Do you use the best tools money can buy?
  • Do you have testers?
  • Do new candidates write code during their interview?
  • Do you do hallway usability testing?

The list served its purposes for a long time – and I can say it, to a point – contributed to software industry. When developers are aware of such things, companies need to adapt to attract talents – resulting in better work environments and processes (again, there are companies which do that well before the list, and there are companies do not care about it at all).

However, after a decade, the list is somewhat outdated. The questions were asked in the way it can be answered as “YES” or “NO“, so they are oversimplified. It’s good for a checklist in a listing job, but not the best thing you can ask during an interview. Some of its points need to be revised to make it relevant. Let’s go through the points to see if we should/should not ask questions, as if it’s in the list:

Questions that are still relevant:

  • Can you make a build in one step?
  • Do you fix bugs before writing new code?
  • Do programmers have quiet working conditions?
  • Do you use the best tools money can buy?
  • Do you have testers?
  • Do you do hallway usability testing?

Questions that might be obsoleted:

  • Do you use source control?

Ten years ago, it might make senses to have this question. Today, it’s simply a big NO if your company does not have source control. This is not a question you have to ask, the job listing should mention it already. But for some reason it didn’t, then you should ask: Which source control do you use? If it’s Git or Mercurial, then good. It’s OK if you use Team Foundation Server or SVN. It’s less OK if you use CVS. Run away if the company still uses SourceSafe or anything pre-2000.

  • Do you make daily builds?

This was relevant when the build was expensive and take hours to complete. It’s no longer valid nowadays, you should have builds for every checkin. A good build system should act as a gate, it should compile your solution, run all the tests, and even some extra checks, to make sure the new commit won’t break anything. You should really ask: Do you have gated builds? Of course, if they have both gated builds and daily builds, it’s a good sign.

Questions that should be in the list:

  • Are developers required to write tests?

    It’s not excusable to not have tests these days. In a perfect working environment, everything should be testable. We’re not living in a perfect world, but your code should be somehow be tested. In the company I’m working for, we try to test everything we can: Unit tests, JavaScript unit tests, PowerShell unit tests, Integration tests, Compatibility tests, Automated tests  and of course manual tests. Bugs still happen, but we find ourselves very unlikely to say “Oh sh*t” when we release a new version. If your potential employer thinks it would not be worthy to spend time writing tests, then it might be a sign for overtime teeth- grinning and hair pulling. Be aware!

  • Do you measure your developers’ happiness index and act on that?

    Developers, at their core, are still human. They love to write code and fix problem, and that will largely make them happy, but they are still affected by the companies policies, decisions and changes. However, in many companies, especially in non-software-focused ones, developers are usually treated as second-class citizens and they are largely ignored in such decisions. Trust me, you won’t want to work in such companies. You want yourself to be respected and your voice to be listened.

If the interviewer is surprised which such concept, it might be a sign that they don’t really care about developers’ opinions. Be aware!

 

3 thoughts on “Joel test scores are (somewhat) outdated – you should ask something else

Leave a Reply

Your email address will not be published. Required fields are marked *