Here are 82 books that Code Complete fans have personally recommended if you like Code Complete. Book DNA is a community of 12,000+ authors and super readers sharing their favorite books with the world.

When you buy books, we may earn a commission that helps keep our lights on (or join the rebellion as a member).

Book cover of The Mythical Man-Month: Essays on Software Engineering

Paolo Perrotta Author Of Programming Machine Learning: From Coding to Deep Learning

From my list on classic software that are still worth reading.

Why am I passionate about this?

You know what ages like milk? Programming books. I always cringe when someone glances at my programming bookshelf. Some of those books are so dated, they make me appear out of touch by association. Sometimes, I feel compelled to justify myself. “Yes, that's the first edition of Thinking in Java I keep it for nostalgic reasons, you know!” Yesterday’s software book is today’s fish and chip wrapper. However, there are exceptions. A few classics stay relevant for years, or even decades. This is a shortlist of software books that might be older than you, but are still very much worth reading.

Paolo's book list on classic software that are still worth reading

Paolo Perrotta Why Paolo loves this book

In my consulting gigs, I come across plenty of clueless remarks. Here's a classic one: “We're falling behind schedule, so let's hire more coders.” Or a more recent gem: “We'll be ten times more productive if we generate code with AI.”

When I encounter such nonsense, I don't facepalm or cringe. Instead, I put on my poker face and drop a quote from The Mythical Man-Month.

In an industry where last year’s book is already outdated, Fred Brooks' collection of essays has been a guiding light for nearly half a century. His aphorisms have become legendary. “The bearing of a child takes nine months, no matter how many women are assigned.” “Adding manpower to a late software project makes it later.” “There is no silver bullet.” The list goes on and on.

John Carmack, one of the greatest programmers of our times, used to revisit this book every year or…

By Frederick P. Brooks Jr ,

Why should I read it?

5 authors picked The Mythical Man-Month as one of their favorite books, and they share why you should read it.

What is this book about?

Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.



The added chapters…


If you love Code Complete...

Ad

Book cover of Aggressor

Aggressor by FX Holden,

It is April 1st, 2038. Day 60 of China's blockade of the rebel island of Taiwan.

The US government has agreed to provide Taiwan with a weapons system so advanced that it can disrupt the balance of power in the region. But what pilot would be crazy enough to run…

Book cover of Clean Code: A Handbook of Agile Software Craftsmanship

Mariano Anaya Author Of Clean Code in Python

From my list on building high-quality enterprise software.

Why am I passionate about this?

I’m a software engineer because I’m a builder at heart. I have always had a profoundly curious mind, and always enjoyed tinkering. So at one point in my life, it became evident that I was going to be an engineer. I consider teaching the final step of learning, so whether this means writing an article or giving a talk, or simply sharing recommendations, I make a final effort to share with the community of like-minded people what I have learnt. For this reason, I hope you enjoy reading my book and the ones I recommended.

Mariano's book list on building high-quality enterprise software

Mariano Anaya Why Mariano loves this book

I’ve found in this book many useful topics about low-level design which connected with my first recommendation (Code Complete). For instance, about creating functions not only as a tactic for reusing code, but more as a way to give clear meaning to parts of the code, and make it more readable. I was happy to find in these authors ideas I have been agreeing with for a long time.

Then there’s also the fact that this book provides several examples with code on how to make the design simpler to maintain, and clearly illustrates the S.O.L.I.D. principles.

By Robert Martin ,

Why should I read it?

2 authors picked Clean Code as one of their favorite books, and they share why you should read it.

What is this book about?

Even bad code can function. But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't have to be that way.

Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code "on the fly" into a book that will instill within you the values of a software craftsman and make you a…


Book cover of Introduction to Algorithms

Chris Zimmerman Author Of The Rules of Programming: How to Write Better Code

From my list on programming for people who want to be good at it.

Why am I passionate about this?

I’ve spent most of my life writing code—and too much of that life teaching new programmers how to write code like a professional. If it’s true that you only truly understand something after teaching it to someone else, then at this point I must really understand programming! Unfortunately, that understanding has not led to an endless stream of bug-free code, but it has led to some informed opinions on programming and books about programming.

Chris' book list on programming for people who want to be good at it

