[Note: Another post written from the comfort and safety of a big piece of metal that was launched into the sky using forces unknown to me, and to which I will summarily refer as "magic." I did not post this while in the air, so get off my ass, FAA.]
Well, I'm back at 37,000 feet, and scared witless as usual. I'm not flying Song today, so I don't have the pleasant distraction of an airline with a sense of humor to keep me from thinking about the fact that, as far as I'm concerned, the only thing keeping this big metal tube in the air is the result of an engineer scratching his head while alone in his office at some odd hour of the morning, wanting to get home to see his family, putting the final touches on the craft design, clocking out, and then saying to himself, "I think it'll work. Anyway, I want breakfast."
Things are going just fine, though, thank somebody. I don't believe in any particular god, so I guess I might as well thank Boeing.
Thanks, Boeing.
The nice thing, though, about getting stuck with nothing but 444,000 inches between you and your maker (again, Boeing) is that there's plenty of time to engage in activities which would be relaxing if it weren't, just to remind you, for the 123 American football fields of distance that lead back to the ground.
In spite of these fears, though, I managed to accomplish something today. I say "managed to accomplish," but what I did wasn't difficult at all. It required less effort than taking the trash out, and was more entertaining than a Gary Coleman televisual marathon on cable.
It was also thought provoking. Big time.
I finished reading 'Coding Slave' by Bob Reselman.
I'll start the formal bit of this review by stating that, if you are a software developer in the traditional sense (that is, you relate to Dilbert more than you relate to your friends, family, and dog), then you need to read this book. There. That's out of the way.
I first encountered the one called Bob Reselman during a .NET Rocks interview. Many of you know this, and it's nearly a waste of time to say it. The show was extremely popular, and I'm still getting email/comments/other from people who want to express their opinions about the show. Bob definitely pushed some of your buttons. There are those among you whose buttons were pushed pleasantly, and those among you whose buttons might have been pushed one too many times, a little too tough, and with no great satisfaction.
Either way is fine. At this point, awareness of Bob, whether you like his ideas or not, is what is important (note that, although I'm providing the "counter" viewpoint in an attempt to represent everybody, the majority of commentary on the show has been, not just good, but fantastic - I think a mini Cult of Bob has sprung up (and you can count me in)).
I'm not going to spoil the book for you, so I can only go into so much detail about why it's important to have your radar occasionally pinging Bob. Let's just say that he has made some difficult observations, and offered at least one person's ideas on how to deal with the problems raised by the observations.
Bob sees some trouble. Bob isn't the only one. Many of us see trouble. Bob just said it all very well. That's all.
The first half of the book is mainly spent setting the scene. Bob establishes the world of mainstream software development as it stands today, and then uses the second half of the book to address that world. Reading through the first half without stopping to exclaim, "Yes! Exactly! That's what's happened to me" is tough, and I'm not talking about the sex.
Oh, yeah. There's sex. There's a decent amount, actually, but it's there for a reason. Some of the less, well, adventurous of you might find the sex offensive, but that's only if you take it at face value. If you stop to ask yourself why Bob included it, then you'll start getting some interesting answers. Some wake-up calls, as a matter of fact. If you're lucky, you might even get assaulted by your own brain taking off on its own set of tangents, each one proposing an interesting answer to the question of "Why so much sex?" My own personal answers have elevated Bob in my mind from the status of "Cool guy I met on the show" to "Bob is a subtle mother!#@$er, and I want to have his children, but not really that last part."
Quite a bit of the book is like this, actually. You might read over a passage and, at first, conclude that it wasn't a necessary addition. But, that's Bob playing with your head. He knows his audience. He knows that he's targeting software developers, and he's managed to create situations that are not at first obviously connected to the industry, but which, provided you expend the neuronal effort to comprehend them, get you asking some very interesting questions about your life, your passions, and your profession. If you approach this book the same way you approach a software problem, then you'll walk away with a solution. It's fascinating like that. It leaves room for you to ask "Why?" which is what many of us do (or should do) at our jobs every day.
The book is also controversial. You're probably reading about all the question asking that's going to go on in your head while reading it, and you might be wondering how Bob handles it. To put it bluntly, Bob doesn't leave much in the way of loose ends. Just as happens with software projects, you might not agree with Bob's conclusions, but that opens the door for you to one-up him, and I'm guessing that this is exactly what Bob wants.
Bloggers often write about The Conversation that happens across the blogosphere. With 'Coding Slave', Bob has just started one hell of a conversation. It's philosophy for coders. It's something you'll want to discuss, not at the water cooler, but with your coding friends in your spare time in a comfortable environment.
For those of you who have felt powerless in recent years as you've heard rumors and seen the results of offshoring, Bob is providing the first few words in a discussion about how to take that power back. He's asking us to stop working 80 hours a week for a few minutes, read the book, and think about all the horribly messed up idiocy that takes place in our profession, and which we can't solve or address because we never stop working 80 hours a week to read books like Bob's.
Not that there are other books like Bob's. I mean, there very well could be, but they aren't on my radar. Right now, Bob is all I've got, and that will suffice for the moment.
Like many coders, I spend a lot of time reading purely technical books. They're great, and I need them so that I can do the work that's required of me, but they don't provide perspective. They don't make me think about the profession - just the tools to get the job done. After all of this, it was nice to finally read a book about software developers rather than software projects. It was nice to get away from the "Here's what to do, and here's how you're going to do it" that comes with technical books. It was nice to finally be asked, "What do you want?" and "Why in the hell aren't you out fighting for it right now?"
You owe it to yourself to get away from the curly braces, the End Ifs, and other bits of your purely coding life long enough to read 'Coding Slave'. I feel that one reason our industry is in such hot water is that we're such a bunch of weenies who never assert themselves. Bob talks a bit about how to fix this. He actually offers a couple of ideas. One of them is great food for thought, while the other... Well, I'll let you draw your own conclusions about the second, less discussed idea. It's certainly entertaining, and that's for damn sure.
Another great thing about the main solution proposed in the book is that it would help facilitate weeding the posers out of our profession and giving them a boot to the backside. If we implement Bob's ideas, we can kick these HTML blundering bastards back to HR, or wherever it is that they're from. Diary Queen. I don't know.
Take or leave his ideas, you should at least expose yourself to them. There's much, much more to coding than just typing one line after another in the hopes that you don't get fired.
The book's cheap ($12.95), and it's a one of a kind. Things like this really don't come along every day, and I think it'd be cool if we all did our bit to support people like Bob. I wouldn't have said it before, but our profession needs some philosophers. Seriously. It almost sounds laughable if you're a typical tech type ("We don't need no stinking philosophers!"), but if you'd like to be convinced otherwise, then read 'Coding Slave'. Really.
And it doesn't matter if you're a .NET/Java/American/Eskimo/DBA type. This book applies to you.
The book isn't perfect, of course. There were places that I thought the dialogue could have been better, but it doesn't take away from the book in any meaningful way. I'm just nitpicky.
All said and done, this book gets all of my thumbs, directed in as upwardly a direction as possible. Highly recommended.
Check out the web site here. Ordering page is here.
P.S.
If you've also read 'Coding Slave' and plan on reviewing it on your site, then let me know and I'll link to you.