Scott on Writing

Musings on technical writing...

Review: The Joel On Software Book

I recently completed the thoroughly enjoyable and lengthily-named book Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity, a collection of writings from popular blogger, ex-Microsoftee, and entrepenuer Joel Spolsky.  If you're familiar with his blog, Joel On Software, then you know that Joel posses a unique mix of technological know-how, business smarts, and an entertaining writing style.

Joel's book is a collection of his best blog entries, magazine articles, introductions he's authored for other books, and other such writings.  Yes, most of the stuff in this book can be found online, but the printed page makes the material easier to read through; furthermore, the assorted writings are arranged according to topic (as opposed to chronologically), providing a nice segue between essays.  Each of the 45 entries are fairly short, ranging from one printed page to a half dozen or so.

The book is arranged into four parts:

  1. Bits and Bytes: The Practice of Programming - this section was one of the most interesting for me, as a developer working in a company of one.  This section has two really great essays:
    • Back to Basics - how wise is it to learn computer science (or any science) other than from the ground up?  Yet many computer science programs in universities today take that exact approach, starting new students with a high-level programming language like Java.  In this essay, Joel examines string semantics and shows how an ill-footed foundation can lead to a myriad of problems.  (Joel is, by trade, a program manager, but he has clearly had a solid education in computer science and is able to communicate his ideas and some of the cornerstones of the discipline in crystal-clear prose.)
    • The Joel Test: 12 Steps to Better Code - Joel outlines 12 steps to check to see if your software team is creating quality code or not (of which I blogged about one - keeping a bug database - a few days prior).  This particular essay doesn't delve into too great of detail for each of the 12 checkpoints, but many of the accompanying essays in this first section provide a deeper look at Joel's rational.
  2. Managing Developers - the essays in this section are great for those who manage a team of software developers.  There are musings on interview techniques and reasons why incentives are counterproductive.  The real highlight of this section, though, is found in the last handful of essays, which examines the Law of Leaky Abstractions.  (Since I work for myself on a team of one, many of these essays didn't provide direct benefit to me, but what I found interesting was comparing the situations and scenarios presented by Joel and comparing them to past employers or my wife's current company.)
  3. Random Thoughts On Not-So-Random Topics - the highlight of this section was, hands down, the three essays titled Strategy Letter.  (Here's a listing of these letters, including two additional ones, on Joel's blog; the book includes Letters I, II, and III.)  Essentially, these letters provide high-level business advice.  Strategy Letter I compares two polar growth strategies - Ben & Jerry's and Amazon.com's - discussing when growth is more important than money/profit/employee moral, and when the opposite is true. 

    The second Strategy Letter examines a common marketing problem in technology: the Chicken and the Egg problem.  Whenever a new platform is released - be it a computer operating system, a game console system, a new technology for storing/reading digital media, or something else along these lines - no one wants to buy the platform unless there is software support, but no software vendor is interested in developing for the system until there's a large enough consumer base.  In this essay Joel examines this classic problem and looks at how Microsoft did it right with Windows, but messed up with their attempt at online bill paying.

    Strategy Letter III discusses the challenges of entering a marketplace as the new guy when there's already an entrenched competitor.  Joel worked at Microsoft during the early 90s when Excel was facing an uphill battle against Lotus 1-2-3, which had the vast marketshare of spreadsheet programs.  Joel's advise is to determine what barriers are preventing customers from using your product over your competitors, and working 110% to eliminate these barriers.
  4.  A Little Bit Too Much Commentary on .NET - this was the weakest section of all.  While it is titled, “A little bit too much commentary...“ I found it to be very little indeed.  There are only three essays in this section, one which barely spans a page.  Plus the first one is a tad outdated, as it was written in the summer of 2000, shortly after Microsoft came out with the Beta 1 of .NET, and focuses more on Microsoft's marketing spliel about .NET, rather than the technology itself.  One area Joel did touch on in this section, though, was the power of ASP.NET, and how it's leaps and bounds better than classic ASP.