Chris Zimmerman Why Chris loves this book

Yes, it’s a textbook, albeit a particularly well-written one. You may already have it on your shelf, if you’ve taken a programming class or two.

I’m way too old to have used CLRS as a textbook, though! For me, it’s an effectively bottomless collection of neat little ideas—an easy-to-describe problem, then a series of increasingly clever ways to solve that problem. How often do I end up using one of those algorithms? Not very often! But every time I read the description of an algorithm, I get a nugget of pure joy from the “aha” moment when I first understand how it works.

If you love Steve McConnell...

Ad

Book cover of The Year Mrs. Cooper Got Out More: A Great Wharf Novel

The Year Mrs. Cooper Got Out More by Meredith Marple,

The coastal tourist town of Great Wharf, Maine, boasts a crime rate so low you might suspect someone’s lying.

Nevertheless, jobless empty nester Mallory Cooper has become increasingly reclusive and fearful. Careful to keep the red wine handy and loath to leave the house, Mallory misses her happier self—and so…

Book cover of How to Write for the World of Work

Rod Stephens Author Of Beginning Software Engineering

From my list on making you a better software developer.

Why am I passionate about this?

During my career, I’ve worked on projects large and small (1 - 60+ people) in a wide variety of fields (like repair dispatch, ticket sales, and professional football coaching--the NFL kind not the FIFA kind). All of them, and particularly the big ones, were like antique clocks: they had lots of moving pieces and if any piece broke, the whole thing wouldn’t work. (Unfortunately, failed software projects don’t look nice on your mantelpiece.) In this list, I’ve tried to pick some books that you might not discover if you look only for programming books. Read those, too, but don’t ignore the more human-oriented dimensions of software development. Hopefully you’ll find these choices interesting and useful.

Rod's book list on making you a better software developer

Rod Stephens Why Rod loves this book

When people think about software engineering they mostly think about programming, but that’s not where a project starts. It starts with requirements.

(Really it sometimes starts with company politics, bickering, excuses, and backstabbing, but requirements gathering is often the official start.)

A good set of requirements keeps developers pulling in the same direction; a bad one can make the team inefficient, cause endless arguments, set developers against each other, and make the project feel like Lord of the Flies. I’ve seen projects scrapped and restarted from scratch or even canceled due to poor documentation.

Every software developer should know at least a little about writing so they can produce clear requirements and documentation.

This book isn’t specifically about writing documentation (which is something of an art in itself), but it can help you learn how to make your business writing more effective. This book won’t turn you into Shakespeare,…

By Donald H. Cunningham , Thomas E. Pearsall , Elizabeth O. Smith

Why should I read it?

1 author picked How to Write for the World of Work as one of their favorite books, and they share why you should read it.

What is this book about?

Designed for advanced professional, technical or business writing courses, this concise text covers basic principles, correspondence and reports, and provides a guide to common problems.


Book cover of A Philosophy of Software Design

Mariano Anaya Author Of Clean Code in Python

From my list on building high-quality enterprise software.

Why am I passionate about this?

I’m a software engineer because I’m a builder at heart. I have always had a profoundly curious mind, and always enjoyed tinkering. So at one point in my life, it became evident that I was going to be an engineer. I consider teaching the final step of learning, so whether this means writing an article or giving a talk, or simply sharing recommendations, I make a final effort to share with the community of like-minded people what I have learnt. For this reason, I hope you enjoy reading my book and the ones I recommended.

Mariano's book list on building high-quality enterprise software

Mariano Anaya Why Mariano loves this book

I have to be honest here: when I was reading this book on a trip to New York, I found myself quite surprised because I had seen so many praises for this book, yet I did not particularly agree with most of the topics I was reading about. In particular, I found several points that contradicted those in Clean Code and Code Complete.

I know there’s a debate going on between the authors on a distribution list, but besides some of these points on which I respectfully disagree with the author, I can see is a book of immense value, and there are tons of other great points made about great software design (for example, ”modules should be deep”). And the explanations are crystal clear.

A final reason for recommending this book is that it’s always enriching to expose oneself to a different viewpoint.

By John K. Ousterhout ,

Why should I read it?

2 authors picked A Philosophy of Software Design as one of their favorite books, and they share why you should read it.

