Wednesday, February 14, 2007

Review of "The Best Software Writing I: Selected and Introduced by Joel Spolsky"


Review of "The Best Software Writing I: Selected and Introduced by Joel Spolsky"
Last summer I had the pleasure of reading Joel Spolskys collection of great software writings found on the Internet. Joel Spolsky is the author of a very interestring blog covering many aspects ranging from code issues to management issues. A key word on Spolsky blog is good writing, thus this book.
The book I have is the first edition published back in June 2005, it has 328 pages and costs only $15,74 on amazon.com (now, that IS cheap!).

Why does articles covering software development written by developers for developers have to be boring, tedious and subsequently drown in unneccessary details? If you want to read an article about a new technology, method or similar it wouldn't hurt if the article wasn't dead boring. This is more or less covers the main motive of Joel Spolsky for generating the "Best Software Writing I" book. In his book Spolsky points out what he believes were the best 30 software development articles created in 2004-2005. The main source of the articles is the Internet, i.e. blogs, webpages or discussion boards. Selecting these articles has been done with great care and with an emphasis on the writing style rather than the actual content (to put it out loud).

In the introduction Joel Spolsky writes:
“The software development world desperately needs better writing. If I have to read another 2000 page book about some class library written by 16 separate people in broken ESL, I’m going to flip out. If I see another hardback book about object oriented models written with dense faux-academic pretentiousness, I’m not going to shelve it any more in the Fog Creek library: it’s going right in the recycle bin. If I have to read another spirited attack on Microsoft’s buggy code by an enthusiastic nine year old Trekkie on Slashdot, I might just poke my eyes out with a sharpened pencil. Stop it, stop it, stop it!”

Having this book as a reference guide on how to write interesting new articles on software development is key to new writers. Using this book (one can hope) that over time the quality of new articles published e.g. on Internet will rise. New writers will find their favorite Internet-celebrity in this book and may follow his example and be inspired by the writing styles applied. Among these Internet-celebrities we find Raymond Chen (Microsoft guru and developer), Ken Arnold (SUN Java developer), Adam Bosworth (Google guru) etc. whom all are known to have very good and interesting blogs on Internet. In addition to the Internet-celebrities the book also contains a range of articles written by either anonymous authors or simply unfamous authors.

My personal evaluation of the book is that it was very a very good read. Given the nature of the book, it contains articles of varying quality, however the quality of the good articles clearly over shaddow the (few) poor articles in the book. My personal favorites are from Raymond Chen, Eric Sink and Paul Graham. Their articles covers interesting subjects and the authors are very good at writing in a non-borring style.

Below is a list of articles from the book (more or less the table of contents) -- if you don't feel like buying the book a simple Google-search might find them for you:

Ken Arnold - Style Is Substance

Leon Bambrick - Award for the Silliest User Interface: Windows Search

Michael Bean - The Pitfalls of Outsourcing Programmers

Rory Blyth - Excel as a Database

Adam Bosworth - ICSOC04 Talk

danah boyd - Autistic Social Software

Raymond Chen - Why Not Just Block the Apps That Rely on Undocumented Behavior?

Kevin Cheng and Tom Chi - Kicking the Llama

Cory Doctorow - Save Canada's Internet from WIPO

ea_spouse - EA: The Human Story

Bruce Eckel - Strong Typing vs. Strong Testing

Paul Ford - Processing Processing

Paul Graham - Great Hackers

John Gruber - The Location Field is the New Command Line

Gregor Hohpe - Starbucks Does Not Use Two-Phase Commit

Ron Jeffries - Passion

Eric Johnson - C++ -- The Forgotten Trojan Horse

Eric Lippert - How Many Microsoft Employees Does it Take to Change a Lightbulb?

Michael "Rands" Lopp - What to do when you're screwed

Larry Osterman - Larry's Rules of Software Engineering #2: Measuring Testers by Test Metrics Doesn't

Mary Poppendieck - Team Compensation

Rick Schaut - Mac Word 6.0

Clay Shirky - A Group is its Own Worst Enemy

Clay Shirky - Group as User: Flaming and the Design of Social Software

Eric Sink - Closing the Gap

Eric Sink - Hazards of Hiring

Aaron Swartz - PowerPoint Remix

why the lucky stiff - A Quick (and Hopefully Painless) Ride Through Ruby (with Cartoon Foxes)

No comments: