This is a collection of 29 essays about software development, selected and introduced by Joel Spolsky (of Joel on Software fame).
I've been a regular reader of Joel's site for many years, and many of the themes Joel has been writing about (social software, outsourcing, the dangers of measuring the performance of individuals using simple bug metrics, and sales and marketing of software) are reflected in the included essays.
Many of the authors have already published books of their own (Bruce Eckel, Paul Graham, Mary Poppendieck and Ron Jeffries come to mind), but regardless of whether they've been published before or not, the writing is consistently good. This isn't surprising, since according to the back cover, the goal of the book is to show-case good writing, and since Joel himself is a very good writer.
I had read a few of the essays before the book was published (and in the case of "Great Hackers" by Paul Graham, I had actually listen to it, thanks to ITConversations), but most of them were new to me. They cover a lot of different angles on software development, from how to format your code, to forced overtime.
The best essays in my opinion are "The Pitfalls of Outsourcing Programmers" (a short but well argued piece on why outsourcing many times isn't such a good idea), "Strong Typing vs. Strong Testing" (on the benefits of automatic unit tests) and "Style is Substance" (why not standardizing on one coding style - why not indeed).
Actually, as I look through the contents to pick which essays I liked the most, it is hard to choose. Many of them are really good. I have to pick a few more: "Measuring Testers by Test Metrics Doesn't" (with a great example of exactly how this can create a lot of extra work without adding any value), and the cleverly named "How Many Microsoft Employees Does It Take to Change a Lightbulb?" (explaining how a seemingly small change ripples through a big company).
Also, honorable mentions to Clay Shirky's two entries about social software (I had read both before, but they are very insightful and worth re-reading) and to Eric Sink's about software sales and marketing.
The least interesting for me were "Processing Processing" (musings on the nature of the web) and "Passion" (about passion for programming, which is a good subject, but this essay just didn't work for me).
There are also a couple of entries in the "Humor" category. The second essay is a hilarious send-up of the crappy Windows search, and the last essay made me laugh aloud several times. It's a quick tour of Ruby (the programming language), but with lots of stream-of-consciousness side tracks. And cartoon foxes! Not to be missed.
Joel's introductions are generally good and add to the experience. There is also a liberal sprinkling of footnotes, where Joel explains certain names and terms. Mostly this is OK, but it goes over-board sometimes. Given that this presumably is a book the will mostly be read by software developers, do we really need explanations of API-call, iTunes or Skype?
I suspect this collection will be followed by a "The Best Software Writing II", and I'm looking forward to reading that one too. By the way, since all the essays were culled from the web, you can probably find all of them just by surfing. But for me, it was worth it to have them all collected in book-form.
To summarize, a varied collection of interesting and well written essays on software development. Recommended.