Best books for programmers - feature image

The best books for programmers (updated 2020)

by Sven Woltmann – July 3, 2019

In this article, I’ve compiled a list of the most relevant books for programmers. These books are on the topics programming in general, Java programming, personality development, and career development. I have read all the recommended books. The list is not complete; there are a lot more great books I have on my “to read” list. I will therefore regularly update this list.

Books for software developers are rarely suitable as audiobooks, as they often contain code examples and complex diagrams. Fortunately, there are a few exceptions. Therefore, I also indicate for each book whether it is suitable and available as an audiobook.

All links on this page are affiliate links. You can find legal information on this in the “Affiliate programs and affiliate links” section of the Privacy Policy.

Quick Navigation

Books about programming in general – Hard Skills

by Robert C. Martin

Link to the book at Amazon

In this excellent book, Robert C. Martin, also known as “Uncle Bob,” co-author of the agile manifesto, explains the core concepts of agile software development, Extreme Programming (XP), and Test-First Design (the predecessor of Test-Driven Design). He shows how to write clean, maintainable code through agile design and the application of SOLID principles. The author then demonstrates these principles and the application of well-known design patterns using three case studies developed in C++ and Java. I recommend that every programmer study these case studies intensively and implement them themselves.

The book is from 2002 and is available in a new edition from 2013, which I haven’t read yet.

Suitable as an audiobook? No. The book is full of source code and UML diagrams that are essential for understanding this book.

by Steve Freeman and Nat Pryce

Link to the book at Amazon

This book provides a practical introduction to Test-Driven Development (TDD), especially in object-oriented programming. The authors (one of whom is the developer of jMock) explain how unit tests and mock objects lead to a clean object-oriented design with reliable and maintainable code. In a case study, they design and implement an auction system in Java with a test-driven approach. I particularly recommend this book to every Java programmer. Once you’ve experienced how tests lead to more elegant design and code, you’ll never want to develop without them again.

Suitable as an audiobook? No, due to numerous code examples.

by Erich Gamma, Richard Helm, Ralph E. Johnson, John Vlissides

Link to the book at Amazon

Every programmer should actually have read this classic. “Actually,” because it is written in a very academic style and therefore difficult to read – especially if you’re a non-native speaker and read it in the original English edition. It describes some of the most relevant design patterns (if not the most relevant ones of all) and their relationships with each other in great detail. You’ll notice that the book is already 25 years old: the code examples are partly outdated from today’s point of view, and they entirely ignore newer aspects like concurrency. Nevertheless, every programmer should have this work on his bookshelf and know, recognize, and apply the classic 23 design patterns.

If you prefer something more practical, I recommend the online course “Java Design Patterns” by Dr. Heinz Kabutz, author of the well-known JavaSpecialists’ newsletter.

Suitable as an audiobook? No, due to numerous code examples and diagrams.

by John Vlissides

Link to the book at Amazon

This book by one of the four authors of the classic “Design Patterns” gives insights into the development process and describes the ten biggest misunderstandings about design patterns. Frequently used design patterns are explained using practical examples – in contrast to the very academic approach in the classic. Variations of established patterns are presented, as well as two entirely new design patterns. You don’t necessarily have to read this book, but for me, it was a very pleasant and much easier to digest read after having worked through “Design Patterns.”

Suitable as an audiobook? No, due to numerous code examples and diagrams.

by Andrew Hunt and David Thomas

Link to the book at Amazon

This book contains concentrated, practical experience from several decades of programming practice. It presents the best practices and the major pitfalls of many aspects of software development concisely and with numerous practical examples. The focus is on creating high-quality, i.e., working, flexible, reusable, and maintainable code.

The book is suitable for both beginners and advanced programmers.

Beginners find valuable knowledge in this book that would otherwise take them years or decades to build up through their own experience (although the book cannot replace that experience, of course).

Advanced programmers can find their own experience in this book in a structured form, consolidate and deepen it – and most probably take some additional tips with them.

In addition to numerous anecdotes and analogies, each section contains practical exercises, with solutions at the end of the book. A book that every programmer should read.

Suitable as an audiobook? No, due to numerous code examples and exercises.

Books about programming in general – Soft Skills

by John Sonmez

Link to the book at Amazon

In this book, developer and blog author John Sonmez gives helpful advice on building the soft skills a developer should have, and which lead to a more satisfying life as a professional software developer. It’s all about career development, self-marketing, learning, productivity, investment strategies, and financial security, fitness, and mental health – all from a software developer’s perspective. For a change, if you would like to read a book for programmers without source code and diagrams, I can recommend this book.

