Here are 100 books that 97 Things Every Java Programmer Should Know fans have personally recommended if you like 97 Things Every Java Programmer Should Know. 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 Working Effectively with Legacy Code

Jeanne Boyarsky Author Of OCP Oracle Certified Professional Java SE 17 Developer Study Guide: Exam 1Z0-829

From my list on becoming a better Java developer.

Why am I passionate about this?

I’ve always enjoyed mentoring folks whether new or experienced in programming. Whether it is teaching an intern or a high school robotics student, or onboarding an experienced Java developer, it brings me joy to see people learn. I also love to read. Being able to recommend some of my favorite books can help even more people absorb all of this information.

Jeanne's book list on becoming a better Java developer

Jeanne Boyarsky Why Jeanne loves this book

Unless you are writing a greenfield app, you have legacy code around. And even if you are on a greenfield app, you are writing legacy code right now.

This book gives you techniques for working on such a codebase. It is a really good read for learning how to refactor safely so you can work with what you are inheriting. You might notice this book is 20 years old. It’s just as relevant today as when I first read it in 2004. The concepts don’t depend on the exact language syntax.

In fact, some of the examples are in a mix of Java, C#, and C++. I really appreciate the perspective on testing that I got by reading this book.

By Michael Feathers ,

Why should I read it?

1 author picked Working Effectively with Legacy Code as one of their favorite books, and they share why you should read it.

What is this book about?

This book provides programmers with the ability to cost effectively handlecommon legacy code problems without having to go through the hugelyexpensive task of rewriting all existing code. It describes a series of practicalstrategies that developers can employ to bring their existing softwareapplications under control. The author provides useful guidance about how touse these strategies when refactoring or making functional changes to codebases. One of the book's key points is that it teaches developers to write teststhat can be used to make sure they are not unintentionally changing theapplication as they optimize it. Examples are provided in Java, C++, and Csharp,and…


If you love 97 Things Every Java Programmer Should Know...

Ad

Book cover of December on 5C4

December on 5C4 by Adam Strassberg,

Magical realism meets the magic of Christmas in this mix of Jewish, New Testament, and Santa stories–all reenacted in an urban psychiatric hospital!

On locked ward 5C4, Josh, a patient with many similarities to Jesus, is hospitalized concurrently with Nick, a patient with many similarities to Santa. The two argue…

Book cover of Practical Design Patterns for Java Developers: Hone your software design skills by implementing popular design patterns in Java

Jeanne Boyarsky Author Of OCP Oracle Certified Professional Java SE 17 Developer Study Guide: Exam 1Z0-829

From my list on becoming a better Java developer.

Why am I passionate about this?

I’ve always enjoyed mentoring folks whether new or experienced in programming. Whether it is teaching an intern or a high school robotics student, or onboarding an experienced Java developer, it brings me joy to see people learn. I also love to read. Being able to recommend some of my favorite books can help even more people absorb all of this information.

Jeanne's book list on becoming a better Java developer

Jeanne Boyarsky Why Jeanne loves this book

By contrast to my previous 20-year-old book recommendation, this one is brand new.

When I was learning Java, we used the (now classic) “Gang of Four” book for Patterns. For design patterns, language syntax does matter. Miro covers the Gang of Four patterns and new ones using the same categories – creational, structural, and behavioral.

Miro also adds concurrency and anti-patterns which weren’t in the original GoF. I like that he includes review questions. This is very key info to know and mastering it with a modern book is very useful. Plus Miro includes examples of that pattern in the JDK itself.

By Miroslav Wengner ,

Why should I read it?

1 author picked Practical Design Patterns for Java Developers as one of their favorite books, and they share why you should read it.

What is this book about?

Unravel the power of Java design patterns by learning where to apply them effectively to solve specific software design and development problems

Key Features Decouple logic across objects with dependency injection by creating various vehicles with features Finalize vehicle construction by chaining handlers using the Chain of Responsibility Pattern Plan and execute an advanced vehicle sensor initiation with the Scheduler PatternBook Description

Design patterns are proven solutions to standard problems in software design and development, allowing you to create reusable, flexible, and maintainable code. This book enables you to upskill by understanding popular patterns to evolve into a proficient software…


