The best books for creating great software

Jesse Liberty Author Of Git for Programmers: Master Git for effective implementation of version control for your programming projects
By Jesse Liberty

Who am I?

I have been coding for over 30 years. I’ve seen some miserable interfaces, and some large programs that collapse under their own weight. Software was, at one point, notorious for being late, over budget, and unreliable. These books have helped turn the corner on these failings, and I have found each of them very valuable in my day-to-day programming. While you can learn technique and even languages online, the kind of insight found in these books is rare and worth spending time and money on.


I wrote...

Git for Programmers: Master Git for effective implementation of version control for your programming projects

By Jesse Liberty,

Book cover of Git for Programmers: Master Git for effective implementation of version control for your programming projects

What is my book about?

Git for Programmers comprehensively equips you with actionable insights on advanced Git concepts in an engaging and straightforward way. As you progress through the chapters, you'll gain expertise (and confidence) on Git with lots of practical use cases.

After a quick refresher on git history and installation, you'll dive straight into the creation and cloning of your repository. You'll explore Git places, branching, and GUIs to get familiar with the fundamentals. Then you'll learn how to handle merge conflicts, rebase, amend, interactive rebase, and use the log, as well as explore important Git commands for managing your repository. The troubleshooting part of this Git book will include detailed instructions on how to use bisect, blame, and several other problem-handling techniques that will complete your newly acquired Git arsenal.

The books I picked & why

Shepherd is reader supported. We may earn an affiliate commission when you buy through links on our website. This is how we fund this project for readers and authors (learn more).

The Clean Coder: A Code of Conduct for Professional Programmers

By Robert C. Martin,

Book cover of The Clean Coder: A Code of Conduct for Professional Programmers

Why this book?

Robert (Uncle Bob) Martin is the recognized go-to person for books on creating quality code. This is the first in a series of books that include The Clean Coder, Clean Architecture, and a number more. His advice and guidance in Clean Code have made a significant difference in my personal coding habits and best practices. This is an indispensable book for all programmers, no matter what they are coding or how much experience they have


Clean Agile: Back to Basics

By Robert C. Martin,

Book cover of Clean Agile: Back to Basics

Why this book?

Many of us have fully embraced agile programming, but doing it well, really well, requires discipline. In Clean Agile a number of world-class programmers discuss what it takes to put Agile programming into practice with y our team. This book has made me a much more “agile” agile programmer, and the section on SCRUM is worth the price of the book.


Software Architecture with C# 10 and .NET 6

By Gabriel Baptista, Francesco Abbruzzese,

Book cover of Software Architecture with C# 10 and .NET 6

Why this book?

The .Net world is changing fast, and this is a terrific book to help you keep up. This tome covers so many topics it is hard to list them all, but while it doesn’t go super-deep into any one topic it does provide enough of an overview to understand what the technology is and how you might put it to work.  Software Architecture with C# 10 and .NET 6 has helped me understand what exists and what is coming and to decide where to put my mental energy


Why Software Sucks...and What You Can Do About It

By David S. Platt,

Book cover of Why Software Sucks...and What You Can Do About It

Why this book?

This book changed my entire perspective on writing the UI and UX of great software. Even the revised edition is a bit old but still has many valuable lessons to teach. Platt established many of the fundamental principles of writing usable and transparent software, and his book should be read not only by designers, but perhaps especially by programmers.


Unit Testing Principles, Practices, and Patterns

By Vladimir Khorikov,

Book cover of Unit Testing Principles, Practices, and Patterns

Why this book?

There are literally dozens of good books on unit testing, but I highly recommend reading at least one. Unit testing is one of the most important practices that a great many programmers do not do. It isn’t easy, once you get past tiny programs, but it is absolutely essential if you wish to create robust code. Without unit testing you fix one thing over here, and break it over there. With good unit testing you know that your program will be flexible and easily evolved.


5 book lists we think you will like!

Interested in agile software development, software, and programmers?

5,887 authors have recommended their favorite books and what they love about them. Browse their picks for the best books about agile software development, software, and programmers.

Agile Software Development Explore 6 books about agile software development
Software Explore 19 books about software
Programmers Explore 11 books about programmers

And, 3 books we think you will enjoy!

We think you will like Merchants of Doubt, User Stories Applied, and Clean Code if you like this list.