17 March 2006 - 14:15Technical Books
Every professional software developer that wants to take responsibility for their own career should be buying their own technical books on a regular basis. Buying your own technical books is the most efficient way (financially speaking) to grow as a developer. Compared to attending conferences, taking certification exams, being in college courses, and other forms of professional training, you simply can’t beat the value of a buying and reading a tech book.
A system that works well is to buy three new technical books each month. This will average out to around $100 per month, or around $1200 annually for 36 new books in your personal tech book library each year. Three books each month is a fair amount of reading, and it works best if you read a little bit every day, perhaps a chapter or two.
When buying your three books each month, it’s often nice to have them fit into a theme of some kind. For example, one month I might decide I’d like to learn more about transaction processing concepts. I might buy this book, this one, and this one for about $110. Or I might decide to investigate the Ruby language and buy this book , this one, and this one for about $71. It’s important to not buy the same kinds of books each month - the idea is to stretch yourself, not to reinforce your currently held views and opinions (more on this later).
A good way of keeping track of the books you’d like to buy is to create an Amazon.com wish list. Keep a queue of books ready, and each month when it’s time to buy the three books you can select them directly from your queue. Every time you come across a book that sounds like it might be a good read, add it to the wish list. Then every so often prune your wish list down by reading reviews and removing books that don’t seem useful to read. Using an Amazon wish list is also nice because you can add not-yet-released books when you first hear about them, and buy them after they’re released.
Previewing books in a local bookstore is also a nice way to see if a book is worth buying and adding to your collection. However, using this approach exclusively will slant your library so that it favors books that are popular and selling well right now, and will miss a lot of valuable books. Make sure to also consider books that were written ten, fifteen, or even thirty-five years ago that you likely won’t find on the shelf at your local bookstore.
Perhaps the biggest objection to this system is that $1200 annually may seem like a lot of money to be spending on tech books. If it does, go take a look at the website for Sun’s JavaOne conference. This year, the conference prices start at $1600, and go up to $2700. That’s for a 4-day conference, during which you would likely learn a lot of neat things, but also would have to filter out lots of vendor-driven marketeering material too. A much better value for a tech conference is the No Fluff Just Stuff series at $800 for a 3 day conference (no vendors allowed), but even that conference still doesn’t come close to the value of buying your own books.
If you can’t afford to set aside $100 each month to spend on becoming a better developer, then start by canceling any cable TV / satellite / Netflix subscriptions. Then give away your TV. Seriously. You (and your family/friends) will love the extra time you’ll gain, and you’ll have some more time and money to spend on professional development.
Some developers are lucky enough to be working at a company that regularly spends money on adding to an internal technical book library. For a developer in this enviable situation, it’s tempting to decide not to purchase your own technical books. However, in this case it’s even more important to buy your own books. Your tech reading should be covering different topics and concepts than those you work with on a day-to-day basis. It’s the same reason that learning a language like Lisp will make you a better Java programmer. It’s all about forcing yourself to constantly enlarge the box you think in.
In the same vein, don’t purchase many tutorial or reference style tech books. These books usually contain information you can easily find on the Internet for free, and the information is often out of date by the time the book is published. If you really need such a book to do your job, then get your employer to purchase it so your whole team can share the book. For instance, buying this 1000-page tome might be useful for a short time, but you’ll probably not treasure it on your bookshelf for years to come.
It’s also important to make sure that all of your reading doesn’t involve technical materials, or you’ll have a very one-natured view of the world. In addition to your tech reading each month, it’s vital to include some other materials. Public libraries are great for this kind of reading - often you will want to read books that aren’t very useful to own, so borrowing them for a few weeks to read is perfect. By throwing in a couple of works of fiction, some history books, and some books on current events, you’ll nicely round out your reading mix for the month.
If your job involves being mostly on the development side of the fence, make sure to include some business-related readings each month. I once received some great advice from a former manager of mine who was very involved in the business activities of the company. His advice was that if you’re a software developer who wants to get a better understanding of business, then get a subscription to Forbes, Money, or some other business magazine, and read it through each month. Some parts may seem boring or use some unfamiliar terms, but after some time, you’ll become more familiar with the lingo of business, and even find it interesting. This will make you a more valuable developer and provide some additional context and insight to your day-to-day tasks.
Finally, a note on ebooks: electronic versions of books are great. They’re nice because you can quickly search through them when looking for a piece of information, and for this reason they’re very appropriate for the reference or tutorial-style books I mentioned above. Tech publishers like Apress and The Pragmatic Programmers often offer a large discount on an ebook if you buy the printed version, and a lot of times it’s worth it to pay a little more for a portable, searchable version of the book in addition to the paper copy. Having said all that, the bulk of your tech book library should still be dead-tree versions of books. A paper version of a book is uniquely yours - you can mark it up, bookmark pages, add notes in the margin, and customize it in any way you like.
No Comments | Tags: Uncategorized
