My favorite books for 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.


I wrote...

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

By Jeanne Boyarsky, Scott Selikoff,

Book cover of OCP Oracle Certified Professional Java SE 17 Developer Study Guide: Exam 1Z0-829

What is my book about?

If you are studying for the Java 17 OCP (Oracle Certified Professional) exam, this is the book for you. Providing comprehensive coverage of all OCP Java SE 17 exam objectives and competencies, the Study Guide offers you access to all the skills and knowledge you'll need to succeed on the test and in the field as a new or experienced Java developer. It even includes full-length practice exams.

This book provides material on records, sealed classes, text blocks, dates, streams, controlling program flow, using the Java object-oriented approach, handling exceptions, working with arrays and collections, and more. 

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

The books I picked & why

Book cover of 97 Things Every Java Programmer Should Know: Collective Wisdom from the Experts

Jeanne Boyarsky Why did I love this book?

When trying to become a better Java developer, there is so much to learn.

97 Things covers, well 97, of them in a series of brief essays. What’s cool is that the essays were written by different people so you get lots of points of view on what is important. Topics range from language (comments, fat jars) to the ecosystem (benchmarking, frequent releases) to the language-agnostic (definition of done and breaking down problems.)

Note that two of these are mine. The book is thin at just over 200 pieces. And since each “thing” is short, it’s easy to read on the go.

By Kevlin Henney, Trisha Gee,

Why should I read it?

1 author picked 97 Things Every Java Programmer Should Know as one of their favorite books, and they share why you should read it.

What is this book about?

If you want to push your Java skills to the next level, this book provides expert advice from Java leaders and practitioners. You'll be encouraged to look at problems in new ways, take broader responsibility for your work, stretch yourself by learning new techniques, and become as good at the entire craft of development as you possibly can

Edited by Kevlin Henney and Trisha Gee, 97 Things Every Java Programmer Should Know reflects lifetimes of experience writing Java software and living with the process of software development. Great programmers share their collected wisdom to help you rethink Java practices, whether…


Book cover of Working Effectively with Legacy Code

Jeanne Boyarsky Why did I love 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…


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

Jeanne Boyarsky Why did I love 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 Why did I love 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…


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

Jeanne Boyarsky Why did I love 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…


5 book lists we think you will like!

Interested in software, computer programming, and programmers?

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

Software Explore 55 books about software
Computer Programming Explore 39 books about computer programming
Programmers Explore 20 books about programmers