Categories
programming programming-life

The Joel Test is 25

On Saturday, the Joel Test turned 25 years old. This is a 12-question checklist to assess the quality of a software team. Many of its points are now universal, but it got me thinking about what might be on a modern Joel test.

The test was written by Joel Spolsky, then of Fog Creek Software, but better known now for Stack Overflow. According to Spolsky, 10-or-less out of 12 suggested serious problems. The Joel Test provided me with a useful set of questions to ask potential employers and helped me avoid some dodgy companies.

Some of the items on the test show how far programming has come in the last quarter century. Back then, not every team used source control, regular builds, or bug databases. A few other things are still not as common as they should be – not every company asks developers to write code during an interview.

What would I put on a modern Joel test? I would add active monitoring of production; early and regular review of software by product owners; documented onboarding processes for new hires.

Even though we’re in the early days of learning about GenAI, I think it’s already essential for teams and companies to provide training and hands-on experience with the new tools. Whether these produce a 10% or a 10x increase in developer output, they will become essential.

What other things are essential for a successful software development team?

Categories
programming-life

An old Java grimoire

I spent the last week at a rural retreat, having some much needed downtime. There’s a library here, which is mostly horror novels, along with some technical books, including Wrox’s 1999 book, Java Server Programming.

At over 1100 pages it’s a huge tome, and I miss being able to learn programming from these sorts of texts. This was the second book I read on Java after Laura Lemays Learn Java in 21 Days and it contained everything you needed to know in 1999 to become a Java backend developer – along with a lot of other arcana such as Jini and Javaspaces.

I learned enough from this book to pass an interview for a London web agency. I remember being asked what happened when a browser makes an HTTP call to a server. That’s a brilliant question, which allows a candidate to go into detail about the bits they know, although the answers will be much more complicated nowadays. I started working at the agency in 2000 just as the Internet was getting going. It was a very exciting time.

My own copy of Professional Java Server Programming was abandoned long ago – living in shared houses over the years meant limited space to keep books. But finding it here was like encountering an old friend.