The Working Code Test
In today's episode of the Working Code Podcast, I discuss the infamous Joel Test for grading a software team with my cohost Ben Nadel.
We dug deep on what's the same – sometimes astonishingly so! – 22 years later, and what should be reconsidered or revised. We acknowledged that at the time Joel was probably primarily focused on producing a product that was a binary executable that could be put onto a CD-ROM and sold on a store shelf; and that the SaaS space has exploded (in a good way) since then. So we evaluated the list through the lens of a web-development, SaaS product engineer.
It was the year 2000 when he wrote the original. Just months after I graduated from high school. So it is with tremendous respect and appreciation for the work of those that came before me that I try to do it justice by giving it the glow-up it deserves.
While we covered the items in order, it may have been a little difficult to follow, so here then is our revised list:
- Do you use source control?
- Can you deploy to production in a single step?
- Do you use continuous integration?
- Do you have a bug database?
- Do you fix bugs before writing new code? (where appropriate)
- Do you have a roadmap?
- Do programmers have quiet working conditions?
- Do you use the best tools money can buy?
- Do you require extensive automated tests for critical path and mission critical features?
- Do new candidates write code during their interview?
- Do you do hallway usability testing?
- Is the existing team diverse and does it value the benefits of diversity?
- Are engineers given the freedom to participate in ideation and the freedom to figure out the best solution, rather than implementing a rigid specification?
- Do you include accessibility concerns in testing and code reviews?
- Do engineers get face-to-face contact with customers and the support team?
- Do you automate almost everything that can be automated?
- Do you send your people to training and conferences?
- Do you set career growth goals for your people?