Suitable as an audiobook? Yes, absolutely. I particularly like the fact that John Sonmez reads his books himself and repeatedly adds a few paragraphs that are not in the book.

by John Sonmez

Link to the book at Amazon

This book is a comprehensive guide to a successful career in software development. It answers questions from all levels of the development career: How do I start my career? How do I get a job? In which direction can and should I specialize? How do I deal with superiors and colleagues? How do I earn a promotion? How do I develop myself? The book is written in a simple and entertaining form, enriched with personal anecdotes, and it is enjoyable to read.

Suitable as an audiobook? Yes, absolutely. I particularly like the fact that John Sonmez reads his books himself and repeatedly adds a few paragraphs that are not in the book.

by Chad Fowler

Link to the book at Amazon

This book gives software developers numerous helpful and practical tips for professional success and career development. The author describes which technical skills you should have as a programmer, how you should develop yourself technically, but also how you should not leave your career path to chance, and instead take your personal development into your own hands, pursue your own goals and remain motivated to realize them. In particular, he describes how you should market yourself as a programmer and gives numerous short recommendations for action.

Suitable as an audiobook? Yes, but the book is currently not available as such.

Books about Java programming

by Maurice Naftalin

Link to the book at Amazon

Mastering Lambdas is an excellent book about Lambdas and Streams, introduced in Java 8. Despite their presence in the title, Lambdas occupy only about the first quarter of the book. The major part describes Streams: how to use them, how to create them, and how to terminate them using Collectors and Reducers. I recommend this book to both beginners and advanced users. Beginners can use the book as a step-by-step introduction to the functionality of Lambda and Streams. Advanced readers learn how to develop Spliterators to generate streams as well as custom Collectors and Reducers.

Suitable as an audiobook? No, due to numerous diagrams and code examples.

by Maurice Naftalin and Philip Wadler

Link to the book at Amazon

While these days, most Java developers can skip the book’s introduction to generics, the book quickly addresses advanced topics such as Subtyping, Wildcards, Wildcard captures, and Bounds – topics that every Java programmer has probably had to deal with before, but has usually walked through compiler errors rather than knowing what they did. In the second part of the book, the author presents the essential Collection interfaces and classes of the Java Collection Framework – Sets, Queues, Lists, and Maps, as well as their implementations – and compares them regarding concurrent programming and performance. Any advanced Java programmer should be familiar with these topics.

Suitable as an audiobook? No, due to numerous code examples.

Books on personality and career development

by Cal Newport

Link to the book at Amazon

Deep work is defined as focused, concentrated work (or learning) – without distractions such as email, social media, YouTube, or deciding what to do next.

In the first part of the book, the author explains why Deep Work is of crucial importance in today's world (but rarely takes place). For example, scientific evidence shows that multitasking leads not only to so-called "attention residue" (i.e., parts of the brain continue to devote their attention to the previous task) but also to long-term deterioration in the ability to concentrate.

The second part shows ways in which everyone can master this extremely productive work practice in little time (for me, it took less than 24 hours). The basic principle here is the long-term planning of uninterrupted time blocks for work, the Internet, and leisure. Depending on your personality and the type of work, these blocks can last from a few hours to several days.

This planning reduces not only context changes but also the number of decisions you have to make every day (willpower is also a limited resource). It also increases the quality of leisure time that it completely separates from work.

The book is fun to read, and I recommend it to everyone who wants to improve their work performance, get more done in less time, and ultimately have more and better quality leisure time.

The book has fundamentally improved my productivity.

Suitable as an audio book? Yes, absolutely.

by Stephen R. Covey

Link to the book at Amazon

This book is not about seven quickly implementable "insider tips" for working more effectively. Instead, it is about holistic, profound, and timeless principles for the development of one's personality. Many areas of life are covered: from work to social context to family life.

This book is an absolute classic in the field of self-development – one of the books that everyone should have read at least once. The seven principles are even explained on Wikipedia.

Of course, it is better to read (or listen to) the whole book! I recommend it to everyone – no matter if programmer, entrepreneur, or family member. The seven habits are not limited to specific groups of people but are suitable for all people who want to work on themselves and become a better person.

Suitable as an audio book? Yes, absolutely, and it is read by the author himself.

by Tony Robbins

Link to the book at Amazon

At first, I was a little hesitant to read a book by Tony Robbins. From what I had seen of him so far, he seemed a little too much like a religious leader to me. But after this book was recommended to me from different sides, I had to give it a try. And I must say, I wasn't disappointed.

