Book recommendations for programmers from Josh Long
Josh (@starbuxman) is the Spring Developer Advocate at Pivotal. Josh is a Java Champion, author or co-author of 6 books. He was also one of the speakers at ITkonekt 2019 and ITkonekt 2020.
We’ve talked to Josh about the books he’d like to recommend to his fellow coders. Here are some of his favorites, accompanied by Josh’s comments and suggestions of course.
The first book on the list is Software Engineering at Google: Lessons Learned from Programming Over Time (by Titus Winters, Tom Manshreck, and Hyrum Wright). Josh says this is a valuable book that gives you a clear picture of what one of the most automated, sophisticated IT organizations on the planet does when building, deploying and managing systems and services.
Then, there is Kubernetes: Up and Running – by Josh’s account, a fantastic book by Google’s Kelsey Hightower, Microsoft’s Brendan Burns and Josh’s colleague at VMware, Joe Beda. Brendan and Joe are two of the co-founders of Kubernetes. Josh says it’s a must-read for the platform that seems to underpin all other infrastructure.
The next one is Release It! – a must-read book by Michael T. Nygard that helps introduce patterns and primitives to support production-worthy systems and services. Josh says this book should be read first, and then followed by Software Engineering at Google: Lessons Learned from Programming Over Time.
Another one is Domain Driven Design, by Eric Evans, which Josh says helps introduce or clarify some of the most important concepts in architecture today including repositories, bounded contexts, CQRS, etc. He thinks this book is more valuable in 2020 than the original Design Patterns book.
Josh also recommended The Phoenix Project, by Gene Kim, Kevin Behr and George Spafford. He says this is not really a technical book so much as a work of fiction, but it does describe an IT organization that is struggling to keep up with demand, burdened with inefficient structures, and demoralized. It demonstrates, through a very amusing story that will make you laugh and cheer, how this organization overcame these issues by adopting ideas like agile programming, Lean manufacturing, continuous integration and delivery, DevOps, cloud computing, microservices, and more.
There’s not much to add to this, except to say that you should also definitely check out Josh’s new book Reactive Spring if you want to learn how to build more resource-efficient, scalable, resilient, reactive systems and services with Spring. 🙂
What do you think about Josh’s book recommendations? Do you want to share which books have been useful to you? Leave a reply and let us know. 🙂