Thursday, March 15, 2018

Top 20 Java Books of 2017 Which You Can Read in 2018 - Best of Lot

Only a few days have left in 2017 and while I am busy making my goals for 2017, I am also looking back on what I have done in 2017. One of the things which I would like to share with you guys is some of the books I have read in 2017 on Java and related technologies. This includes books on Hibernate, Object-oriented programming, Algorithms, Soft skills, Microservice, Groovy, Scala, Agile, and UML etc. If you haven't read them yet, you can very well read them in 2018, depending on what technologies and programming languages you are going to learn in 2018.

Btw, one of the first book to read in 2018 for Java programmers should be the Effective Java 3rd Edition. It's released on 27th December and covers JDK 7, 8, and 9. I have already pre-ordered this book on November and eagerly waiting to see in my hands on the first/second week of January.

I have been waiting for this book ever since Java 8 was released so I am very excited to finally see it coming in 2018. If you haven't pre-ordered it yet then I suggest you do so right now to avoid disappointment come January.

There is very good chance that many people will not get this book when the first batch is shifted, ordering it ahead of time increase your chances of getting it on time.

20 Books Java Programmer Should read in 2018

Here is my list of 20 books which I have read in 2017 and you can very well read them in 2018 too. As I said, Effective Java 3rd Edition should be the first one you should read in 2018 but if you do get free time or decide to learn Java 8, Scala, Agile, or Algorithms then you can use this list to pick up a book or two.

1. Java 8 in Action
This is one of my carry forward book from 2016. I have been reading this regularly throughout 2017 while learning JDK 8 features. If you haven't read it yet or yet to start with JDK 8, 2018 is a good time to read this book. If you need tutorials on Java 8, you can also check out my list of best Java 8 tutorials here.

best Java 8 books for programmers

2. Clean Architecture
This is one of the good books I discovered in 2017. I am a big fan of Uncle Bob's writing, having read Clean Code and The Clean Coder already. These books talk more about getting your architecture right. It's one of its kind books and if you want to learn pros and cons of different software architecture, this is the book to read.

best software architecture books for programmers

3. Grokking Algorithms
This is another great book I read in 2017 and probably the best book of 2017. Even though it's very short in terms of its coverage of algorithms and data structures but whatever is covered is very entertaining and useful. It gives a new life to the old concepts by co-relating with modern day examples e.g. how Facebook might store its users. 
best Algorithm books for programmers

In short, one of the must-read books for beginners who want to learn Algorithms in 2018, btw, if you need more suggestions, check out my list of here

4. Building Microservices: Designing Fine-Grained Systems
Everyone is talking about Microservices but what are they? What is the main benefit of Microservice architecture over monolithic one? This book answers all of those questions, I have to yet to finish the book so I am going to read it in 2018 as well.

best Microservices books for programmers

5. Soft Skills
One of the thing which many programmers ignore is soft skills e.g. email writing, focusing on career growth and improving themselves. This is a great book from John Sonmez and If you feel that you have stuck in your career or wants to give it a boost in 2018, this is the book you should read.

best soft skill books for programmers

Btw, If you need more recommendation on soft skill and career development book, check out my full list here.

6. Database Design for Mere Mortals
One of the old but good book on Database design. I love to find a good old book which is still relevant and this was the one. If you are interested in learning database design or want to improve your database modeling still this provides a good starting point. If you need more recommendation, please see my full list of database design books here.

best database design books for programmers

7. Making Java Groovy, by Ken Kousen
In 2017, I got a chance to work on Groovy little bit and this was the first book I read to learn Groovy. If you decide to learn Groovy in 2018, this book provides a good foundation from Java programmer's perspective. It just gives you enough detail to bring you up to speed without giving you unnecessary detail which you might not understand at the start.

best Groovy books for Java programmers

8. Groovy in Action, Second Edition
This was the second book I read on Groovy in 2017. Even though Making Java Groovy is good to start with it's not comprehensive and once you learn the basics of groovy and wrote a couple of Groovy scripts, you need more detailed information and that's where this book rocks. If you are learning Groovy in 2018, you can also refer this book.

best book to learn Groovy

9. TCP/IP Illustrated
One of the books which I least enjoyed but still found it very useful. I have yet to finish with this one but if you have to go deep on TCP/IP this is the book to read.

best book to learn TCP/IP protocol

10. UML Distilled by Martin Fowler
In 2017, I had to write a couple of UML diagrams and this is the book I read to refresh my knowledge about UML. If you decide to learn UML in 2018, you can also check out this book.

best book to learn UML

