Lasse Schultebraucks IT Consultant

My top 10 Software Development books (every developer should read)

In the following blog post, I will list 10 books for software developers that I have particularly enjoyed over the past few years.

1. Clean Code - A Handbook of Agile Software Craftmanship by Robert C. Martin

Clean Code Book cover

This classic should be read by every software developer at least once in his life. The author, Robert C. Martin (Uncle Bob) describes the difference between good and bad code. Further he introduces how to transform bad code into good code and describes the basics of Test-Driven-Development. It is really a very good book for software developers who are at the beginning of their career, however, even after a few years and re-reading, you can always learn something new.

2. Clean Architecture: A Craftsman’s Guide to Software Structure and Design by Robert C. Martin

Clean Architecture book cover

Another book by Robert C. Martin and I promise it won’t be the last on this list. It follows Clean Code and discusses what good architecture looks like and what principles of software development there are. Further, Uncle Bob describes what can go wrong with architecture design decisions and what can be done about it.

3. The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martin

The Clean Coder book cover

Next, we have another book by Robert C. Martin. In The Clean Coder, Uncle Bob describes what it means to act like a software craftsman. He tells you when to say “no” and how to do it, and also when to say “yes” and what “yes” really means. He tells you about the responsbility you have as a software developer.

4. Clean Craftsmanship: Disciplines, Standards, and Ethics by Robert C. Martin

Clean Craftmanship book cover

I promise, this will be the last book by Robert C. Martin in this list. The book ties in with The Clean Coder and explains what it means to be a software developer and what your responsibilities are. It describes technical practice and the history of software development. Uncle Bob also explains how to solve the problems of your employer, customers, colleagues and others. If you liked The Clean Coder, you will love Clean Craftmanship.

5. Refactoring: Improving the Design of Existing Code by Martin Fowler

Refactoring book cover

Martin Fowler is one of my favorite authors, along with Robert C. Martin, when it comes to software development. In Refactoring, Martin Fowler describes how we can improve the design of existing code without changing its behavior. He lists a catalog of over 40 refactoring methods and describes how to use them to transform code to clean code. Step by step he explains in examples how refactoring can be used. Through the many examples and simply held methods, the learned knowledge can be applied quickly and pragmatically in practice.

6. The Pragamtic Programmer by David Thomas & Andrew Hunt

Programatic Programmer book cover

The Pragmatic Programmer by David Thomas & Andrew Hunt is about personal responsility, carrer development and architectural techniques for keeping code flexible and easty to adept and reuse. It was rewritten and again published after twenty years in 2019 and is therefore up-to-date.

7. The Passionate Programmer: Creating a Remarkable Career in Software Development by Chad Fowler

Passionate Programmer book cover

The Passionate Programmer by Chad Fowler is again a book about the carrer as a software developer.

8. Code That Fits in Your Head : Heuristics for Software Engineering (Robert C. Martin) by Mark Seemann

Code Head book cover

Code That Fits in Your Head by Mark Seemann is about reducing complexity in your code and developing software more sustainably. He talks about software development metaphors and why bad metaphors does not fit in the software development process. Also he talks about productivity and how to solve problems more quickly and effectively.

9. Design Patterns. Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

design patterns book cover

Design Patterns are solutions to common occurring problems in software development. Thereforce it is important to know about common patterns. In book 23 design pattern of the categories’ creational, structural, and behavioural patterns will be discussed. The book is also very suitable as a reference book for design patterns and coding exercises.

10. Code Complete: A Practical Handbook of Software Construction by Steve McConnell

code complete book cover

Last but not least, Code Complete by Steve McConnell covers aspects of clean code, best practices and software architecture. It is very comprehensive and covers various topics from almost all the books mentioned so far in almost a thousand pages.