BOOK: Joel on Software
Joel is good a pissing people off! Weenie armchair quarterbacks and other fanatics that are easily infuriated probably won't like this book, or Joel's other writings.
A first glance at this book might give you the impression that Joel Spolsky is another bloging cynic with more opinion then experience. But don't be fooled. Joel is a very smart guy and this book is a great read. You probably won't agree with everything he says, I don't, but this book really makes you think.
An old coach of mine (Tony Blauer) told the "Good information doesn't displace OTHER good information."
Considering opinions that are the same as our own is far less valuable than opinions that differ from our own. Joel's book is full of opinions that have "growth opportunity.
Really good writers make you think. According to the chief blogger on my team at Microsoft (Rory Blyth) a great blogger is at least a but controversial, they not only make you think, they make you want to respond. Joel is on my short list of bloggers in aggregator.
The book is basically a collection of Joel's writing originally published on his blog at www.JoelOnSoftware.com, though this is not his first book. As near as I can tell the writings span a time frame from 2000 to 2004.
Joel is an interesting guy, the kind of guy you'd love to debate. He was an Israeli paratrooper went to Yale, worked at Microsoft for a few years then Juno, and now owns Fog Creek Software in New York.
To begin with, the book is a FUN. Joel's casual writing style is almost conversational and makes for a read that's more like listening to a story than reading a manual. I read it cover to cover in two days.
One of the things that I, as a Microsoft employee, love about the book is that Joel published his thoughts at "points in time" and his opinions evolve over time. It's important to remember this as you read the book. His opinions as a former Microsoft employee are also interesting. Some of them I see as dead on. Others tainted by the years between now and when Joel worked at Microsoft and distance between Microsoft's strategy then and now, and, of course, Joel's morphed perspective as the owner of a growing Software Vender. None the less, this is the kind of guy you'd wanna have dinner with. (Joel, can I buy you dinner next time I'm in New York ?)
Above all Joel's perspective on software development is, pragmatic and honest and his style of communication is direct, even blunt (which I love.)
The book is divided into five parts.
1. The practice of programming.
2. Managing Developers
3. Random thoughts on Not-So-Random Topics
4. Microsoft's .NET
5. The Best of Ask Joel
Part one on the practice of programming is full of hard nosed, pragmatic guides for developing great software including Joel's somewhat famous "12 Step Test", the importance of writing specs (and HOW to), scheduling software projects, why you MUST daily build, "Hard-Assed bug fixin', the Five Worlds of Software Development, Paper Prototyping, "Architecture Astronauts" (WICH I LOVED) , Fire & Motion, Wrong Ideal from Computer Science, Biculturalism, and Crash Reports (brilliant!).
Part two can basically be viewed as a forensic guide to (organizationally) why software development projects often fail and how to manage software development so that it doesn't fail. He bucks conventional management theory in explaining that most "incentive programs" in software development are counter-productive, that the industry fails to appropriately hire and keep software testers, developers NEED workspaces with walls and doors, and "Things you should never do" including some really interesting theory on "leaky abstractions".
Part three is all "Joelisms" !
I'm not going to describe this section too much - you really need to read it for yourself, but here are some of the chapter subjects.
" Rick Chapman's In search of Stupidity.
" What is the work of Dogs in the country?
" Getting things done when you're only a grunt. (MANDATORY READING !)
" Big Macs vs. The Naked Chef.
" Nothing is as simple as it seems.
" Defending "Not Invented Here" Syndrome.
" Ben & Jerry's versus Amazon.com
" Chicken and Egg Problems
" Bloatware & the 80/20 myth.
" The Economics of Open Source
" Murphy's Law gone wild.
" How Microsoft lost the API War.
Part four is Joel's reactions, over time, to .NET Tools and Technologies.
Part five is the Best of Ask Joel, selections from his forums.
In summary. GREAT BOOK, whether you agree with Joel's opinions or not. As easy as this book is to read, everyone that works in some part of Software Development or IT should read it.
I hope Joel writes another opinion based book. There are lots of folks writing books that help you learn, far fewer folks are writing books that make you THINK.
Lastly, the thing I liked the very most about this book is that it's reminded me how much I want to write MY OWN book.