Book cover of DevOps Tools for Java Developers: Best Practices from Source Code to Production Containers

Jeanne Boyarsky Author Of OCP Oracle Certified Professional Java SE 17 Developer Study Guide: Exam 1Z0-829

From my list on becoming a better Java developer.

Why am I passionate about this?

I’ve always enjoyed mentoring folks whether new or experienced in programming. Whether it is teaching an intern or a high school robotics student, or onboarding an experienced Java developer, it brings me joy to see people learn. I also love to read. Being able to recommend some of my favorite books can help even more people absorb all of this information.

Jeanne's book list on becoming a better Java developer

Jeanne Boyarsky Why Jeanne loves this book

In addition to Java, you need to know about the Java ecosystem.

Each chapter covers a type of tool like version control, securing binaries, or mobile. Some chapters cover a variety of tools. I particularly liked the overview of Quarkus and Micronaut. I also liked the emphasis of tools vs a role. The analogies were great such as comparing identify/fix/deploy to an oil spill.

The book is 300 pages and easy to carry around. Despite having four authors, the book is very cohesive and reads well.

By Stephen Chin , Melissa McKay , Ixchel Ruiz , Baruch Sadogursky

Why should I read it?

1 author picked DevOps Tools for Java Developers as one of their favorite books, and they share why you should read it.

What is this book about?

With the rise of DevOps, low-cost cloud computing, and container technologies, the way Java developers approach development today has changed dramatically. This practical guide helps you take advantage of microservices, serverless, and cloud native technologies using the latest DevOps techniques to simplify your build process and create hyperproductive teams.

Stephen Chin, Melissa McKay, Ixchel Ruiz, and Baruch Sadogursky from JFrog help you evaluate an array of options. The list includes source control with Git, build declaration with Maven and Gradle, CI/CD with CircleCI, package management with Artifactory, containerization with Docker and Kubernetes, and much more. Whether you're building applications with…


If you love Kevlin Henney...

Ad

Book cover of Retrieving the Future

Retrieving the Future by Randy C. Dockens,

Stealing technology from parallel Earths was supposed to make Declan rich. Instead, it might destroy everything.

Declan is a self-proclaimed interdimensional interloper, travelling to parallel Earths to retrieve futuristic cutting-edge technology for his employer. It's profitable work, and he doesn't ask questions. But when he befriends an amazing humanoid robot,…

Book cover of Head First Git: A Learner's Guide to Understanding Git from the Inside Out

Jeanne Boyarsky Author Of OCP Oracle Certified Professional Java SE 17 Developer Study Guide: Exam 1Z0-829

From my list on becoming a better Java developer.

Why am I passionate about this?

I’ve always enjoyed mentoring folks whether new or experienced in programming. Whether it is teaching an intern or a high school robotics student, or onboarding an experienced Java developer, it brings me joy to see people learn. I also love to read. Being able to recommend some of my favorite books can help even more people absorb all of this information.

Jeanne's book list on becoming a better Java developer

Jeanne Boyarsky Why Jeanne loves this book

Head First books are always fun. They know how to engage your brain and have cartoons/puzzles.

I recommend this book whether you are first learning git or have used it for some time. Understanding git is a big deal so you can work efficiently. Without having to keep deleting the repository and starting over!

By Raju Ghandi ,

Why should I read it?

1 author picked Head First Git as one of their favorite books, and they share why you should read it.

What is this book about?

What will you learn from this book?

Many people who use Git rely on "recipes"--copying and pasting commands they find on the internet without really understanding how Git actually works. But what do you do if you find yourself in a tight spot? You can't simply wing it. With this unique hands-on guide, you'll learn the ways of Git and have fun while doing it. Raju Gandhi peels back the layers to reveal the simple yet powerful engine that powers Git, so you'll understand not just the how but the why. You'll master branches, merges, commit messages, search, utilities, and…


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

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

From my list on 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.

Jesse's book list on for creating great software

Jesse Liberty Why Jesse loves 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 The Imposter's Handbook: A CS Primer for Self-taught Developers

John Z. Sonmez Author Of Soft Skills: The Software Developer's Life Manual

From my list on fun for software developers.

Why am I passionate about this?

