Software Development Books: Investing In Yourself
Posted by Davy Brion on August 24th, 2008
I currently have 20 books in my list of recommended books. I’ve read all of those books in the past 2 years, which means i’m averaging about 10 books a year. That’s probably a bit much, and i have to admit i’ve been reading a bit less lately than i used to. But i’ve noticed that a lot of developers that i know hardly ever read books about software development. Which is too bad, because those books really are a cheap way of investing in yourself and your career.
Well, perhaps cheap isn’t the best word to use. After all, some of these books are somewhat expensive, and buying a lot of them certainly adds up. But if you pick the right books, they are usually more than worth the money they cost. Besides, you shouldn’t just look at the price of the book. The most important thing to keep in mind is the knowledge and insight you can get from them. That typically depends on the type of books you buy though. I usually avoid books that are library/framework/language-specific, unless i am very interested in a specific topic.
The books that usually provide the biggest value are the ones that teach you things that you can use in any development environment. It can be about development methodologies, certain concepts or practices, patterns (not just design patterns but architectural patterns, coding patterns, testing patterns, …), as long as the knowledge is reusable. These kinds of books allow you to learn from the experiences of some of the best people in this industry. And the best thing about it is that you can learn a lot from these books in a few days (or weeks), even though it probably took the authors a couple of years to acquire that knowledge and experience. Isn’t that one of the coolest forms of reuse you can think of?
Now obviously, reading a couple of books won’t instantly put you on the same level as the authors, but at the very least it allows you to significantly increase your skills and insight with relatively little effort. And when you start applying that knowledge, you can start reaping the benefits of it pretty soon. It could definitely make your job easier. It most likely will increase the quality of your output at work. It almost certainly increases your value as a software developer.
So do yourself (and everyone else) a favor, and read a good book on software development once in a while. And if you need some help picking out the good books, just look here
August 24th, 2008 at 11:59 pm
I agree with your sentiments. I have a number of books on my shelf, purchased in the last few months, that I have not gotten to reading yet. Not enough hours, you see
I am somewhere in Michael Feather’s book on working with legacy code – it is a good read, and I already know the information will be useful!
Like you, these days I tend to look more at higher-level or conceptual books, rather than those about specific technologies or tools. I feel that’s more sustainable in the long run. Exceptions do happen, though.
August 25th, 2008 at 7:05 am
Yeah, Feathers’ Working With Legacy Code has been on my To-Buy list for a while now, haven’t gotten around to actually getting it though
I’m currently reading Robert (Uncle Bob) Martin’s Clean Code… so far it’s very good
August 25th, 2008 at 7:55 am
I’ll have to say, a few months ago I would have disagreed with you. About that time though is when I took up TDD on a new contract. One of the conditions was that I read “Agile Principles, Patters, and Practices in C#” by Robert C Martin. Prior to this, I’d been fairly anti-book preferring to get information online instead.
There’s just too much good information in there that’s condensed and laid out in such a way, it seems I do get much more out of it. I hate to say this, but perhaps actually reading a physical book puts my mind more to “learn” mode. In any case, I’ll definitely agree with you now, and thank you for list of recommended books, taking a look at them now for my second read.
August 25th, 2008 at 8:17 am
About 2 years ago, i thought the same way… i didn’t read any software development books because i thought i was doing well enough already and i couldn’t imagine getting more out of reading a book on coding than spending that time actually coding. Then i read Code Complete, and kept reading ever since
August 25th, 2008 at 10:33 am
I certainly agree with this statement.
I’ve a few books on my shelf that have certainly broadened my view as a developer. Some books have certainly increased my skills or have given me an ‘aha-erlebnis’.
When I buy books, I also tend to buy books that are not limited to a certain language or technology. By reading such books, you dive deeper and, moreover, once you’ve read them, they don’t stay on the shelf. Sometimes, you have a certain problem and you might use such a book and maybe find a way to resolve your problem.
But, I don’t think you should limit yourself to ‘reading books’. There are also numerous weblogs out there that can give you new insights. Reading such weblogs sharpen your skill and broaden your view as well.
A while ago, Scott Hanselman had a podcast about ‘how to become a better developer’. As it turned out, reading was important to become a better developer. But, reading alone is not enough offcourse, you should continue developping software since it is practice that improves your skills. You should apply the valuable things that you get out of the books and weblogs you read.
You should also not limit yourself to reading books, but reading other people’s code is quite interesting as well.
August 25th, 2008 at 12:26 pm
yes, reading is certainly not the only thing you should do to improve your skills, all the other things (writing code, reading code, blogs, etc…) are still important… i just wanted to point out that reading some good books can offer a lot of value _besides_ the other things
August 25th, 2008 at 2:37 pm
Your list is pretty good. I have read most of the books on it. I, too, am mostly interested in the types of books on your list. After spending too much time in late 90’s learning COM, I decided to focus on “portable knowledge”. Technologies come and go. But unfortunately, people just don’t get it. I have probably interviewed at least 15 people for my company in the last year and half. Sadly, I have not met anyone who is reading a programming book or regularly reads programming related blogs. The most canned response I get is “I search MSDN”. When I ask candidates what they are currently doing to become better programmers, more often than not I get blank stares.
August 25th, 2008 at 3:23 pm
[...] Software Development Books: Investing in Yourself (Davy Brion) [...]
August 25th, 2008 at 8:37 pm
@ J.P. Hamilton
It’s truly sad how it appears of developers don’t believe in continuous learning. It reminds my a position I had in the past. When I started, I mentioned some program or another someone should download and I said they could get it from SourceForge. After that, they looked at me and asked “What’s SourceForge?”… I mean seriously, both him and another developer nearby had never even heard of the site – that’s pathetic, I wanted to slap them both – twice! At least pay attention to what’s going on.. at least a little! Please?!
August 26th, 2008 at 11:52 pm
Good article..
I’ve only read 3 of the books in your list and I’m reading one (c# in depth) right now, though there are some I really liked and maybe you too:
Peopleware: Tom de Marco
Software Estimation: Steve McConnell
The Secrets of Consulting: Gerald Weinberg
I’ll keep your list by my side, when things get better I’ll buy more books again
regards