masters of doom
I read Jeff Atwood's post about David Kushner's "Masters of Doom". Immediately after finishing the article I got my hands on this book and read it before and after work over the course of five days. I was not disappointed.
The book tells us the story behind John Carmack and John Romero, along with everything they created or destroyed (including numerous keyboards) over a period of twenty years. It writes in detail about how those two guys, helped by a handful of other characters (uhm, real people), went on to create some of the most ground breaking video games in history.
We are served a fairly detailed story of the two Johns, beginning from their early childhoods and up to the times when this book was written. Each chapter focuses on distinct time periods within their lives, usually combined with creating and releasing an amazing game. The author describes events and people, rather than technical details, so the reader is an observer of how two very different people channeled their strengths into programming. However, which made me really happy, the author doesn't completely omit the technical aspects of their work, giving enough information for a programmer to sigh and think holy shit.
I don't want to retell the book here, but I have to admit that the book has had a huge impact on me.
There's just something magical in reading about Carmack's razor sharp focus on his work, spending 12-14 hours a day coding away, creating something from nothing and doing what others thought to be impossible. When I work, I feel constrained by time, but reading the book I feel more like back then, people were constrained by the available resources and thus their own creativity. I think this is an indicator of my current skill level when it comes to coding and it is extremely motivating to pick up books, work on interesting projects and push the envelope. As far as my readings have brought me, I have to say that John Carmack is my hero when it comes to coding.
Another part of the book that made me smile to myself were the parts about John Romero. The book presented him as a hurricane of energy and positive vibes. While I may not entirely agree with him on many topics, his approach to what he was doing is admirable. I understood that Romero was able to detect quality - he knew, from the second that he saw something, that it was going to be awesome. And he sure as hell loved what he was doing.
This book portrays programming as art and an adventure, something that I felt about it my whole life, but was told that programming is meetings, cubicles, lots of coffee, and being on call 24/7. This reminds me of my x86 assembly classes with professor Bob Eckman, which were great, but there are a few, which really stand out. One of those is when, at the end of one particular class, he mentioned doing a project using assembly and Java to "drill down from the jvm and into the underlying cpu so we can make a virus". Now that is fucking cool. And he knew it.
I think that all programmers feel this, at least in some point - the feeling that they're creating something magical out of thing air. Masters of Doom definitely captures this aspect of our craft and it's a fun and incredibly motivating read.