Cube Farm
The book chronicles Blunden's travails as a fresh Cornell grad finding out his degree is useless. After waiting tables, he discovers Java is hot, and gets a job in the incredibly dysfunctional R&D department of Lawson Software, one of those companies that makes horribly dull but necessary business software. Young Blunden is shunted from one doomed project to the next as internal divisions compete with each other (and internally) for territory. The code base is millions of lines of ancient K&R C with all the comments stripped out (!) for speed of compilation. Only a few people understand the entire system to any degree, and these Illuminati crush any attempt to create or disseminate any documentation since that would erode their power base. Any projects that might threaten their monopoly are dispatched by the simple expedient of not responding to any emails or phone calls or attending meetings.
Cube Farm is written in a conversational, semi-edgy style that I found very easy to read, though occasionally annoying when it gets too hip. The subject is technical, but the theme is purely human foible, and Blunden makes an effort to make things understandable even by the non-geeky. So you don't have to be a nerd to understand the book - it would sure help you appreciate it, though.
Important characters are assigned descriptive names such as the Puppet Master, the Godfather, the Wax Master, Mike and Ike, and the Mad Hungarian. This may sound a bit cheap, but works well and makes it easy to keep track of the defectis personae. Everything is well partitioned, and Dance of Death woodcuts enliven the pages.
The obvious question, Why you would read something so horribly depressing? There are only negative lessons to be learned here. Well, in many ways Cube Farm is the informal, nasty version of what you'd get by reading books like Death March (Yourdon, 2003 2nd ed), Herding Cats (Rainwater, 2002), and Software Runaways (Glass, 1997). You can learn a lot from a bad example, like what it means if they won't say Yes or No. Perhaps it'll make you feel better about your own company, which is probably not quite this screwed up. Or there's always good ol' schadenfreude.
Would you give this book to an eager young programmer? Either it would be a bit like taking a sledgehammer to a kitten, or (more likely) it would just all cascade off, unheeded -- "obviously, this could never happen to me." For everyone else, if you've had at least one job or failed project under your belt you might find this horrifically fascinating, similar to watching Repligator. It might help with your next (knock on wood) fine project. Finally, it's a quick read, so I felt my time was well (or at least enjoyably) spent.
You can purchase Cube Farm from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, carefully read the book review guidelines, then visit the submission page.
Thanks. Your kind words have been very comforting.
Let's look at some real-world evidence/examples that helped shape my view:
1. My IQ is in the high 99th percentile. This alone means nothing. It just sets the stage.
2. One of my professors taught us C++ - his background included a "Learn C++ in 21 Days" style book.
3. The same professor taught us Artificial Intelligence in two parts: "What is a Turing Test?" and "Hello World Programs in Scheme."
4. Only one professor (for a computer-related class) knew what he was doing. By the end of the semester, he had gone off the deep end because there were only three of us (out of thirty) that cared about learning the subject.
5. One of my clients insists that we do validation checks on the Name field in their registration form. That's right - he wants me to verify that it's a real person's name before we submit it. Not only is it a global site (so names might not be recognizable to me) but there's no way for us to verify any of the information anyway.
6. My boss went to a crappy school for a major she doesn't use. In my performance review, she argued that she had to work for twelve years (in a completely unrelated field and position) before getting my level of salary. I'm still below market average.
7. I watch my bosses get conned and manipulated by clients, vendors, and even each other... when I point these things out, they tell me to live with it.
My basis of comparison is a bunch of incompetent idiots. I look at schools like MIT and wish that I could have had that kind of environment. I look at employers like Pixar and Google and try to think of what I could do for them. I look at my future and, several months ago, decided to start forming my own company and stop worrying about sucking up to people who simply don't get it and don't care.
p.s. You might need to learn how to cook, you'll be amazed how much money is spent on those daily trips to McDonalds or the pizza place
This has got to be one of the oldest "holier than thou" lines of B***S*** I have ever read.
Anyone who learns how to cook, properly, will easily spend twice as much cooking for themselves as they spent at McDs. If you want to really save money by buying groceries then don't learn to cook. Convert to a diet consisting entirely of prepackaged frozen food (tv dinners, pizza), soup, and oatmeal.
I've learned how to cook and it definitely doesn't save money.
+++ATHZ 99:5:80