Recommended books for Software Industry professionals
Become a DrinkBird insider
Get updates on my newest stories, tutorials, interesting books I come across and more.
Very low frequency. Your privacy, guaranteed. Unsubscribe any time.
Updated October 2019
These hand-picked book collections have helped my skyrocket my career in the Software Industry. Apart from pushing me to become a better professional, they have also inspired me to pursue personal goals and overall achieve more in life. This intro used to be much longer, and all the book descriptions used to be in this page, but I have decided to move my thoughts on books to the end and book descriptions at their respective collection’s page.
Whether you are a Software Engineer, DevOps Engineer, Architect or Manager, I guarantee that you can find something that deserves a spot in your personal book collection. Most of the books in this list I have read more than once, as the experiences I acquire between reads help me see that knowledge in a different light.
You can only connect the dots looking backwards. – Steve Jobs
I tend to update this list about once or twice a year. To get notified when this happens, you can subscribe to the DrinkBird newsletter (a very low frequency newsletter).
Jump to collection:
Software Engineering - Architecture and Microservices Books
This book collection deals with all things architecture, from design to implementation, with a focus on microservices.
Microservices, what a topic! Everybody seems to be developing microservices, but if you ask a hundred people to describe their approach you will most likely get as many deviating answers. The reasons are many, but it all boils down to proper education.
Blog posts and YouTube videos can be valuable sources of information, but I’ve found the signal-to-noise ratio to be quite low so I don’t spend much of my time there. On the other hand, I’ve realized that peer-reviewed work that has gone through a publishing process has a much better chance of offering a high return on investment.
Having survived a few years of designing, developing, shipping and operating numerous cloud-native microservices at scale makes me truly appreciate the books that have helped me stepping up my engineering game. I’m confident that this collection will help you get your architecture skills to the next level.
Software Engineering - Software Development Books
In this collection you can find some legendary books that have left their mark on the industry, plus many more that can help you strengthen different angles of your career as a programmer.
Towards the end you will notice a few books about functional programming with .NET and F#, a niche that I have been working with for a few years now. At first I felt like a fish out of water, but once I got the hang of it I was able to build really cool software and improve my overall skills in software development.
Software Engineering - Career Building, Professionalism and Inspiration Books
Technical knowledge alone won’t get you very far. To get anything meaningful done, you will need to work with lots of people from many different backgrounds, each having their own agenda and incentives, sometimes not even knowing (or caring) about how software development works.
Also no career comes without its ups and downs. Every now and then you might find yourself demotivated, or lacking inspiration to get creative work done. As a professional, it is your responsibility to ensure that you work output is of high quality, reliable and effective while coordinating with everyone else, no matter if you feel like it or not.
And since software development is a team sport, inspiring and influencing others is key to becoming a force multiplier and making an impact, therefore good communication and other soft skills are imperative to your growth.
In this collection you will find the books that forged me from a laborer into a professional.
Laborers are hired to take direction. Professionals are hired to ensure that the direction chosen makes sense. – Robert C. Martin
Governance, Product Management and Technical Project Management Books
If your business depends on software and you have any kind of authority, you are responsible for treating software engineering with respect and making sure that you understand what it takes to utilize it efficiently and reliably. Human lives may depend on it.
We are turning the U.S. Air Force into a software company that happens to deliver airpower.
– Adam Furtado, Chief Product Officer at Kessel Run / U.S. Air Force, UXDX 2018
If the world’s largest bureaucracy can undergo such a significant digital transformation, then so can your business.
If every CTO, VP, director, product stakeholder, manager and engineer were to read even a subset of books in this list, our industry would be in a much better shape, whether you realize that your organization is a technology one, or still kid yourself that is not.
Thoughts on books
Not all books have the same lifespan
Some people believe that since technology advances so rapidly, books become obsolete the moment they hit the shelves. Although that’s true in some occasions, it ignores an important distinction between different book types.
Knowledge is divided into two categories, information and fundamentals. The former includes specific knowledge that helps people deal with certain problems and usually has a short lifespan, whereas the latter includes broadly applicable knowledge which isn’t constrained to a specific implementation and can be relevant for years.
Especially books around people and behavior can be relevant for a lifetime, as technology changes but people don’t.
Having a solid skill set based on fundamentals can help us learn new technologies on demand, rapidly adapt to new requirements and ultimately live a more fulfilled professional life. Skills based on information have to be built on top of fundamentals.
Note: I have included a few exceptional books that live in the cross section between information and fundamentals. I make an effort to keep those in my lists only as long as they remain relevant.
Don’t judge a book by its
cover programming language
It is common for books that target fundamental knowledge to utilize specific programming languages to illustrate their examples. Some people get discouraged and reject the book if they haven’t worked with that language before, or have no intention of using it in the future.
Fundamental knowledge is widely applicable. Learning a concept or technique in one technology stack and transferring the implementation to another should be business as usual. Smart engineers have no such limits.
Success is a process, not a moment
Investing in your craft takes a lot of time and effort. Reading one book won’t bring you success overnight, but creating a habit of reading books regularly - along with plenty of practice - will definitely transform you to a better engineer and stronger professional.
Got any book suggestions of your own? Don’t hesitate to drop a line in the comments below!
Did you enjoy this post? Spread the word by giving it a share, and happy coding!