Five Books All Developers Should Read


booksAmidst the myriad of books out there, here are five I find worthwhile for all developers. These books do not cover a specific language or technique. Instead they provide a broader spectrum of good advice. If I had to pick one of them, it would definitely be The Pragmatic Programmer – From Journeyman to Master. This book offers some great insights into what the programming profession is really all about, and how to excel as a developer.


File:The pragmatic programmer.jpgThe Pragmatic Programmer

From Journeyman to Master

By Andrew Hunt and David Thomas

Because more important than knowing this or that programming language, is to learn how to think, act and become a passionate (devoted if you like) developer. If you don’t, you will never truly succeed at – or at least not enjoy – work.

This book covers practices like DRY (Don’t Repeat Yourself), debugging, testing and prototyping. It explains the benefits of mastering a shell and the editor you use. It also discusses project and team aspects of development.

Read it. Then read it again.


File:Design Patterns cover.jpgDesign Patterns

Elements of Reusable Object-Oriented Software

By Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Because it is the book about design patterns, and design patterns is something all developers should know. The authors are also known as the Gang of Four (GoF), a well known name in design pattern circles.

This book includes a catalog with 23 design patterns divided into creational, structural and behavioral patterns. Each pattern is listed with its intent and motivation, structure, consequences as well as sample code and known uses.


larger coverClean Code

A handbook of Agile Software Craftsmanship

By Robert C. Martin

Because writing neat, readable code may very well imply less use of the next book.

This book is all about writing good code. Chances are you read much more code than you write, and writing clean, readable code is perhaps the best way to cut down technical debt. The book covers everything from meaningful names of classes and methods to how to write comments, exceptions and unit tests.


larger coverWorking Effectively with Legacy Code

By Michael C. Feathers

Because technical debt is a problem that’s not going away. The book is especially useful for consultants working a lot with other people’s mess code.

This book defines “legacy code” as any code that without tests in place. This book covers things like how to get code into a test harness, and how to write tests without affecting existing functionality.



File:Jonathan strange and mr norrell cover.jpgJohnathan Strange & Mr Norrell

By Susanna Clarke

Because you should take the time to read something else now and then (this is one of the tips from Pragmatic Programmer as well), and this is a really, really great book.

No comments:

Post a Comment