DE EN

Java Books

Head First Java

Before you start anything, you have to learn Java. That's hard, but luckily there are books which help you to get started quickly. This is one of them. It looks like a childs book first, with many illustrations and even comics. So you might want to avoid reading this in public transportation. However, it's much more than that. It is a brain friendly way to learn Java. If you have code in your genes, this will be a quick read with maximum impact. If you are really just getting started it might take a bit longer, but as long as you have fun, you can learn the basics of code using this book.

Get the book

The Pragmatic Programmer

This book is more about "how should you work" and dos not mandate or teach a specific language. It's a book about tools and everything which could help you to make your life as a junior developer easier. You can ommit this book if you are running out of time. But it's a nice read if you just got into this profession and have absolutely no idea what is going on. Read it along with with Head First Java.

Get the book

Head First Design Patterns

Once you learned Java, you might have recognized that some problems happen over and over again. In example, how can you prevent an object is created more than one time? Or maybe how can you add functionality to a class which you cannot change? These questions are old, but not unresolved. As usual, Head First Design Patterns help you in a brain friendly way to get all these patterns resolved. Like learning a language, you can learn software talk as well.

Get the book

Design Patterns

You may be one of the view persons who like to read scientific versions of books, while you could have fun ones. That's OK. Here is the original. While Head First books aim to make it accessible, the original Design Patterns book from Erich Gamma does not really care about these. Written for a language called Small Talk, it explains all important patterns for OOP. I warn you, it is a hard read. But if you love the originals, this is the one.

Get the book

Design Patterns (DE)

Erich Gamma was also translated into German, so if you prefer... just go for this one. Still a tough read, to be honest.

Get the book

Effective Java

Joshua Bloch worked for the JDK and was involved in the Collections framework. He really knows what he is talking about. In this book he is not writing about some black JDK magic, no. He is giving you - example by example - tips how you can improve readability of your code. He'd explain code which does not work so well (like having a constructor with many, many argumetns) and what you could do better - in example using the Builder pattern. Having read a book on Design Patterns will help you. But in the end you could read this one first as well. Eventually you should read this book three times anyway.

Get the book

Effective Java (DE)

As like all good books, Effective Java was also translated to German. If you prefer this language, just go for it. However, I recommend all junior developers to learn English as much as they can, so if possible, try reading the original one. Translations always suck (not always, but often).

Get the book

Extreme Programming

When you read all the books, you might have already thought about your first project or maybe how you would start your own one. Today Scrum is everywhere. But honestly, in my opinion there is something even more agile than Scrum, and that's Extreme Programming. XP is based on the ideas of Kent Beck - and others, I guess. I love this book, because he defines agile in such a nice way. If XP is broken, fix it. Not many other frameworks admit they could be broken and allow to fix themselves. He also uses the word human many times. And that's really awesome. Read this book when thinking about your first project and how it would be. Read it also when Scrum people tell you Scrum is the only source of truth.

Get the book

Refactoring

Refactoring is the process of rewriting Software in a better way. It does not mean you did wrong initially - it means something changed, and so you have to change your software as well. Refactoring is an advanced read already and you should take to read throught it. However, it was written by Mr Fowler, and he is literally one of the experts in this matter. You should read everything from Fowler. But if you can't, this is the book.

Get the book

Patterns of Enterprise Application Architecture

The EAA Patterns book is really nice. While the original patterns book define patterns in low level Java code, the EAA Patterns read into more an architectural view. How would you write a system which allows web requests to be managed by one single "thing"? Enterprise patterns is a read for everybody in the job for like 3-5 years. It may make sense before, depending on how eager you are. However, it's a hard read if you never of design patterns before.

Get the book

Test Driven Development

Of course, testing is a must. Test driven development does not only say you must test, it's a complete new paradigm and way of developing. It is not only "write your test before your code". It is a way to think about testable code, instead of just code. TDD will help you to adjust your way of thinking of testing, and that's a good thing. Testing is not your enemy, it's a tool to help you writing quality code.

Get the book

Grokking Algorithms

Grokking Algorithms is a fun read, but also an advanced one. While the previous reads where all about top-level and going higher, this one goes back to the roots. Only read this if you arrived in your job already. But then... read it. The same illustrators as seen in Head First worked in this book. It's well written, fun, easy to read, and it teaches you the great stuff which are the nuts and bolts of our software industry. It's about algorithms and how they work. Highly recommended, if you want become a pro-geek.

Get the book

Tao of Physics

The Tao of Physics is a must read for every young person. These days were can be distracted by many thoughts, like religion versus tech. But it must not always be that way. In this book, you can learn that physics has a lot to do with eastern mythology. You definitely don't have to read this to become a good developer. But if you are a curious person who like physics and want to understand, why and how eastern ideas always matched up with Quantum physics, this is a very inspirational reading. Honestly, when you made it that far in this list, it's time for inspiration.

Get the book

Lean Startup

Finally, this book. It's about creating your own thing. Finding the minimum viable product. Getting started with your own ideas. If you are reading this book, you are most likely a senior dev already and imagine to get your own ideas to live. I don't necessary say you have to read the whole book. There is some good ideas, but it is - in my opinion - also a bit bloated. You can also find many of the ideas in the web. However, Lean Startup is still a book which can be mentioned with a good conscious. It's a nice read after reading and practicing all the other books mentioned. Not the holy grail, but maybe something inspirational when you are on vacation on an Island. The main idea? YAGNI. Start small.

Get the book