Most Important Books, Tech Edition

Random list of technical books that have been important to me personally and in my career. Some light argument for the weekend. I’ll probably do a non-technical version next weekend.

PERL Affectionally known as the Camel Book, this was my introduction to my current career and, in a very real sense, to my current life. I learned PERL in order to make some things at work easier, that lead to a different job which lead to meeting new friends which lead to meeting my wife which lead to having my kids. All of the career and personal decisions I have made for about the last twenty years stem from reading and learning from that book.

More than that, however, PERL also shaped my personal growth as a programmer. It was my introduction into both the open source/free software world and it shaped my view of development. PERL is about getting things done, and it allows you to get things done in a myriad of ways. There is a lot of pwer in that, but there is also a lot of danger. Using PERL as my first professional language taught me about the power of community in development, about the power of flexibility, and about the damage you can do by rushing in instead of thinking first. Learning those lessons has, I think, made me a better developer.

In the Beginning was the Command Line This is really an extended essay by Neal Stephenson. It was one of the first essays that challenged how I thought about the implications of programming decisions and licenses, free vs. open vs. closed. There is quite a lot wrong in this essay, ut it asks important questions and forces you to deal with them.

The Mythical Man-Month This is of course a classic. It prepared me to learn the lesson that creating large software is not the same as creating a bunch os small software pieces. No one really learns that lesson, I think, until they have lived through the experience of making a large piece of software, but this book prepares you to recognize those lessons sooner than you otherwise would.

Code I am not a fan of Prof. Lessig’s current anti-corruption campaign (in my opinion, his tactics are short sided and blind to political realities) but this is the best discussion of how companies can use code to curtail freedoms and consumer rights. Anyone who programs for a living needs to deal with the ethical questions raised by this book.

Coding for Freedom This is another book I recommend for its thought provoking look at ethical issues involved in open source computing. The author takes a sociological look at the Ubuntu community, how it builds the community, how it builds the code, and how it enforces its particular brand of morality (a brand that I do not adhere, for the record). It is a fascinating look at the dynamics of open source software and building software teams in general.

This entry was posted in Literature, Programming, Reviews. Bookmark the permalink.

Leave a comment