11. Hibernate Tips
This is one of the most useful Java books from 2017 written by fellow blogger Thorben Jenson. This book provides 70 practical tips on Hibernate. If you use Hibernate then these tips are good to fill your knowledge gaps and if you decide to learn Hibernate in 2018, you can use this book to give your learning a new dimension.

Best book to learn Hibernate for experienced programmers

If you prefer online courses for learning along with books then I also suggest you checkint out Spring and Hibernate MasterClass from Udemy. You can get this course in just $10 on their New Year Sale starting from 1st January 2018.

12. The Art of Agile Development
I have been using Agile for quite some time but I still like to read books on Agile to refresh my knowledge and learn one or two new things. This one turned out to be a good book on Agile and even regular users of Agile can learn a thing or two from this book.

Best book to learn Agile

13. Essential Scrum
I have been playing the role of Scrum Master in 2017 and this was the book I read to get myself ready for the role. Scrum works great with small, onshore team but it gets tricky when you need to manage a big team remotely, scattered around the world.

Best book to learn Scrum

This book provides all the tools and guidance you need to run Scrum meetings and how to become a ScrumMaster. If you desire to become ScrumMaster in 2018, this is the book you should read. You can also take some of the online scrum and agile courses then I suggest you take a look at Scrum Fundamentals on Pluralisght.

14. Java Performance Companion
I had read a couple of Java performance tuning books in 2016 and before e.g. The Definitive Guide to Java Performance, so I wasn't expecting much. My only goal was to learn about G1 garbage collector which I learned from this book. If your focus is on Java Performance tuning in 2018, this book is a good starting point.

Best book to learn Java Performance Tuning

15. High-Performance Java Persistence
This was another leftover from 2016 which I finished in 2017. It's another great book on Hibernate focused on performance. If you are serious to improve your knowledge about Hibernate in 2018, I suggest you read both Hibernate tips and this book. If you prefer online courses you can check out my recommended list of course for learning Spring and Hibernate.

Best book to learn Java Persistence

16. Functional Programming in Scala
I tried to get my hand dirty with Scala in 2017 but without much success. I read a book or two but didn't do enough practice to really learn Scala. One reason of that was I wasn't using it on any of my projects and there were more important things to focus. Anyway, if you decide to focus on Functional programming and Scala in 2018, you can check out this book. I might read it again in 2018 if time permits.

Best books to learn functional programming in Scala

17. Scala for the Impatient
One more book on Scala which I looked at in 2017. I am a big of Cay S. Horstmann's writing, having read his several books e.g. Core Java Part 1 and II and Java SE 8 for the Really Impatient. This is a similar book which focuses on Scala. If you are learning Scala in 2018, this is the good book to start with.

Best books to learn  Scala

18. Head First JavaScript
I have said this before JavaScript is #1 programming language now and if you don't know JavaScript, you are missing a lot. It's a must-read for web development job and learning frameworks like Angular, React, and jQuery. If you are yet to learn JavaScript there is no better book than Head First JavaScript. Must read in 2018 for all those programmers who are yet to learn JavaScript.

Best books to learn JavaScript

19. SQL CookBook
SQL is my favorite technology and I am always looking for an interesting book on SQL. I found this one in 2017 and very happy to share with you guys as well. This is a very hands-on book on SQL and teaches you a lot of nice tips about using SQL in different databases. Read this book in 2018 if you want to improve your SQL skills. You can also use these websites to learn SQL queries to further improve your SQL knowledge.

Best books to learn SQL

20. The Complete Software Developer's Career Guide
Last but not the least, this is a great book for a very software developer. If you are serious about your career and want to take control of it in 2018. This is the book you should read in 2018. John Sonmez of explains a lot of practical stuff in this book and Soft skill which I shared earlier.

Best books to take care of career development

That's all about the top 20 books I have read in 2017. I have read even more but I am only listing 20 for your reference. You can read them too in your free time in 2018. Btw, the first book which I am going to read in 2018 is going to be the Effective Java 3rd Edition which I have already pre-ordered and waiting for it to arrive on the second week of January.


mohit gupta said...

Good list will target same in 2018.Thanks :)

Tushar Parekh said...

Very good list to start the year with! - Thank you!

Kenneth Kousen said...

Thank you for including my "Making Java Groovy" book in your list. I wanted to let you know that last August, O'Reilly Media published my latest book, "Modern Java Recipes", . If you're interested in it, feel free to contact me at and I'll arrange to have a review copy sent to you.

Javin Paul said...

Hello Ken, First of all a big thanks for writing such a practical and hands-on book like "Making Java Groovy". It really help you to get start with Groovy in no time. Sure, I'll drop you a mail. Thanks

Post a Comment