Thought Provoking
Joel on Software is a collection of 45 articles from Joel Spolsky's Web Column. Yes, that means you could read these articles online for free, but if you're like me you'll appreciate having the best of the collection gathered and arranged in one easy-to-read-anywhere source. So what are all these articles about? Opinions. Joel is one of those guys that has an opinion on everything and sometimes he's even right. (Sorry Joel, couldn't resist.) Just how right and how wrong will vary for each reader I'm sure, but in truth it doesn't matter. Joel's observations, rants, strategies, and opinions are always intelligently presented. That means he'll make you think, especially when you disagree. Joel's articles are organized into three major sections and two minor ones. The first big section 'Bits and Bytes: The Practice of Programming' is a collection of Joel's thoughts on the art and science of programming. This section largely branches out from one of the early articles, 'The Joel Test: 12 Steps to Better Code'. As it sounds, this is Joel's 12 Step Program refined from years of programming in the trenches. I agreed with him on many points, and only strongly disagreed on one point. He convinced me to at least try a few practices that I hadn't given enough consideration to in the past and that's never an easy sell with me. The next section, 'Managing Developers', centers largely around, well, managing developers. Joel has plenty of experience here. He held manager positions on the Microsoft Excel team as version 5.0 was developed, he was in charge of developers at Juno for years, and he now runs Fog Creek Software. I'm not a manager and never have been, so I honestly didn't expect to get much out of this section. In truth, it was probably my favorite. I learned scary facts about interviewing and the interviewing process, the effectiveness of multitasking (for humans, not processors), and just how the people calling the shots think. He makes a sensational case in here about why you should NEVER rewrite a code base from scratch. I just knew he was wrong about that before I read this book. I'm still struggling to find the faults in his logic, but he certainly put a few cracks in my armor here... The last major section, 'Being Joel: Random Thoughts on Not-So-Random Topics' is really an insightful section on business strategy, as it applies to software operations. There is a classic contrasting of Ben & Jerry's verses Amazon style growth, a definition of what exactly bloatware is, a great look at the economics of open source software, and detailed look at some changes Microsoft is going through. Finally, there is a small section on .NET, which surprised me by being interesting to my non-Microsoft self, and a short Q and A with Joel appendix. In all this, Joel basically develops his version of Sun Tzu's The Art of War for programmers. There are great tactics and strategies to be learned here for any level of programmer. You might have to suffer through a little praise for Microsoft and listen to some painful truths about Unix, but Joel is a fair-minded author who will also tell you what Unix does right and where Microsoft makes mistakes. Ride the waves when he stirs things up and learn what you can. Just don't tell Slashdotters what you're reading.
Was this review helpful? Yes NoThank you for your feedback.
Report this reviewThank you, this review has been flagged.