The best books for programmers

1 authors have picked their favorite books about programmers and why they recommend each book.

Soon, you will be able to filter by genre, age group, and more. Sign up here to follow our story as we build a better way to explore books.

Shepherd is reader supported. When you buy through links on our website, we may earn an affiliate commission (learn more).

The Imposter's Handbook

By Rob Conery,

Book cover of The Imposter's Handbook: A CS Primer for Self-taught Developers

Wow! This book is exactly what every programmer has always wanted to know or even felt guilty about not knowing and it’s all presented in an extremely simplified and fun way. 

This is one of those books where you get excited in the morning when you wake up because you know you are going to be able to read more in the book and you are hoping the book will never end.

It’s rare to find a big book that I enjoyed reading so much and felt so short. This book covers almost everything you ever wondered about computer science. After reading this book, I felt like I finally understood everything a programmer was supposed to know and I no longer felt that nagging feeling of being an imposter.


Who am I?

I love to expand my knowledge and learn not just about new technologies, but how things work. I find it fascinating to dig deep into computer programming, technology concepts, and really geek out on things. That’s why I love software development or programming books that aren’t just about some technology and how to do something, but rather books that really make you think and teach you not just programming skills but critical thinking about problem-solving skills. As a software developer for over 15 years and a person who teaches software developers, I have learned that if someone isn’t entertained, they aren’t learning. That’s why I put together a list of fun, entertaining and useful books.


I wrote...

Soft Skills: The Software Developer's Life Manual

By John Z. Sonmez,

Book cover of Soft Skills: The Software Developer's Life Manual

What is my book about?

For most software developers, coding is the fun part. The hard bits are dealing with clients, peers, and managers, staying productive, achieving financial security, keeping yourself in shape, and finding true love. This book is here to help.

Soft Skills: The software developer's life manual is a guide to a well-rounded, satisfying life as a technology professional. In it, developer and life coach John Sonmez offers advice to developers on important "soft" subjects like career and productivity, personal finance and investing, and even fitness and relationships. Arranged as a collection of 71 short chapters, this fun-to-read book invites you to dip in wherever you like. Soft Skills will help make you a better programmer, a more valuable employee, and a happier, healthier person.

Daemon

By Daniel Suarez,

Book cover of Daemon

There is something about digitized neon worlds that captures a reader’s imagination each time. In Daniel Suarez’ Techno-thriller and Postcyberpunk novel, Daemon, an eponymous operating system is activated to take over multiple socio-political and economic systems. While Daemon is never directly personified in the novel, its digital influence is so majorly interwoven with the novel’s many storylines I can easily consider it an honorary character. The novel’s “government by algorithm” was my inspiration for Algo, the A.I. behind the Neon God’s Algorithm introduced in my Neon Science-Fiction novel. To me, the book reads like a darker, more technologically-elaborate Ready Player One; one in which the morality of automated decision-making is profoundly questioned. More than a science fiction novel, Daemon is a cautionary tale of the software-ruled world we are building.


Who am I?

After experimenting with fictional digitized worlds for the greater part of a decade, my writing journey has led me to discover a new, never-before-tried flavour of science fiction. My name is Louise Blackwick and I am the creator of Neon Science-Fiction – a subgenre of sci-fi that combines stylistic, thematic, and aesthetic elements of Post-Cyberpunk, Cyber noir, and Nanopunk. The reading list I compiled includes five science fiction stories that both influenced and facilitated the birth of this fresh and hopefully thought-provoking new genre. I hope Neon Sci-Fi can be a stimulating new addition for science fiction readers and authors alike.


I wrote...

5 Stars

By Louise Blackwick,

Book cover of 5 Stars

What is my book about?

Five days before the inevitable end of humanity, five unlikely heroes find themselves on an impossible quest to outlive the apocalypse. Aurora, Stella, Rolf, Tümay, and Sorano must challenge themselves to beat the Neon God’s Algorithm in a crumbling, totalitarian, surveillance state complicated by crime, technology, and civil unrest. Under the ubiquitous eye of the Neon God, they set out to collect “Gold Stars” – an elusive, difficult to obtain, merit-based currency – and secure a seat on the last shuttle to Luna. In a desperate attempt to save her baby daughter, Aurora must navigate the Dark and do her utmost to survive the last technological remnants of a dying civilization.

A ground-breaking story, written in a never before seen genre of fiction - Neon Science-Fiction.