The book starts with the observation that most people are guided in their daily decisions by their environment rather than by their values – until, at some point, they feel they have lost control. To prevent this, you must resist the "flow" and take your fate into your own hands – in all areas of life. 

To do this, you need a vision, and you need to throw all doubts about your abilities overboard and instead strengthen your faith in them.

Doubts are caused by painful experiences in the past, whereas faith is built and strengthened by positive experiences. The trick is to take advantage of pain and pleasure instead of being controlled by these feelings. 

The technique for this is called "Neuro associative conditioning". Here we associate habits that we want to get rid of (e.g., smoking, television, procrastination) with pain – and patterns that we want to adopt (e.g., healthy eating, regular exercise, continuing education) with joy.

The book explains this technique step by step, using many practical examples. I recommend it to anyone who wants to take their life (again) into their own hands.

Suitable as an audiobook? Yes, and it is read by the author himself.

by Scott Adams

Link to the book at Amazon

In this guide, Scott Adams recounts how he went from dissatisfied office worker, through many failures, to finally become the creator of Dilbert, one of the world's most famous comics. He attributes this success to his following attitude to life:

1. Proper nutrition and exercise come first; both lead to more energy, productivity, and creativity.

2. Success is, first and foremost, luck. You cannot directly influence luck; however, through your actions, you can actively improve the chances of luck finding you.

3. Goals are for losers, and systems make you a winner. Goals (e.g., "I want to lose 20 pounds") can be so far away that you give up before you reach them. Systems ("I eat healthy food and exercise regularly") have no deadlines, can be pursued regularly, and make you happy whenever you apply them.

The author does not leave it at these abstract paraphrases but explains how he develops his systems and how you, as a reader, can set up your own. His trick is to imagine himself as a biological robot that a) has to be filled with proper input (healthy food leads to energy, positive thinking to good mood), and b) can be reprogrammed (e.g., to prefer healthy food over unhealthy food).

I recommend this book to anyone who doesn't want to read the same self-help guides over and over again, but one that partly contradicts traditional knowledge and that "ordinary" people who work 40 hours a week, who have families, can apply.

Suitable as an audiobook? Yes, but I’ve read the printed version and therefore cannot judge the audiobook edition.

by Roger Fisher and William Ury

Link to the book at Amazon

This book is a well-structured, easy-to-understand guide to better success in negotiations. It does not teach how to get more out of a negotiation than the negotiating partner. Instead, it focusses on how to work together to achieve a result that satisfies all parties.

The method presented is “principled negotiation” or “negotiation on the merits.” Its core elements are: Treat people and interests separately, concentrate on interests and not on positions, find decision options, and insist on objective evaluation criteria.

After describing the negotiation method itself, the authors advise on how to deal with difficult negotiating partners who do not (or do not want to) behave according to this method. Since we programmers also end up at the negotiating table, again and again, I can recommend this book to everyone.

Suitable as an audiobook? Yes, but I’ve read the printed version and therefore cannot judge the audiobook edition.

by Chris Voss and Tahl Raz

Link to the book at Amazon

The methods presented in "Getting to Yes" work well as long as the negotiating partner eventually embraces them, and the goal is a satisfactory outcome for all parties. But how do you negotiate with tough opponents?

The author is the former FBI chief international hostage and kidnapping negotiator – a role in which he could hardly compromise. He uses real-life situations to explain the negotiation methods he developed during his time with the FBI – some of which have turned previous best practices upside down.

After his career at the FBI, the author has successfully transferred his concepts into everyday and business life. He presents effective principles with which we can better negotiate and resolve conflicts in everyday life – from buying a car and negotiating salaries to private and family life.

The book is entertaining, and I highly recommend it due to a wide range of practical and immediately practicable advice.

Suitable as an audiobook? Yes.

by Susan Cain

Link to the book at Amazon

A book that helps introverts (I count myself among them) to understand themselves and a world dominated by extroverts, to accept their qualities and to use them to their advantage. Also, a book that helps extroverts understand why introverts are the way they are, what positive and helpful qualities they have, and when to listen to them.

Suitable as an audiobook? Yes, but I’ve read the printed version and therefore cannot judge the audiobook edition.

To go with the book, I recommend Susan Cain’s TED Talk “The power of introverts.”

by Dale Carnegie

Link to the book at Amazon

Even though we software developers like to sit back at our desks, we have to get along with other people all our lives. This book shows you how this works best: how to make people like to be in your company and how to make friends; how to avoid arguments; how to make people see your view of things and do what you want without feeling pressured.

