Favorite Developer Books

Date Published: 26 September 2008

Favorite Developer Books

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: 0131177052

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: 0321150783

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: 0932633439

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

Steve Smith

About Ardalis

Software Architect

Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.