Favorite Developer Books
Date Published: 26 September 2008
I’ve written a few posts recently about various books, and recently while interviewing a candidate for Nimble Software Professionals it occurred to me that for an experienced developer (e.g. not a new grad out of college), asking what their favorite (or most recently read) programming book is could tell a lot about them as a developer. If their favorite book is something like Expert Programming in 21 Hours (not a real title) that paints a very different picture than if their favorite book is Design Patterns or a similarly respected title.
Of course, flipping the question around, I started to think about what I would list among my own favorites, and naturally that seemed like a reasonable blog post, so here goes. Anyone interested in a wider poll of favorites should check out this StackOverflow thread(andthis one).
Steve’s Top 4 For Developers
Agile Principles, Patterns, and Practices in C# is a must-read for any C# developer. Some of the concepts are repeated in Clean Code, below, but it’s certainly worth reading both books. This book essentially defines how modern software development should be performed.
Clean Code replaces Code Complete (below) as my required book on the micro- aspects of writing good code. Code Complete remains in my top 4 as an excellent book in its own right, but Clean Code is shorter and focuses more on the pieces that I find to be most important.
Working Effectively with Legacy Code (Robert C. Martin Series)
ISBN-13: 9780131177055
This book is also required reading for all of NimblePros‘ developers. I really wish I had read it about four years ago when it was first published (and sooner than that if he’d written it sooner) as it fundamentally changed my approach to developing flexible and maintainable software. I’ve reviewed it elsewhere more completely, but it’s good. The title stinks, though – don’t let that throw you.
Code Complete: A Practical Handbook of Software Construction
ISBN: 0735619670
ISBN-13: 9780735619678
A classic. Should be a companion text in intro to programming courses around the country, I think. This book will help you to write better code at the method level and below. It’s low level but extremely practical and while you may not agree with or adopt 100% of the practices it recommends, you’ll be a better programmer for having read McConnel’s analysis and then made an informed choice about how you do things.
Note that I don’t really care what language you’re writing in – these books are just fantastic for any software developer.
Steve’s Top 2 For Project Managers
Lean Software Development: An Agile Toolkit (Agile Software Development Series)
ISBN-13: 978032115
I’ve written a few blog posts based on this book recently, and I have a few more notes that will turn into future blog posts. I think this book has given me more blog fodder than any other I’ve read recently. I still need to write a full review, but it’s definitely worth a read if you’re interested in improving the overall productivity of your development team.
Peopleware: Productive Projects and Teams (Second Edition)
ISBN-13: 9780932633439
Another classic title, this one is great for technical managers of all sorts who want to have productive teams. If your organization is one in which people say (or believe) they like working early in the morning / late at night / on weekends because "it’s the only time they can get real work done" then you really should read (and act on) this book.
Also Good
Domain-Driven Design: Tackling Complexity in the Heart of Software
ISBN: 0321125215
ISBN-13: 9780321125217
Tags - Browse all tags
Category - Browse all categories
About Ardalis
Software Architect
Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.