14 great Java books you need to read before you die

Since 2001, I have read tons of books about programming. This page is dedicated to a best of the best list of Java books and general programming books I have read so far. On your journey to becoming a Software Craftsman, I highly recommend that you read every single book I have mentioned on this page.

Java Bookshelf

 

Head First Java – Kathy Sierra and Bert Bates

Head First Java – Kathy Sierra and Bert Bates

Head First Java is a perfect fit for beginner to intermediate Java programmers. The book is fun to read, entertaining and motivating – it is full of images, exercises, puzzles, and jokes, yet still covers a LOT of ground in a very short time. I just checked on Amazon, it has about 310 5 star ratings, and besides that it is the

#1 in books about Object-Oriented Design

#1 in Java books

#1 in books about Object-Oriented Software Design

Get the book on Amazon!
Head First Design Patterns - Eric Freeman, Elisabeth Robson, Kathy Sierra and Bert Bates

Head First Design Patterns - Eric Freeman, Elisabeth Robson, Kathy Sierra and Bert Bates

Yet another great Java book of the famous O’Reilly Head First series. Fun to read and very motivating. Much easier to digest then the original Gang of Four book!

Get the book on Amazon!
OCA / OCP Java SE 8 Programmer Certification Kit OCA / OCP Java SE 8 Programmer Certification Kit by Jeanne Boyarsky and Scott Selikoff

OCA / OCP Java SE 8 Programmer Certification Kit OCA / OCP Java SE 8 Programmer Certification Kit by Jeanne Boyarsky and Scott Selikoff

This Java book is aimed at more experienced Java developers. You need to have a few years of experience in Java before reading this book. It will teach you Java from scratch – just in WAY more detail. It is aimed at developers who want to do the OCA / OCP certificate, but I would recommend this book to anyone who wants to get a deep understanding of the Java programming language. I personally use this book as a reference, or as inspiration for many of my video tutorials.

Get the book on Amazon!
Effective Java: A Programming Language Guide (Java Series) – Joshua Bloch

Effective Java: A Programming Language Guide (Java Series) – Joshua Bloch

This Java book is another all-time favorite of mine in my Java library of a few hundred books.
In the 3rd edition of this famous book, Josh Bloch gives you 90 actionable items that will improve your clean coding style. I personally use it as a reference as well as an inspiration for my Java Clean Coding videos!

Get the book on Amazon!
Clean Code: A Handbook of Agile Software Craftsmanship – Robert C. Martin

Clean Code: A Handbook of Agile Software Craftsmanship – Robert C. Martin

I am a big fan of Robert C. Martin. He originally coined the term “Clean Code”.
What else can I say? Read this book! I devoured the book in a matter of days!

Get the book on Amazon!
The Pragmatic Programmer. From Journeyman to Master – Andrew Hunt and David Thomas

The Pragmatic Programmer. From Journeyman to Master – Andrew Hunt and David Thomas

As this book was first published in 1999, it is probably the grandfather of all Agile / Clean Coding books. If you seriously want to become a Software Craftsman, then you must read this book.

Get the book on Amazon!
Coding: On Software Design Process – Jonathan Locke

Coding: On Software Design Process – Jonathan Locke

A very slim (72 pages) book, that will guide you along your way from journeyman to a Master Software Craftsman.

Get the book on Amazon!
The Passionate Programmer: Creating a Remarkable Career in Software Development (Pragmatic Life) – Chad Fowler

The Passionate Programmer: Creating a Remarkable Career in Software Development (Pragmatic Life) – Chad Fowler

After reading this book I joined a local Java user group as well as a Software Craftsman guild, and soon after that I started this blog. If you execute what Chad teaches you, this book can change your life!

Get the book on Amazon!
Practical Unit Testing with JUnit and Mockito – Tomek Kaczanowski

Practical Unit Testing with JUnit and Mockito – Tomek Kaczanowski

I love short, pragmatic, actionable books, without too much pathos.
This book will teach you how to do (Unit)-Testing properly.