I found Joel's book to be one of the best reads I've had in a while.  While the book comes in around 340 pages, I blew through it in under a week, reading a handful of essays while on the treadmill.  (This book was a really great way to make exercise time go by a lot faster!)  One concern I had when buying this book was that virtually 100% of it's content is available already from Joel's website.  I thought I might kick myself later for buying the book seeing as I could just read it all online.  In the end, though, the printed page worked out very well.  Along with the fact that the book form allowed me to read it while exercising, I found the essays easier and quicker to read on paper than on the screen.  Furthermore, the essays were arranged well.  Additionally, there were a number of essays that are not available on Joel's site (magazine articles, introductions to books, etc.).

My main complaint against this book, though, is that the content is, pretty much, straight from Joel's site.  Nothing wrong with that, as there are some great pieces on Joel's site, but I think Joel missed out on an opportunity to go back and update some of his past essays.  One or two entries in the book seemed to have an added Postscript, but it would have been nice had he added additional content for the majority of the entries.  I often found myself a little let down when a particularly good essay ended - I wish he had added more meat to these top-notch pieces for the book.  Also, some of the entries date back to 2000, which make the essays that focus on a particular technology seem a triffle dated.

Despite these two complaints, though, I heartily recommend this book software developers, designers, and managers, and to those who, whether by good fortune or ill luck, work with them in some capacity!

posted on Monday, February 07, 2005 2:54 PM

Feedback

# re: Review: The Joel On Software Book 8/3/2005 3:38 AM Stuart

I stumbled upon your website looking for a review of Joel's book.

Thanks for the review. I will be buying a copy this week.

Cheers,
Stuart.

# September's Toolbox Column in MSDN Magazine 8/13/2006 1:34 PM Scott on Writing

# September's Toolbox Column in MSDN Magazine 8/13/2006 1:47 PM Community Blogs

My ninth Toolbox column in the September 2006 issue of MSDN Magazine is now avaiable online. The September

Title:  
Name:  
Url:
Protected by Clearscreen.SharpHIPEnter the code you see:
Comments   

Add To Your Reader

My Links

Archives

Post Categories

 

I am a Microsoft MVP for ASP.NET.
I am an ASPInsider.
<May 2008>
SMTWTFS
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

Comment Stats

DayTotal% of Total
Sunday 1866.8%
Monday 37913.9%
Tuesday 45316.7%
Wednesday 50418.5%
Thursday 53519.7%
Friday 49418.2%
Saturday 1666.1%
Total 2717100.0%

Hour1Total% of Total
12:00 AM 652.4%
1:00 AM 682.5%
2:00 AM 622.3%
3:00 AM 742.7%
4:00 AM 572.1%
5:00 AM 1033.8%
6:00 AM 1084.0%
7:00 AM 1585.8%
8:00 AM 1716.3%
9:00 AM 1475.4%
10:00 AM 1716.3%
11:00 AM 1816.7%
12:00 PM 1886.9%
1:00 PM 1696.2%
2:00 PM 1605.9%
3:00 PM 1324.9%
4:00 PM 1073.9%
5:00 PM 923.4%
6:00 PM 913.3%
7:00 PM 963.5%
8:00 PM 833.1%
9:00 PM 782.9%
10:00 PM 792.9%
11:00 PM 772.8%
Total 2717100.0%

Comments by Blog Entry Date/Time

Day Entry MadeAvg.Total
Sunday 5.54144
Monday 5.22339
Tuesday 4.28419
Wednesday 7.67637
Thursday 6.90607
Friday 5.48411
Saturday 5.33160
Total 5.842717

Hour1 Entry MadeAvg.Total
12:00 AM 5.0035
1:00 AM 1.002
5:00 AM 0.000
7:00 AM 7.0035
8:00 AM 5.35107
9:00 AM 6.32278
10:00 AM 6.47246
11:00 AM 4.41181
12:00 PM 6.88330
1:00 PM 3.00111
2:00 PM 5.41222
3:00 PM 8.64285
4:00 PM 4.0589
5:00 PM 5.92154
6:00 PM 4.52113
7:00 PM 9.67174
8:00 PM 9.80147
9:00 PM 5.05111
10:00 PM 5.4265
11:00 PM 4.5732
Total 5.842717

Learn More About Comment Stats
1 - All times GMT -8...


Blog Stats

Favorite Web Sites

My Books

My MSDN Articles