The Clean Coder

By Robert C. Martin,

Book cover of The Clean Coder: A Code of Conduct for Professional Programmers

Robert (Uncle Bob) Martin is the recognized go-to person for books on creating quality code. This is the first in a series of books that include The Clean Coder, Clean Architecture, and a number more. His advice and guidance in Clean Code have made a significant difference in my personal coding habits and best practices. This is an indispensable book for all programmers, no matter what they are coding or how much experience they have


Who am I?

I have been coding for over 30 years. I’ve seen some miserable interfaces, and some large programs that collapse under their own weight. Software was, at one point, notorious for being late, over budget, and unreliable. These books have helped turn the corner on these failings, and I have found each of them very valuable in my day-to-day programming. While you can learn technique and even languages online, the kind of insight found in these books is rare and worth spending time and money on.


I wrote...

Git for Programmers: Master Git for effective implementation of version control for your programming projects

By Jesse Liberty,

Book cover of Git for Programmers: Master Git for effective implementation of version control for your programming projects

What is my book about?

Git for Programmers comprehensively equips you with actionable insights on advanced Git concepts in an engaging and straightforward way. As you progress through the chapters, you'll gain expertise (and confidence) on Git with lots of practical use cases.

After a quick refresher on git history and installation, you'll dive straight into the creation and cloning of your repository. You'll explore Git places, branching, and GUIs to get familiar with the fundamentals. Then you'll learn how to handle merge conflicts, rebase, amend, interactive rebase, and use the log, as well as explore important Git commands for managing your repository. The troubleshooting part of this Git book will include detailed instructions on how to use bisect, blame, and several other problem-handling techniques that will complete your newly acquired Git arsenal.

The Pragmatic Programmer

By David Thomas, Andrew Hunt,

Book cover of The Pragmatic Programmer: Your Journey to Mastery

A full collection of self-reflecting ideas about how to approach coding from a strategic point of view. While some of it can be a bit obvious for the experienced developer, it can be invaluable for the newcomer and it’s always great to solidify knowledge in a more consistent way. The kind of book that you can read again after a few years and keep learning.


Who am I?

Since I was a kid, I’ve been passionate about technology and had a clear vocation to work with computers. I’ve been a developer for more than 20 years now, spending half of them mainly in the Python environment, and I’ve always been interested in improving my skills. While it’s true that software development is a field that changes constantly and technology evolves at great speed, there are some elements that remain relatively unchanged and can be used to compound knowledge and ability. In particular, the elements that are closer to the human element, teamwork, coordination, etc. are quite stable over time.


I wrote...

Python Automation Cookbook

By Jaime Buelta,

Book cover of Python Automation Cookbook

What is my book about?

Python Automation Cookbook is a collection of recipes that aim to present the power of the Python programming language as a way of making a computer do the heavy lifting in a lot of repetitive tasks. Some examples present in the book include dealing with files, creating graphs, working with emails, web scrapping, sending SMSs, or marketing examples.

Python is a great language because is easy to learn and to use, and at the same time is powerful and extensive, having a great community. While a bit of knowledge of Python is assumed, the book is aimed at non-experts and casual users that can learn how to automate their own tasks.

Programming Pearls

By Jon Bentley,

Book cover of Programming Pearls

Even though this book is a bit older, I had a ton of fun doing the programming problems in this book. This book really makes you think outside the box as a programmer and try to solve various problems in different ways depending on what you are trying to optimize for.

I really learned a lot about not just solving a problem, but solving a problem for a specific set of goals. Overall it made me a better programmer and made me think more deeply about programming problems.

If you want to improve your problem-solving skills and have fun doing it, I would definitely recommend this book.


Who am I?

I love to expand my knowledge and learn not just about new technologies, but how things work. I find it fascinating to dig deep into computer programming, technology concepts, and really geek out on things. That’s why I love software development or programming books that aren’t just about some technology and how to do something, but rather books that really make you think and teach you not just programming skills but critical thinking about problem-solving skills. As a software developer for over 15 years and a person who teaches software developers, I have learned that if someone isn’t entertained, they aren’t learning. That’s why I put together a list of fun, entertaining and useful books.


I wrote...

Soft Skills: The Software Developer's Life Manual

By John Z. Sonmez,

Book cover of Soft Skills: The Software Developer's Life Manual

What is my book about?

