At last year’s Business of Software conference I received a copy of a book called Coders at Work. It was fortuitous because I was planning on buying a copy of it anyway. It’s a collection of interviews with some of the world’s most influential programmers, modeled on Founders at Work (which is also a good read.) It’s a really interesting book for anyone who has ever done, or who wants to start, programming.
Each of the interviewees have different takes on things such as debugging, reading code, designing new software, and the philosophies of different programming languages. I found myself at times in strong agreement with their answers, sometimes disagreeing, but most of the time humbled by their accomplishments and clarity of thought. These individuals have been amazingly influential on the current landscape of programming, and none of them is satisfied that programming has really achieved its potential. From the original implementer of SmallTalk (Dan Ingalls) to the Chief Java Architect at Google (Joshua Bloch) you will find something fascinating from getting into each of their minds.
Of particular interest is what books they each recommend that programmers should have in their collection. I’ve read many, but not all, of them so I can see I’ve got some reading ahead me! Also, since I’m a bit of a programming language geek, I liked the interviews that talked about the genesis of a new language. I find that learning the philosophies of any language can only make you better in every other language (usually… Perl may be an exception :-)) I think this holds true for things in the system administration realm as well (e.g. learning something about OpenLDAP can only help in administering Active Directory.)
It’s a pretty light and quick read, even though it weighs in at 601 pages. Its format is something that you can put down and pick up days later for a few minutes of reading without getting lost, which is pretty much how I got through it. If you’ve got a small gap in your reading list, I can recommend this book to fill it.