I love to expand my knowledge and learn not just about new technologies, but how things work. I find it fascinating to dig deep into computer programming, technology concepts, and really geek out on things. That’s why I love software development or programming books that aren’t just about some technology and how to do something, but rather books that really make you think and teach you not just programming skills but critical thinking about problem-solving skills. As a software developer for over 15 years and a person who teaches software developers, I have learned that if someone isn’t entertained, they aren’t learning. That’s why I put together a list of fun, entertaining and useful books.

John's book list on fun for software developers

John Z. Sonmez Why John loves this book

Wow! This book is exactly what every programmer has always wanted to know or even felt guilty about not knowing and it’s all presented in an extremely simplified and fun way. 

This is one of those books where you get excited in the morning when you wake up because you know you are going to be able to read more in the book and you are hoping the book will never end.

It’s rare to find a big book that I enjoyed reading so much and felt so short. This book covers almost everything you ever wondered about computer science. After reading this book, I felt like I finally understood everything a programmer was supposed to know and I no longer felt that nagging feeling of being an imposter.

By Rob Conery ,

Why should I read it?

1 author picked The Imposter's Handbook as one of their favorite books, and they share why you should read it.


If you love 97 Things Every Java Programmer Should Know...

Ad

Book cover of What Walks This Way: Discovering the Wildlife Around Us Through Their Tracks and Signs

What Walks This Way by Sharman Apt Russell,

Nature writer Sharman Apt Russell tells stories of her experiences tracking wildlife—mostly mammals, from mountain lions to pocket mice—near her home in New Mexico, with lessons that hold true across North America. She guides readers through the basics of identifying tracks and signs, revealing a landscape filled with the marks…

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

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

From my list on 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.

Jesse's book list on for creating great software

Jesse Liberty Why Jesse loves 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 Microsoft Secrets: How the World's Most Powerful Software Company Creates Technology, Shapes Markets and Manages People

Michael K. Levine Author Of People Over Process: Leadership for Agility

From my list on if you want to lead great software delivery teams.

Why am I passionate about this?

I’ve been doing large-scale software development at great US businesses from the introduction of the PC to the cloud explosion. From my earliest successes (online banking at US Bank in 1985!) to my biggest failures (Wells Fargo “Core” disaster in 2006), I’ve always sought better ways of doing things. These five books all were important to my learning and remain highly relevant, and I hope you find them useful as well. 

Michael's book list on if you want to lead great software delivery teams

Michael K. Levine Why Michael loves this book

This book helped me set my initial approach to software development and I still periodically return to it for grounding.

An MIT project theorized that new-fangled PC software developers knew something mainframe and mini-computer makers didn’t. MIT’s research revealed something else entirely: Microsoft had uniquely effective ideas on how to build complex products in rapidly evolving competitive markets. Here is “agile” before it was put into the Manifesto in 2001, in a more complete form. Ever wonder where the idea of a team comprising functional specialists with overlapping roles, united by a common goal, came from? Or incremental feature evolution with periodic synchronization and constant testing? Early brilliance still of foundational relevance, in a coherent and engaging form.

By Michael A. Cusumano , Richard W. Selby ,

Why should I read it?

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

What is this book about?

Drawing on observation, interviews, and confidential data, the authors reveal Microsoft's product development, marketing, and organizational strategies.


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…


If you love Kevlin Henney...

Ad

Book cover of The Bridge: Connecting The Powers of Linear and Circular Thinking

The Bridge by Kim Hudson,

The Bridge provides a compassionate and well researched window into the worlds of linear and circular thinking. A core pattern to the inner workings of these two thinking styles is revealed, and most importantly, insight into how to cross the distance between them. Some fascinating features emerged such as, circular…

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 David Thomas , Andrew Hunt ,

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 Working Effectively with Legacy Code
Book cover of Practical Design Patterns for Java Developers: Hone your software design skills by implementing popular design patterns in Java
Book cover of DevOps Tools for Java Developers: Best Practices from Source Code to Production Containers

Share your top 3 reads of 2025!

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

1,278

readers submitted
so far, will you?

5 book lists we think you will like!

Interested in programmers, software, and computer programming?

Programmers 22 books
Software 62 books