The book is 83 years old, believe it or not! Nevertheless, every single piece of advice is up to date. The fact that the examples given are almost a century old initially takes a little getting used to, but quickly makes the book very entertaining.

Suitable as an audiobook? Absolutely yes. I found it very pleasant to listen, almost as if it had been read out by the author himself.

by Simon Sinek

Link to the book at Amazon

“Why is Apple so successful when it’s just a computer company like many others? Why did Martin Luther King lead the civil rights movement when he wasn’t the only good speaker to suffer racial discrimination? And why did the Wright brothers manage to do controlled motorized flights when others were better qualified and better-financed?” In this insightful book, the author presents answers to these questions in a very inspiring way: All these personalities placed the question “Why” before their actions. Among other things, this book led me to search for my personal “Why” and finally to start this blog.

Suitable as an audiobook? Yes, but I’ve read the printed version and therefore cannot judge the audiobook edition.

I also highly recommend Simon Sinek’s TED Talk, “How great leaders inspire action,” which presents the contents of the book in a condensed form. This talk is so inspiring that I’ve probably watched it more than ten times.

Books about Career and Entrepreneurship

by Eric Ries

Link to the book at Amazon

"Lean Startup" describes a management approach to bring new products to market faster and more successfully. The term "startup" does not refer to the size or age of a business, but to an organization that creates something new under extremely uncertain conditions.

In traditional development, new products are designed and developed for months or sometimes years to eventually determine that potential customers have no interest in the product.

Lean Startup, on the other hand, is about bringing a rudimentary prototype, a so-called MVP ("Minimal Viable Product"), to market as early as possible. The goal is to receive customer feedback as quickly as possible and - based on this - to improve the product ("Build-Measure-Learn" product cycle).

The book is particularly worth reading because the author does not only explain the lean startup approach. Instead, he vividly reports how he developed it based on his own painful experience.

Suitable as an audiobook? Yes, absolutely, and the author reads it himself.

by Nathan Furr and Paul Ahlstrom

Link to the book at Amazon

The number of successful businesses, measured by the number of start-ups, is small. Most entrepreneurs fail. But if the probability of success is so low - why do successful entrepreneurs exist who repeatedly manage to be successful and innovative?

The authors have spent years investigating what distinguishes successful from unsuccessful entrepreneurs. They have analyzed recurring patterns, and, with the "Nail It Then Scale It" method, they present a timeless step-by-step process that successful entrepreneurs follow to minimize risks and increase the probability of success.

The method is based on the realization that entrepreneurs do not fail because they cannot build a product. Instead, they fail because they build a product that nobody wants.

Instead of following their instincts, entrepreneurs should proceed scientifically and unemotionally. It is necessary to identify a monetizable pain, i.e., a problem that customers are willing to spend money on. Then they should verify this need, and finally – together with the customers and through early prototypes and feedback – develop a solution. Just like in agile software development.

Suitable as an audiobook? Yes.

by Clayton M. Christensen, Taddy Hall, Karen Dillon, David S. Duncan

Link to the book at Amazon

Similar to "Nail It Then Scale It," this book deals with how successful innovation can be systematically planned so that customers are willing to pay premium prices for the products and services offered.

However, the focus in this book is not on the product development process itself, but on why customers spend money on specific products and services.

The answer is to be found in the so-called "jobs to be done" theory: customers do not buy products and services; instead, they hire them to do a particular job.

One product can be used for a variety of jobs: a daily newspaper, for example, provides information, covers waiting times, helps people find a job, offers relaxation after work – all tasks for which completely different products can be used today. Likewise, different products can be used for the same job: For relaxation after work, I can hire Netflix, my smartphone, family, and friends.

To succeed with innovation, an entrepreneur must understand what job his product does for the customer. Otherwise, he risks being taken over by a competitor with a product that does the job better.

The book explains the theory and its application in practice with numerous vivid and convincing examples, which makes the book very entertaining and worth reading.

Suitable as an audiobook? Yes.

Books about Online Marketing

As a software developer, it is essential to market yourself. That's why I write this blog. And therefore, I've listed a few books about online marketing here – even if it is not the major topic of this blog.

by Russell Brunson

Link to the book at Amazon

Russell Brunson polarizes, he's loud, it's exhausting to listen to him, you don't have to like him. But: you have to admit that with ClickFunnels, he has built an online marketing empire worth several hundred million dollars.

In this book, he summarizes his experience of more than a decade and the "secrets" of his success in clear, simply written, understandable instructions that even online marketing beginners can use to multiply their conversion rates.