What is this book about?

This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can…


Book cover of Release It!

Mariano Anaya Author Of Clean Code in Python

From my list on building high-quality enterprise software.

Why am I passionate about this?

I’m a software engineer because I’m a builder at heart. I have always had a profoundly curious mind, and always enjoyed tinkering. So at one point in my life, it became evident that I was going to be an engineer. I consider teaching the final step of learning, so whether this means writing an article or giving a talk, or simply sharing recommendations, I make a final effort to share with the community of like-minded people what I have learnt. For this reason, I hope you enjoy reading my book and the ones I recommended.

Mariano's book list on building high-quality enterprise software

Mariano Anaya Why Mariano loves this book

The marvel of this book is that it's a rare one: most of the books focus on the construction part of software, all the design and preparation. But what happens once the system is out there, launched? Release It! focuses on the software architecture aspects that entail designing a platform to make it reliable once it’s been released.

It touches on concepts like logging, locking, circuit breakers, and it’s written from the author’s experience with real-life examples (and even code snippets). As someone who has worked on several different types of software products (and been on-call), I’ve enjoyed reading the author tell us about things that went wrong in the past, and what lessons were learnt from them.

By Michael T. Nygard ,

Why should I read it?

2 authors picked Release It! as one of their favorite books, and they share why you should read it.

What is this book about?

A single dramatic software failure can cost a company millions of dollars - but can be avoided with simple changes to design and architecture. This new edition of the best-selling industry standard shows you how to create systems that run longer, with fewer failures, and recover better when bad things happen. New coverage includes DevOps, microservices, and cloud-native architecture. Stability antipatterns have grown to include systemic problems in large-scale systems. This is a must-have pragmatic guide to engineering for production systems. If you're a software developer, and you don't want to get alerts every night for the rest of your…


If you love Code Complete...

Ad

Book cover of That First Heady Burn

That First Heady Burn by George Bixley,

Don’t mess with the hothead—or he might just mess with you. Slater Ibáñez is only interested in two kinds of guys: the ones he wants to punch, and the ones he sleeps with. Things get interesting when they start to overlap. A freelance investigator, Slater trolls the dark side of…

Book cover of The Pragmatic Programmer

Mariano Anaya Author Of Clean Code in Python

From my list on building high-quality enterprise software.

Why am I passionate about this?

I’m a software engineer because I’m a builder at heart. I have always had a profoundly curious mind, and always enjoyed tinkering. So at one point in my life, it became evident that I was going to be an engineer. I consider teaching the final step of learning, so whether this means writing an article or giving a talk, or simply sharing recommendations, I make a final effort to share with the community of like-minded people what I have learnt. For this reason, I hope you enjoy reading my book and the ones I recommended.

Mariano's book list on building high-quality enterprise software

Mariano Anaya Why Mariano loves this book

I've found this book to be instrumental in my career as a software engineer, especially because it's full of useful and practical advice on how to be effective and productive on a day-to-day basis, but it also includes actionable advice, and helped me a lot on thinking about my career long-term.

By Andrew Hunt , David Thomas ,

Why should I read it?

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

What is this book about?

Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how to



Fight software rot;
Avoid the trap of duplicating knowledge;
Write flexible, dynamic, and adaptable code;
Avoid programming by coincidence;
Bullet-proof your code with contracts, assertions, and exceptions;
Capture real requirements;
Test ruthlessly and…


Book cover of 201 Principles of Software Development

Karl Wiegers Author Of Software Development Pearls: Lessons from Fifty Years of Software Experience

From my list on lessons about software development.

Why am I passionate about this?

I first learned to program in college in 1970. Since then I’ve spent much time as a software developer, manager, tester, process improvement leader, consultant, trainer, author, and, of course, a user. I quickly learned that I didn’t have time to make all the mistakes that every software developer before me had already made. My training and writing career has involved sharing what I and others have learned with audiences to help them quickly become more effective software development team members, regardless of their project role. This book distills insights and observations both from my own experience and from what I’ve heard from thousands of students and consulting clients.

Karl's book list on lessons about software development

Karl Wiegers Why Karl loves this book