Get the book on Amazon!
Bad Tests, Good Tests – Tomek Kaczanowski

Bad Tests, Good Tests – Tomek Kaczanowski

Yet another great book from this great author. After reading two of his books, I am addicted, and have committed to buy just about any book he is going to publish in the future. 🙂

Get the book on Amazon!
Domain-Driven Design: Tackling Complexity in the Heart of Software – Eric Evans

Domain-Driven Design: Tackling Complexity in the Heart of Software – Eric Evans

This book is tough. Not an easy read, and it took me a while to digest.
Still, it is also a must- read book. Once you have understood Domain-Driven-Design, you will never want to program in any other style. I have integrated some of the concepts of
Domain-Driven-Design into my video tutorials.

Get the book on Amazon!
Implementing Domain-Driven Design – Vaughn Vernon

Implementing Domain-Driven Design – Vaughn Vernon

In this book Vaughn Vernon aims at explaining Domain-Driven Design in an easier way. Well, digesting it was easier for me, but that might also be because I read it many years after reading the book from Eric Evans. If you want to seriously get in touch with Domain-Driven Design, then you should definitely also read this book.

Get the book on Amazon!
Release It! Design and Deploy Production -Ready Software (Pragmatic Programmers) – Michael T. Nygard

Release It! Design and Deploy Production -Ready Software (Pragmatic Programmers) – Michael T. Nygard

A famous book that covers a completely different, but very important aspect of software development – releasing it. Full of great ideas and stories, and an easy read.

Get the book on Amazon!
The Clean Coder: A Code of Conduct for Professional Programmers - Robert C. Martin

The Clean Coder: A Code of Conduct for Professional Programmers - Robert C. Martin

Yet another awesome book from Robert C. Martin, or Uncle Bob! You seriously need to read this book! As with “Clean Code”, I devoured the book in a matter of days.

Get the book on Amazon!

8 thoughts on “14 great Java books you need to read before you die

  1. Avatar for Marcus Biel Alisdair says:

    I think they are still recommended reading even after you die, if you can!

  2. Avatar for Marcus Biel Ayush P Vora says:

    That’s a good list, Marcus (y)
    In my case, my mentor suggested me to start one of Head First or Thinking in Java. I tossed a coin and the result was Thinking in Java so that too, taught me a lot and improved me greatly as a Java programmer. While it doesn’t cover the “functional programming” elements that are new in Java 8, it does lay a solid ground for some needed basics. I’m unsure how it compares with Head First though my guess is that they’re similar, maybe Head First is little more comprehensive and easy-going.

  3. Avatar for Marcus Biel Abdely says:

    Great list of mouth-watering books that I’ll immediately start looking for and read. Thanks for this treasure Marcus!

  4. Avatar for Marcus Biel Stephen Hartley says:

    Michael Feathers, Working Effectively with Legacy Code is also a must-read for anyone who has the misfortune to work with a large codebase with an absence of test coverage, which, in the real-world, is pretty much all of us at some time.

    • Avatar for Marcus Biel Marcus Biel says:

      It is a good book which I also have in my large library of Java books, but it didn’t make it into my “must-reads” section on purpose. It was written in 2005 and seems a bit outdated. Also I am missing a bit the “hands-on approach” in this book.Today I would do a refactoring guided by Unit-Test + Mockito, so the book “Pratical Unit Testing with JUnit and Mockito” seems to be a better guide for refactoring, these days.

  5. Avatar for Marcus Biel Toby Ke says:

    Hey Marcus,

    this list really is great. I just recently finished The Pragmatic Programmer and started with Effective Java and just ordered a copy of Clean Code.
    From what I’ve read on the internet so far, many people call these books a must-read and to become a good software engineer you ought to know about them. Thanks for sharing them, anyway.

  6. Avatar for Marcus Biel Charles says:

    Hello Marcus,

    Yours is by far one of the most resourceful and practical websites that I have come across so far this year.

    Watch out for my reviews about your tutorials. I want to take my time and go through them all.

    Cheers.

Leave a Reply

Your email address will not be published.