Brunson describes the concepts of the "value ladder", the "sales funnel", cold, warm and hot traffic, and how to build the appropriate sales funnel for your products on the various stages of the value ladder and for the different traffic temperatures – phase by phase – from building blocks and scripts.

I recommend this book to anyone who wants to successfully market their online business or "just" their blog.

You can order the book for free directly from the author; you only have to cover the shipping costs.

Why does the author publish this book for free?

The book is part of his marketing mix: The author expect so many readers to buy more of his products in the future that he will end up making a profit.

Alternatively, you can order the book from Amazon, which comes to approximately the same price as international shipping from the author. If you live in the US, it is cheaper to order the book from the author’s website.

Not available as an audiobook.

by Donald Miller

Link to the book at Amazon

Are you self-employed or a founder? Do you often find yourself in the situation of having to describe your product or service in one sentence? Then this book is just right for you!

The StoryBrand framework presented in this book helps you to attract the attention of your customers and to communicate the advantages of your products in a clear, convincing, and comprehensible way.

Nothing makes people listen better than a great story. That's why you position yourself as the guide who accompanies the hero (the customer) on his journey to success. Exactly like in a good story or a Hollywood blockbuster.

The book is well structured, very practical, and presents the analogy to the hero's journey in an appealing using various examples. You can start right away to apply the framework to your product.

Therefore: a definite recommendation for every freelancer and entrepreneur - and those who want to become one!

Suitable as an audiobook? Yes, and the author reads it himself.

by Jim Edwards

Link to the book at Amazon

You can have the best online product in the world – you won't sell it without marketing. An essential part of marketing is copywriting. With the right copywriting, you can increase your sales many times over.

The ability to write good copy is not born, you can learn it. This book shows how to do this using recurring and memorable patterns, formulas, and text modules.

Good writing is not only essential for copy – you can also apply what you learn to other texts such as blog posts and tutorials. With the right headings, you get readers to click on your articles; with well-written texts, you make your articles enjoyable and invite your readers to stay on your website.

After reading this book, I reread some of my articles and thought: What have I written? Who should click on that? Or: Nobody can understand that! Or: That's just boring!

You can order the book for free directly from the author; you only have to cover the shipping costs.

Why does the author publish this book for free?

The book is part of his marketing mix: The author expect so many readers to buy more of his products in the future that he will end up making a profit.

Alternatively, you can order the book from Amazon, which comes to approximately the same price as international shipping from the author. If you live in the US, it is cheaper to order the book from the author’s website.

Not available as an audiobook.

Bonus: Novels

Mostly I read technical books. But now and then, when I get a good recommendation, I also read a novel. I want to recommend some of the books that fascinated me most:

by Gene Kim, Kevin Behr, George Spafford

Link to the book at Amazon

An entertaining and insightful story about the transformation of an old, traditional IT department into a modern agile DevOps team.

Bill is appointed head of the IT department and is to help the “Phoenix” IT project, which is under massive pressure from features and deadlines, to succeed. He is confronted with problems that many of us know only too well: Uncompleted features planned months in advance; manual deployments that go wrong and keep the operations department awake night after night; developers who blame operations and vice versa; employees who turn directly to developers – bypassing all processes. Bill has 90 days to fix the mess; otherwise, his department will be outsourced.

Suitable as an audiobook? Yes, absolutely.

by Orson Scott Card

Link to the book at Amazon

Ender’s Game is the first part of a science fiction epic and, for me, one of the best novels I’ve ever read. The story is about a young boy, Ender, being recruited for a training program to defend Earth against a threatening invasion by an alien species. I don’t want to tell you more about the plot. There are several follow-up novels – the first four parts are also available as a set: The Ender Quartet.

Suitable as an audiobook? Yes, including the sequels.

by Neal Stephenson

Link to the book at Amazon

An epic science fiction story that feels like a work comprising several novels, and that captivated me from beginning to end. Something completely different than I’ve known before. I don’t want to tell anything about the story so as not to take the tension away. I also recommend not reading the description on Amazon, because, in my opinion, it reveals too much. Barack Obama and Bill Gates both recommended this book.

The book has “only” 4.0 stars at Amazon – a rating that I cannot comprehend. Most readers criticize that the author describes technical correlations in too much detail. I liked that, and therefore, it is a definite recommendation for every other programmer.

Suitable as an audiobook? Yes.

Did you like the article? Then I’d be happy if you shared it with one of the following share icons.

You might also like the following articles
{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}