Many of the most significant principles of effective software development are timeless. They’re independent of the development life cycle or model, programming language, application type, and so forth. Although this book is quite a few years old now, nearly all of its contents are still valid. The 201 principles cover the full spectrum of software engineering: general principles, requirements engineering, design, coding, testing, management, product assurance, and evolution. The descriptions of each principle are concise, whereas my 60 lessons in Software Development Pearls go into a great deal more detail and offer many practical techniques.

There’s an unfortunate tendency among young software people to disregard knowledge from the past as irrelevant to them. That’s not correct. This book can help close significant gaps in any practicing software developer’s knowledge.

By Alan M. Davis ,

Why should I read it?

1 author picked 201 Principles of Software Development as one of their favorite books, and they share why you should read it.

What is this book about?

This text defines governing principles for software development, assumptions that work regardless of tools used, to keep software projects from costing too much, taking too long and disappointing users.


Book cover of Software Engineering at Google: Lessons Learned from Programming Over Time

Chris Zimmerman Author Of The Rules of Programming: How to Write Better Code

From my list on programming for people who want to be good at it.

Why am I passionate about this?

I’ve spent most of my life writing code—and too much of that life teaching new programmers how to write code like a professional. If it’s true that you only truly understand something after teaching it to someone else, then at this point I must really understand programming! Unfortunately, that understanding has not led to an endless stream of bug-free code, but it has led to some informed opinions on programming and books about programming.

Chris' book list on programming for people who want to be good at it

Chris Zimmerman Why Chris loves this book

A thoroughly fascinating (and fascinatingly thorough) look at engineering practices at Google.

It’s an encyclopedia written by a bunch of authors, so some of the chapters are a little dry, but for those of us who aren’t on teams with 25,000 engineers it’s spell-binding to see what programming at that sort of scale looks like. Some of the chapters prompted us to think really hard about the way we do things at Sucker Punch.

By Titus Winters , Tom Manshreck , Hyrum Wright

Why should I read it?

2 authors picked Software Engineering at Google as one of their favorite books, and they share why you should read it.

What is this book about?

Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering.

How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world's leading practitioners construct and maintain software. This book covers…


If you love Steve McConnell...

Ad

Book cover of My Book Boyfriend

My Book Boyfriend by Kathy Strobos,

Lily loves her community garden. Rupert wants to bulldoze it. When feelings grow, will they blossom or turn to rubble?

"It literally had everything! - Bookworm Characters - Humor - Banter - Swoon-worthy lines."  - Book Reviewer.

Book cover of Working in Public: The Making and Maintenance of Open Source Software

Mike McQuaid Author Of Git in Practice

From my list on becoming a great open source software engineer.

Why am I passionate about this?

I’ve been a professional software engineer and maintaining open-source software for 16 years. My work on open source has been heavily informed by industry best practises and my work on proprietary software has been heavily informed by open source best practises. Without these books, I’d be a worse engineer on many dimensions. Some of them may feel antiquated but all are still full of relevant wisdom for every open-source (and proprietary) software engineer today.

Mike's book list on becoming a great open source software engineer

Mike McQuaid Why Mike loves this book

I was lucky enough to read an early draft of this book and it’s simply the best analysis of the open-source software ecosystem around today.

The writing style is friendly and not formal despite the academic-level research that went into this book. It made me think differently about the open-source projects I maintain and how I interact and chose those I use.

By Nadia Eghbal ,

Why should I read it?

1 author picked Working in Public as one of their favorite books, and they share why you should read it.

What is this book about?

An inside look at modern open source software development and its influence on our online social world.

Open source software, in which developers publish code that anyone can use, has long served as a bellwether for other online behavior. In the late 1990s, it provided an optimistic model for public collaboration, but in the last 20 years it’s shifted to solo operators who write and publish code that's consumed by millions.

In Working in Public, Nadia Eghbal takes an inside look at modern open source software development, its evolution over the last two decades, and its ramifications for an internet…


Book cover of The Mythical Man-Month: Essays on Software Engineering
Book cover of Clean Code: A Handbook of Agile Software Craftsmanship
Book cover of Introduction to Algorithms

Share your top 3 reads of 2025!

And get a beautiful page showing off your 3 favorite reads.

1,277

readers submitted
so far, will you?

5 book lists we think you will like!

Interested in software, software engineering, and software development?

Software 62 books