Let’s face it: we all know the books that we should be reading when it comes to technical ideas: heck, our site is full of lists of books that will help you learn everything from Hadoop to Android. Sometimes, however, you need to branch out and learn things that aren’t strictly in the machine realm: that said, here are some books to broaden your horizon and help you get better in areas not strictly code-related!
1. Team GeekBy Brian Fitzpatrick, Ben Collins-Sussman
Ideally, programming and development is a meritocracy: the programmer who writes the best code is ideal. In reality, however, you’re working with a bunch of different people from all different walks of life, and often learning how to deal with them is just as important as writing excellent code. Fitzpatrick and Collins-Sussman are no strangers to working with others, and this book features a number of ways to deal with cantankerous co-workers and other dangers- as well as some insights and tips to make sure you’re not the one at the office that’s hard to work with.
No programmer is an island, and there’s a reason we shun the phrase “rock star developer”: we work in teams, and it’s important that the team works well together. “Team Geek” is a great book to break into working with others and dealing with others, and it definitely deserves a spot on your non-tech shelf!
|Amazon: Team Geek|
2. Managing HumansBy Michael Lopp
For many programmers, writing code is far easier than interacting with team members- or heaven forbid, actually having to manage them. Michael Lopp tackles the subject of management from the point of view of a software developer, and many of his tips and guidelines for effectively managing a team are very useful to someone who’s newly been launched into a management position and is unsure of how they should approach it.
This book isn’t just good for managers- you should pick it up even if you’re not aspiring to be one. Often conflict can arise between programmers and managers because both sides are unfamiliar with the demands of the other. By flipping through this book, you can get an idea of what it’s like on the other side of the looking glass and hopefully be in a better position to understand (or negotiate) with your manager when it comes time for meetings or one-on-ones. Definitely worth a spot on your non-tech shelf!
|Amazon: Managing Humans|
3. The Pragmatic ProgrammerBy Andrew Hunt, David Thomas
A common (and surprising) reaction to this book that I’ve seen from more than a few people is the assertion that they’re already pragmatic: their code is clean and commented, and they don’t mess around. They maintain they’re the pragmatic ones, and if all those managers, meetings, and red tape would get out of their way they could be even more productive. To them, I say: read this book. They’re the exact target audience that this book will help.
The Pragmatic Programmer doesn’t just talk about programming techniques: it’s almost a complete book of philosophy in and of itself. It approaches meetings, development, interpersonal friction, and a host of other office topics in a humorous, no-nonsense way that doesn’t get boring or grating. By the end of this book, you’ll not only have picked up a few programming tips- you’ll also have picked up a few tips on being a programmer as well.
|Amazon: The Pragmatic Programmer|
4. PeoplewareBy Tom DeMarco, Timothy Lister
Yes, you’ve likely heard of Peopleware- and no, that doesn’t make it any less relevant. If you’re a development guy and looking to get into management or are in a management position, Peopleware remains one of the seminal works when it comes to being a good manager. It has quite a bit of data that explains how developers work and how best to get them to work together- and the results are, surprisingly, what most developers have been craving all along.
DeMarco and Lister, at their core, have figured out that the current corporate work culture is anathema to helping programmers achieve a good working state- cubicles, open floor plans, and other such staples are the antithesis to thinking well. They outline the need for quiet, private spaces and dedicated teams that combine to create “flow”, a state that many programmers dream of achieving at work. If you’ve ever gotten frustrated at hard it is to keep a team going in a current office environment, Peopleware can help you get your programmers into the rhythm and make them both more productive and happier to boot.
5. The Mythical Man-MonthBy Frederick P. Brooks, Jr.
Another venerable title, this one still stands the test of time: Brooks’ assertion that large, complex projects have unique and challenging problems that separate them from the rest of the small-time projects that programmers might be used to is still a force to be reckoned with in many offices. Achieving productivity and getting these projects out the door on time is still possible, in Brooks’ view, but difficult: teams will have to work together and managers will have to adapt in order to make it possible.
While a great many readers may have already been exposed to this book, the latest additions has some additional material from Brooks about how well its tips, guides, and axioms stand up a decade later, including how maintaining project consistency is integral to a project’s success now more than ever. Definitely worth picking up and reading through even if it’s crossed your desk before!
|Amazon: The Mythical Man-Month|