For most software developers, coding is the fun part. The hard bits are dealing with clients, peers, and managers, staying productive, achieving financial security, keeping yourself in shape, and finding true love. This book is here to help.

Soft Skills: The software developer's life manual is a guide to a well-rounded, satisfying life as a technology professional. In it, developer and life coach John Sonmez offers advice to developers on important "soft" subjects like career and productivity, personal finance and investing, and even fitness and relationships. Arranged as a collection of 71 short chapters, this fun-to-read book invites you to dip in wherever you like. Soft Skills will help make you a better programmer, a more valuable employee, and a happier, healthier person.

What Should I Do with My Life?

By Po Bronson,

Book cover of What Should I Do with My Life?: The True Story of People Who Answered the Ultimate Question

I love it when authors want to tackle an enormous question that we have all asked at some point. Po Bronson traveled to meet people who are both unique and common, impressive and ordinary, and ultimately just like everyone else. They share how they’ve tackled the question for themselves. There is no formula, no one way, and that comes with a certain sense of freedom. 

My favorite story features a man who is working to revolutionize the income model of America’s Native Peoples to elevate both their stature and power (literally). He is working on a 50-year plan, which impressed me and was an apt reminder that sometimes the fruits of our labors come many years later.


Who am I?

I am an anthropologist and former owner of a tech company. I saw firsthand how technology was changing society in the early twenty-teens, and knew that we were experiencing a compounding paradigm shift. I have a passion for telling stories and preserving the past for future generations — the stories that our grandchildren will ask about, just as we asked our grandparents about the great wars and depression.


My book is...

Stories of Elders

Imagine growing up with the first radio in your neighborhood or using a crank car to go to school each day, and now using an iPhone for your daily communication. Stories of Elders documents the high-tech revolution through interviews with those that lived its entirety. They share what it was like to see an airplane for the first time, watch a man walk on the moon, and received the first polio vaccines. They developed technologies like our first spy satellites, built the Saturn V, and transitioned their offices from typewriters to word processors to smart tablets. How has technology changed America? The Greatest Generation tells all in this unique book.

Why Software Sucks...and What You Can Do About It

By David S. Platt,

Book cover of Why Software Sucks...and What You Can Do About It

This book changed my entire perspective on writing the UI and UX of great software. Even the revised edition is a bit old but still has many valuable lessons to teach. Platt established many of the fundamental principles of writing usable and transparent software, and his book should be read not only by designers, but perhaps especially by programmers.


Who am I?

I have been coding for over 30 years. I’ve seen some miserable interfaces, and some large programs that collapse under their own weight. Software was, at one point, notorious for being late, over budget, and unreliable. These books have helped turn the corner on these failings, and I have found each of them very valuable in my day-to-day programming. While you can learn technique and even languages online, the kind of insight found in these books is rare and worth spending time and money on.


I wrote...

Git for Programmers: Master Git for effective implementation of version control for your programming projects

By Jesse Liberty,

Book cover of Git for Programmers: Master Git for effective implementation of version control for your programming projects

What is my book about?

Git for Programmers comprehensively equips you with actionable insights on advanced Git concepts in an engaging and straightforward way. As you progress through the chapters, you'll gain expertise (and confidence) on Git with lots of practical use cases.

After a quick refresher on git history and installation, you'll dive straight into the creation and cloning of your repository. You'll explore Git places, branching, and GUIs to get familiar with the fundamentals. Then you'll learn how to handle merge conflicts, rebase, amend, interactive rebase, and use the log, as well as explore important Git commands for managing your repository. The troubleshooting part of this Git book will include detailed instructions on how to use bisect, blame, and several other problem-handling techniques that will complete your newly acquired Git arsenal.

Margaret and the Moon

By Dean Robbins, Lucy Knisley (illustrator),

Book cover of Margaret and the Moon

Margaret and the Moon tells the story of Margaret Hamilton, who wrote the computer code that was key to the US first landing on the moon. The story is full of suspense. Margaret—not the astronauts—is the real hero of the story. But what is best about this book is that it is bursting with curiosity. Margaret wonders, Why are there only DADDY Longlegs? Why aren’t more girls scientists? How big is the moon? And with each of her questions, readers themselves became more and more curious! Isn’t that fabulous?!


Who am I?

I am an award-winning children’s book author who writes stories about unexpected friends, women who did the impossible, people who are (almost) forgotten & ideas that seem too complicated until I find the right way to tell them.


I wrote...

The Stuff Between the Stars: How Vera Rubin Discovered Most of the Universe

