For my summer software reading I choose Secrets of the Rockstar Programmers by Ed Burns (yes I know the title is a bit cheesy…). The book contains interviews with several male programmers, who have been in industry for at least 10 years, and have made significant contributions to in pure software such as creating a framework like Spring, or working on .NET architecture.
I thoroughly enjoyed the book, and the format makes it easy to digest. However, it took me a while to get through, because I wanted to mentally process each programmer’s hard and soft skills, and lifestyle. I thought it was an accurate depiction of what I believed the life of a programmer to be, and what it took to be stellar in the field of software.
There are a few common themes amongst these rock stars. The vast majority of them have trouble with work life balance, the exception being British programmers, such as Adrian Colyer, CTO of SpringSource, who spends weekend with his family. But for the rest, life is about solving problems and thinking about problems all the time. The younger programmers, especially, have trouble balancing a family life, and attest to the fact the have to be told spend time with family or have learned to make time. As far as hard skills go, Burns spent most of his time asking how these programmers keep up with technology trends, which blogs they read, and how to spot the latest language fads. When it comes to soft skills, a few believe it is important to have a business sense if you want to advance, but there are a few in the minority, who would rather focus their efforts on development and technology.
I also enjoyed the historical perspective of the book. Burns interviews programmers who pretty much started out with punch-cards, to those who have never had to manage memory. Having been an electrical engineer, it is very interesting to see how hardware technology improved the overall productivity of programmers, and from the software side it peaked my curiosity of what’s to come in areas such as cloud computing and thinking about the computer as a network rather than an individual self-contained processing unit.
After finishing the book I started thinking of issues that I felt the book did not handle, the most obvious being there were no female programmers interviewed! While I don’t believe it necessarily detracts from the essence of the book and what it takes to be a rockstar programmer, I think it highlights one of the fundamental problems that exists in the software industry: lack of female role models. Those who did exist such as Grace Hopper, have yet to be replaced by a new generation. And I don’t think it is because software is particularly difficult, there are plenty of women surgeons and lawyers.
Leaving aside the gender bias, I also thought the book was too biased in interviewing programmers who worked for purely software based companies like Microsoft, SpringSource, and Sun. While I think programmers at these companies are highly capable individuals, IMHO, they do not have the same resource constraints (both programmers and technology), and consumer driven issues such as security and high availability that programmers at places like Amazon.com, Facebook, and Mint.com face. It has hardly, if any programmers like myself, who work for consumer web services, and are constantly fighting to solve scalability, security, and performance issues. I would have liked to have learned about how people handle thinking about such issues given the fact that the age of the Internet is causing more software engineers to go into web services.
Overall, I would highly recommend reading Burns’ book, especially for those who are a few years out of college like myself, who are wondering what the next steps are in their career, and interested in learning from those who have paved the way.