My favorite books for creating great software

Why am I passionate about this?

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.

Shepherd is reader supported. When you buy books, we may earn an affiliate commission.

The books I picked & why

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

Jesse Liberty Why did I love 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

By Robert C. Martin,

Why should I read it?

1 author picked The Clean Coder as one of their favorite books, and they share why you should read it.

What is this book about?

Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals.



In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice-about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work…


Book cover of Clean Agile: Back to Basics

Jesse Liberty Why did I love 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.

By Robert C. Martin,

Why should I read it?

1 author picked Clean Agile as one of their favorite books, and they share why you should read it.

What is this book about?

Agile Values and Principles for a New Generation
"In the journey to all things Agile, Uncle Bob has been there, done that, and has the both the t-shirt and the scars to show for it. This delightful book is part history, part personal stories, and all wisdom. If you want to understand what Agile is and how it came to be, this is the book for you."
-Grady Booch
"Bob's frustration colors every sentence of Clean Agile, but it's a justified frustration. What is in the world of Agile development is nothing compared to what could be. This book is…


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

Jesse Liberty Why did I love 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

By Gabriel Baptista, Francesco Abbruzzese,

Why should I read it?

1 author picked Software Architecture with C# 10 and .NET 6 as one of their favorite books, and they share why you should read it.

What is this book about?

Design scalable and high-performance enterprise applications using the latest features of C# 10 and .NET 6

Key Features Gain comprehensive software architecture knowledge and the skillset to create fully modular apps Solve scalability problems in web apps using enterprise architecture patterns Master new developments in front-end architecture and the application of AI for software architectsBook Description

Software architecture is the practice of implementing structures and systems that streamline the software development process and improve the quality of an app. This fully revised and expanded third edition, featuring the latest features of .NET 6 and C# 10, enables you to acquire…


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

Jesse Liberty Why did I love 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.

By David S. Platt,

Why should I read it?

1 author picked Why Software Sucks...and What You Can Do About It as one of their favorite books, and they share why you should read it.

What is this book about?

This non-technical book discusses the annoyances and dangers we encounter every day when using computers. Written with delightful wit and humor, as well as the insight of an experienced insider, it rips into the design of software much as Atul Gawande's Complications exposed the practice of medicine. Its basic message to ordinary people having problems learning or using their software is this: It's not your fault! It's not because you're dumb! Aimed primarily at casual users of software, the book tells readers what they should expect from their software and how to make their voices heard so that they receive…


Book cover of Unit Testing Principles, Practices, and Patterns

Jesse Liberty Why did I love 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.

By Vladimir Khorikov,

Why should I read it?

1 author picked Unit Testing Principles, Practices, and Patterns as one of their favorite books, and they share why you should read it.

What is this book about?

Unit Testing: Principles, Patterns and Practices shows you how to refine your existing unit tests by implementing modern best practices. You'll learn to spot which tests are performing, which need refactoring, and which need to be deleted entirely! Upgrade your testing suite with new testing styles, good patterns, and reliable automated testing.



Unit Testing: Principles, Practices and Patterns is a practical guide to modern unit testing best practices. Microsoft MVP Vladimir Khorikov takes you hands-on with examples of the ideal unit test and unit testing practices, building your skills step by step on a solid foundation.



Key Features

* A…


5 book lists we think you will like!

Interested in software, agile software development, and software development?

10,000+ authors have recommended their favorite books and what they love about them. Browse their picks for the best books about software, agile software development, and software development.

Software Explore 55 books about software
Agile Software Development Explore 18 books about agile software development
Software Development Explore 15 books about software development