There’s a small number of blogs which I read religiously, and Joel Spolsky’s Joel on Software is right at the top of that list. I certainly don’t always agree with what he writes, but even when I don’t he always makes me think, and I like being made to think. His latest article, containing a spirited defense of Hungarian notation and an attack on the use of exceptions for error handling, certainly falls in the “makes me think” category.
Some of my personal favorites among his previous articles:
The Joel Test — CMMi-3 it ain’t, but for a lot of software development teams in smaller organizations, following these twelve simple rules would be a good first step towards a more structured and more effective development process. Or at least the first ten — I have my doubts about the last two, actually, but as I said: the point is to make you think, not to blindly follow the rules.
Big Macs versus The Naked Chef — procedures are good, but they can never be a substitute for personal competence.
The law of Leaky Abstractions.
The top 5 (wrong) reasons why you don’t have testers.
Painless software schedules — please skip this one if you are responsible for a 60-people team building an operating system, but if your project scheduling methodology currently consists of “make a wild guess, and find out three months later that it was wrong”, you could do worse than give the simple method described in this article a swing.
In fact, why don’t you just go to the complete archive and start at the top.