This is a list of books that I have read and that I recommend for others to read. Some books may have come out in a later addition after I read them, so make sure to look for the latest version if you also want to read them.
From Journeyman to Master
Author: Andrew Hunt and David Thomas
This was the first software development book that really gave med a deep impression and fundamentally changed the way I think about how software should be developed. The book is about how you develop as a craftsman and explains a lot of small techniques and tools that will help you become a master developer. As I understand it this book was one of the first collecting the techniques and tools that could make you a developer master. Some of the techniques that are described in the book are refactoring, code that’s easy to test, source control, automated builds and so on. One of the headings that I clearly remember was “Dead Program Tell No Lies”, this means that it’s better to crash the program instead of showing the wrong result in the application. The book still is a very short and simple way to get started to be a master developer. Even that book is quite old now and they have split up the contents of this book into several new editions at the pragmatic bookshelf now a days, it could be a good first read.
Reliable Software Releases through Build, Test and Deployment Automation
Author: Jez Humble, David Farley
This book will give you a very good overview of Continuous Delivery and that means everything from Build to Test to Deployment in an automated way. The book does not only theoretically explain how to continuously deliver software it also gives real world examples and real solutions and strategies. For the solution suggestion you also get organizational and process specific suggestions. You also get suggestions on what tools you can use and what is god and bad with them. The practices given in the book could be used from small projects to very large corporate development projects.
The Continuous Deliver book is interesting and gives new knowledge all the way to the last page and that is really a strength that I don’t see in many other computer related books.
Author: Jaime González García
Author: Douglas Crockford
The author of this book Douglas Crockford is also the discoverer of JSON and the creator of the tool JSLint.
Author: Roy Osherove
If you want to start writing professional Unit Tests for C# code this book feels to me like the obvious choices. The book explains unit testing from the beginning and all the way up to how you write professional Unit Tests, it also explains how to convince other people in your company on why you should start using Unit Tests. There is also a list of tools that you can use and what the benefits with each one is. I recommend that you read the when you want to start writing Unit Tests.