If you were only able to choose one book to make you a better programmer, that book would be Code Complete. There is a reason it’s the highest voted answer to the StackOverflow questions What is the single most influential book every programmer should read? and What development book made the most impact on you as a developer? as well as many others. Notice that second place for both questions is Pragmatic Programmer, you should go read that too, after Code Complete.
There really isn’t anything I can say about Code Complete to describe how truly awesome it is. From your future self and all of the people you work with please buy it and read it from cover to cover. I’m not kidding, you might think you know everything it covers, and if you’ve been programming for a few years you might even be right, but you won’t have thought about each of the topics explicitly and in the detail covered by Code Complete.
Peopleware: Productive Projects and Teams is one of the best books you can read if you work in collaboration with others. Primarily focused on managing and working with programmers to build the most productive teams and individuals possible, Peopleware covers noise and distraction in the workplace, creature comforts, “real” amount of work done vs seat time, building productive teams and “teamicide”, and quite a bit more.
This is a must read for anyone in a supervisory position over knowledge workers, whether you’re a team lead or CEO. Overall it is an excellent look at what factors influence the productivity of people around you and how to many them happier and more productive. This is primarily by realizing that people are people and not cogs (the common management codeword is “resources”). It does assume a lot more control over the workplace than anyone really has, including the top executives, and I feel it sometimes goes overboard nearly to the point of absurdity on some of its topics. However, if you read with a certain degree of skepticism, as you should any book, you will find many strategies to help improve your productivity and that of those around you.
I strongly recommend (re)reading this book anytime your job changes. If it’s to a different company you will learn what to look for as you interview the company, and if it’s a promotion with more authority it will help you handle that extra authority.
If you are in a management role I would also recommend reading this short article about compensating agile teams by Mary Poppendieck as it also has some good advice about team building and destruction which aren’t covered in Peopleware.
Other reviews of Peopleware:
Joel On Software