Another book from the Joel reading list. Subtitled Guerilla Tactics for an Imperfect World, this is a book by a career programmer on how to survive in the corporate world. Having spent eight years as a software developer in a variety of corporate environments, I was curious to see how much these tactics would have helped me in past skirmishes I had participated in. The answer? Not much at all.
Even though it purports to give you tactics for surviving in the real world, I found very little that would have helped me in the various real world conflicts that I’ve been part of. For instance, he assumed that every programming house uses the waterfall development model (specify, design, implement, test), and pitches a lot of his advice on how to cut corners within that model to make deadlines. Since I’ve never worked at a place that used that philosophy, I found that to be a big weakness of the book.
I also found some of his advice to be laughably optimistic. He suggests telling the boss that you need a few days to come up with a good estimate of how long the project will actually take, or that there will need to be as much time on the schedule for testing as there is for implementation. Having tried both of these requests in the past and having zero success with either, I kind of wonder what companies he worked at that made him think a programmer would have the leverage to receive positive results for such requests.
If he had been writing a book on what the ideal software development world, I might have forgiven such lapses. But I found it far too idealistic for a book that claims to be about the real world. Big thumbs down.