By Sandra Nickel, Aimée Sicuro (illustrator),

Book cover of The Stuff Between the Stars: How Vera Rubin Discovered Most of the Universe

What is my book about?

The Stuff Between the Stars tells the story of astronomer Vera Rubin, who discovered dark matter. She fell in love with stars when she was a girl. But when the male astronomers of her day shut her out, she decided to study something none of them were interested in. By doing this, she surpassed them all, revolutionizing modern astronomy. She proved that the space between the stars—all that dark we see at night—isn’t empty. It’s filled with stuff. And that stuff holds our universe together.

Code

By Charles Petzold,

Book cover of Code: The Hidden Language of Computer Hardware and Software

This book is an awesome deep dive into the way the computer hardware and the low-level software systems of computers really work. As a programmer, this was extremely interesting to me. It was fascinating to see how computers evolved over time and how the programming we do today is built on top of so many other concepts and ideas.

This book was super fun to read and I couldn’t put it down. I like doing the exercises and thought experiments and really didn’t want the book to end. By the end of the book I felt like I really understood how the underlying hardware worked and I found many useful ideas I could apply to my work as a software developer.


Who am I?

I love to expand my knowledge and learn not just about new technologies, but how things work. I find it fascinating to dig deep into computer programming, technology concepts, and really geek out on things. That’s why I love software development or programming books that aren’t just about some technology and how to do something, but rather books that really make you think and teach you not just programming skills but critical thinking about problem-solving skills. As a software developer for over 15 years and a person who teaches software developers, I have learned that if someone isn’t entertained, they aren’t learning. That’s why I put together a list of fun, entertaining and useful books.


I wrote...

Soft Skills: The Software Developer's Life Manual

By John Z. Sonmez,

Book cover of Soft Skills: The Software Developer's Life Manual

What is my book about?

For most software developers, coding is the fun part. The hard bits are dealing with clients, peers, and managers, staying productive, achieving financial security, keeping yourself in shape, and finding true love. This book is here to help.

Soft Skills: The software developer's life manual is a guide to a well-rounded, satisfying life as a technology professional. In it, developer and life coach John Sonmez offers advice to developers on important "soft" subjects like career and productivity, personal finance and investing, and even fitness and relationships. Arranged as a collection of 71 short chapters, this fun-to-read book invites you to dip in wherever you like. Soft Skills will help make you a better programmer, a more valuable employee, and a happier, healthier person.

Clean Code

By Robert Martin,

Book cover of Clean Code: A Handbook of Agile Software Craftsmanship

I love writing good clean code. There is something refreshing about writing or reading code that reads more like a book than some obscure instructions to a machine. This book goes into the details of how to write “clean code” and what makes it clean.

I felt like I learned so much about writing good code from reading this book about things that you are never really taught in school or on the job as a software developer.

I found so much of the book so interesting because I could use what I was learning right away to become a better programmer.

If you want to become a better programmer and are looking for a book that will entertain you and be fun along the way, I highly recommend Clean Code.


Who am I?

I love to expand my knowledge and learn not just about new technologies, but how things work. I find it fascinating to dig deep into computer programming, technology concepts, and really geek out on things. That’s why I love software development or programming books that aren’t just about some technology and how to do something, but rather books that really make you think and teach you not just programming skills but critical thinking about problem-solving skills. As a software developer for over 15 years and a person who teaches software developers, I have learned that if someone isn’t entertained, they aren’t learning. That’s why I put together a list of fun, entertaining and useful books.


I wrote...

Soft Skills: The Software Developer's Life Manual

By John Z. Sonmez,

Book cover of Soft Skills: The Software Developer's Life Manual

What is my book about?

For most software developers, coding is the fun part. The hard bits are dealing with clients, peers, and managers, staying productive, achieving financial security, keeping yourself in shape, and finding true love. This book is here to help.

Soft Skills: The software developer's life manual is a guide to a well-rounded, satisfying life as a technology professional. In it, developer and life coach John Sonmez offers advice to developers on important "soft" subjects like career and productivity, personal finance and investing, and even fitness and relationships. Arranged as a collection of 71 short chapters, this fun-to-read book invites you to dip in wherever you like. Soft Skills will help make you a better programmer, a more valuable employee, and a happier, healthier person.

Or, view all 11 books about programmers

New book lists related to programmers

All book lists related to programmers

Bookshelves related to programmers