Books you should read as a software developer

Why don’t you speed up your skills by simply learning from others who gained knowledge about your field? When I first entered the field as a software developer, I searched for some books that also could speed up my learning. There are a great number of books which learn you the actual (basic) skills you need to have. In this post I will provide you some books which you should definitely read to improve your knowledge. Do you have a book which is not in this list and each one should definitely know? Then drop me a message in the comment section below this post!

The Pragmatic Programmer – Andrew Hunt and David Thomas

This books discusses the basic craftsman skills each good software developer should have. It was the first book I read about software craftsmanship after graduating from university. It teaches metaphors like the broken window concept within software engineering. But also continuous learning and knowing your tools. and writing defensive code and working in teams together. Thereby it gives a good overview of all areas you could (or perhaps should) master.

Code Complete 2nd edition – Steve McConnel

I see this book more like the advanced stuff from “The Pragmatic Programmer”. It covers a huge number of topics mainly on writing clean code. In the first part, the book focuses on why it is important to write code that is maintainable. The next part of the book covers how to achieve this. The last part closes with the human aspect of writing high quality code.

The Clean Coder – Robert C. Martin

The Clean Coder contains a number of lessons Robert Martin learned during his first years as a software developer. For example how to give an estimation of how much time a certain implementation will cost, without trying to give social desired answers. Due to the fact the book is written in vivid stories, the main lessons easily stick to your mind.

Head First Design Patterns – Eric Freeman and Bert Bates

Design patterns, everyone should know a couple of design patterns I believe. Design patterns deal with software design problems in a generic way. When you’re working with legacy code, knowing design patterns can help you to understand underlying concepts quicker. When writing new code, it helps you to write code that is easier to maintain and understand by your colleagues. I found the Head First Design Patterns more fun to read than the book of the Gang of Four (Erich Gamma et all.). The examples are also more easy to remember, hence recall. I therefore recommend this book above the “original” one.

Pragmatic Unit Testing in C# with NUnit – Andy Hunt and Dave Thomas

Still I see a bunch of bad written unit tests in the field. Unit tests that are in fact integration tests, unit tests that test a lot of functionality and are hard to read and maintain. This book “Pragmatic Unit Testing” addresses all aspects of writing good or better unit tests. It is based on NUnit in C#, but the basis can be applied on each kind of unit test framework.

Clean Code – Robert C. Martin

As Code Complete and The Pragmatic Programmer describes ways beyond writing clean code, Clean Code only focuses on the aspect of writing highly maintainable code. It can be seen as a coding guideline, you see in many companies. Also it describes the reasons why you should use a certain way of construction.

Other books?

These are a set of books I at least read and found to be books that everyone should read. If anyone knows a book that is of the category must read, please drop a message.

Posted in Uncategorized by Bruno at May 1st, 2017.

Leave a Reply