The 9 Best Programming Books to Read Right Now if You Want to Distinguish Yourself

If you read just one of these best programming books this year you’ll be a step ahead of nearly everyone around you. That’s because, according to Steve McConnell, the author of Code Compete, one book is more than most programmers read each year.

Programmers seem to have stopped reading books. The market for books on programming topics is minuscule compared to the number of working programmers. Instead, they happily program away, using trial-and-error. When they can’t figure something out, they type a question into Google.

Does this sound like you?

While search engines and community forums like Stack Overflow are indispensable, there’s no way you can obtain the same depth of knowledge and perspective as you get from reading books.

The best types of programming books are ones that don’t just tell you how, but explain the why behind it.They don’t just teach you about specific languages or how to code, but how to think. They stand the test of time and will help you become a better programmer, whether you are just starting out or have been in the industry for 30 years.

Without further ado, here is the list of the top 8 best programming books to read if you want to set yourself apart and become a coding powerhouse.

1. Coders at Work: Reflections on the Craft of Programming

If you’re curious about life as a programmer than Coders at Work is the book for you. It’s packed with interesting interviews from 15 accomplished programmers and computer scientists including Joshua Bloch, Peter Norvig, Donald Knuth, Ken Thomson, and Jamie Zawinski. The author, Peter Seibel (a programmer turned writer), got interviewees to open up about the famous projects that they worked on and the inspiring stories behind them. Coders at Work gives a peek into what makes some of the greatest programmers tick and how they think. Definitely a must read!

2. Code Complete: A Practical Handbook of Software Construction

Steve McConnell’s Code Complete is considered to be the encyclopedia of practical coding and a must-read for any professional programmer. And, it’s easy to understand why – it’s a massive piece of literature at 900-pages, but each chapter is packed with suggestions and techniques to improve everyday programming and construct code that is readable and easier to manage. McConnell has a knack for presenting his material in a story format that makes the book easy to read and even entertaining. No matter what level you’re at, Code Compete will undoubtedly change the way you think about and write code.

TIP: If you don’t have time to read the book in its entirety, flip to the last three chapters since it serves as a resource guide. From there, you can read through whichever chapters you want information on. Skip the Kindle edition and opt for the print copy since chapters are easier to reference.

3. The Mythical Man Month

The premise of this book is built on the fact that computers change, but people don’t. The Mythical Man Month is a programming classic that discusses the human elements of software engineering. Even though the book was written 30 years ago (first published in 1975) it’s stood the test of time. Why? Because building things, including software, has been as much about people as much as hit has been about materials or technology. If you’re aspiring to become a project manager, this book will help you understand things that can go wrong in software development and will give you practical advice or working with, organizing and managing teams.

4. Don’t Make Me Think, Revisited: A Common Sense Approach to Web Usability

If you’re going to read a book on usability make it this one! Don’t Make Me Think is a great resource for any web developer who want to create websites, mobile sites or mobile apps that are much easier to use. The book is loaded with helpful information that’s presented in a clear and concise way that could be understood by both technical and non-technical audiences alike.

5. The Pragmatic Programmer: From Journeyman to Master

Another oldie, but goody, that continues to stand the test of time. The Pragmatic Programmer is a collection of lessons and recommendations for software developers. The book contains a set of numbered tips, about 70 of them, which are collected on a single tear-out card situated in the back of the book. The tips alone might seem obvious, but they contain some surprising dimensions that will help strengthen your programming career and hone your craft!

6. Clean Code: A Handbook of Agile Software Craftsmanship

Poorly written code can bring a project to its knees, which is why developing great code is so important! In Clean Code, “Uncle Bob” Martin shares tips and examples on how to create better code. The book dives into the principles and best practices of writing clean code, and also presents increasingly challenging case studies presented that challenges readers to think about what’s right with the code, and what’s wrong with it. While examples in Clean Code are given in Java, but is applicable to nearly all programming languages.

TIP: Read Clean Code after getting through Code Complete since it deals with some of the same topics but at a higher level.

7. Programming Pearls

This is a classic book for newbies that teaches the basics of solving problems. If you work through the problems on your own (without looking ahead) you’ll learn a lot and be a much stronger programmer with a deeper understanding of algorithms and algorithm design.

This is one of the go-to books for programming interviews if you’re looking to land a gig at a top company such as Amazon, Apple, Facebook, Google or Microsoft. As the title suggests, the book contains 150 programming questions that you might encounter at interviews, and then breaks down how to solve them. The remainder of the book focuses on non-coding aspects of the interview process such as interview prep, resume prep, behavioral prep, etc. Definitely one of the best programming interview books out there. Another good prep book is Introduction to Algorithms , which is considered to be the “bible of algorithms.”

9. Soft Skills: The Software Developer’s Life Manual

For most software developers, coding is the fun part. The hard parts involve dealing with clients, peers, and managers, staying productive, achieving financial security and so on. This book covers everything-else-apart-from-coding ranging from career, to personal branding, blogging, learning, teaching, finances, and even fitness and relationships.

Bonus Book: Zero Bugs and Program Faster

The author of Zero Bugs spent two years researching every bug avoidance technique she could find. This book contains the best of them! It includes useful tips and techniques, and presents information in an easy-to-digest way and brought to life with stories and metaphors that make it a really enjoyable (and memorable) read.

Have any other “must read” books that you would add to the list? Share!

﻿Cool! Thanks for sharing your post. It’s amazing that some people really do everything to get to where they want to be. These are great ideas for aspiring/current IT professionals. Achieving something requires specific resources for you to be equipped enough to thrive in your field. And it’s natural that you will encounter failures along the way. You will learn your craft in a deeper level through these experiences. By the way, I read an article about some facts IT employees don’t tell you. I haven’t seen a book on this matter. So, I would like to share it with you. Here’s the article https://www.infotechresume.com/it-industry-secrets/. Well, every profession has its own downside. And it’s really up to you if the battle is worth it. Because if you really have a goal, then the battle is worth fighting for. This includes learning your craft through different ways. I found other books which I think would help your readers as well:https://www.computerworlduk.com/galleries/it-leadership/best-books-for-it-pros-3657836/https://bookauthority.org/books/new-information-technology-books

hi sir, hope your are fine and well. i am student of software engineering from Pakistan.i want to be a good programmer.i am in 1st semester now but the the issue is that my approach to any is different and cant find solution early.i want to know that can i become a good programmer or not. secondly i want to know about any book which will change my perspective of thinking or approach to problem.which tells how programmer think and how i think for becoming a good programmer. i will wait for your reply thanks best regard sajjad Ahmad

Ajile Java. By Jeff Langr. I like the way Java is taught here using good practice to also teach many of the same ‘Principles, Patterns and Practices’ in Bob Martin’s book. It’s a bit out-of-date. Only goes up to Java 5. But it’s a classic. Written in a tutorial style. Timeless in some ways.

Working Effectively with legacy code. By Michael C. Feathers. How to test untestable code is probably the most important skill a programmer can have. Because you will find youself having to make key alterations to incomprehensible ginormous balls of mud (written by other programmers). This book tells you how to start.

Economics of Software Quality. By Capers Jones and Olivier Bonsignour. Because everyone should step back and look at things from the point of view of economics. Your boss does. You need to as well.

Programming in Haskell. By Graham Hutton. Because I like it and we all need to read books on functional programming. Current edition is the 2nd but the edition I read was the 1st. It’s really a uni textbook. But good.

Growing Object-Oriented Software Guided by Tests. By Steve Freeman and Nat Pryce. They cover how to begin, and complete a programming project. What you need to put in place to do so professionally, how to go about it, with the least amount of tears and curses.

Refactoring. By Martin Fowler. Another essential book. Sort of like a cookbook for refactoring patterns but can be read from cover to cover just like a book. Remarkable!

After reading the type of books on this site I thought maybe someone could lead me to a title of a book. Decades ago, a lady programmer (I think) write a book on the fact that all programming basically “does” the same things. So if you can figure out how Basic manipulates or passes data you can figure out how Java, C, C++ etc. does the same task and you can learn a programming language faster by looking for the tasks to direct you on how the language works. Someone borrowed the book (I speculate) and years later I went looking for it and couldn’t find it. Of course, I could have lost it in the many intervening moves, but that would be a first. It was a really good book, short, concise, clear and simple. It was an easy read and very revealing.

So, if someone could peruse their libraries or just happen to “know” the information on this book I would appreciate them passing it along.

You’ve listed some really good books. And I would like to add just a little bit more to this list – for everyone whose job is related to providing .net programming services , I would suggest that they read ‘’Microsoft .NET – Architecting Applications for the Enterprise (2nd Edition)’’ and ‘’ .NET Microservices: Architecture for Containerized .NET Applications’’ .

Code Complete is on the list, but missing the header and the book picture(thumbnail), though it sounds like the first must read! I found the paragraph because I read te whole article. I think I’ll start with it since I’m new to programming, learning Ruby on Rails programming.

WOW, simply great post, thanks for publishing some good examples here! I’ve started reading and there are still a few things I wish it did out of the box. I will definitely try all your ideas. Looks like I have a busy few weeks ahead of me!

﻿Cool! Thanks for sharing your post. It’s amazing that some people really do everything to get to where they want to be. These are great ideas for aspiring/current IT professionals. Achieving something requires specific resources for you to be equipped enough to thrive in your field. And it’s natural that you will encounter failures along the way. You will learn your craft in a deeper level through these experiences. By the way, I read an article about some facts IT employees don’t tell you. I haven’t seen a book on this matter. So, I would like to share it with you. Here’s the article https://www.infotechresume.com/it-industry-secrets/. Well, every profession has its own downside. And it’s really up to you if the battle is worth it. Because if you really have a goal, then the battle is worth fighting for. This includes learning your craft through different ways. I found other books which I think would help your readers as well:https://www.computerworlduk.com/galleries/it-leadership/best-books-for-it-pros-3657836/https://bookauthority.org/books/new-information-technology-books

hi sir, hope your are fine and well. i am student of software engineering from Pakistan.i want to be a good programmer.i am in 1st semester now but the the issue is that my approach to any is different and cant find solution early.i want to know that can i become a good programmer or not. secondly i want to know about any book which will change my perspective of thinking or approach to problem.which tells how programmer think and how i think for becoming a good programmer. i will wait for your reply thanks best regard sajjad Ahmad

Ajile Java. By Jeff Langr. I like the way Java is taught here using good practice to also teach many of the same ‘Principles, Patterns and Practices’ in Bob Martin’s book. It’s a bit out-of-date. Only goes up to Java 5. But it’s a classic. Written in a tutorial style. Timeless in some ways.

Working Effectively with legacy code. By Michael C. Feathers. How to test untestable code is probably the most important skill a programmer can have. Because you will find youself having to make key alterations to incomprehensible ginormous balls of mud (written by other programmers). This book tells you how to start.

Economics of Software Quality. By Capers Jones and Olivier Bonsignour. Because everyone should step back and look at things from the point of view of economics. Your boss does. You need to as well.

Programming in Haskell. By Graham Hutton. Because I like it and we all need to read books on functional programming. Current edition is the 2nd but the edition I read was the 1st. It’s really a uni textbook. But good.

Growing Object-Oriented Software Guided by Tests. By Steve Freeman and Nat Pryce. They cover how to begin, and complete a programming project. What you need to put in place to do so professionally, how to go about it, with the least amount of tears and curses.

Refactoring. By Martin Fowler. Another essential book. Sort of like a cookbook for refactoring patterns but can be read from cover to cover just like a book. Remarkable!

After reading the type of books on this site I thought maybe someone could lead me to a title of a book. Decades ago, a lady programmer (I think) write a book on the fact that all programming basically “does” the same things. So if you can figure out how Basic manipulates or passes data you can figure out how Java, C, C++ etc. does the same task and you can learn a programming language faster by looking for the tasks to direct you on how the language works. Someone borrowed the book (I speculate) and years later I went looking for it and couldn’t find it. Of course, I could have lost it in the many intervening moves, but that would be a first. It was a really good book, short, concise, clear and simple. It was an easy read and very revealing.

So, if someone could peruse their libraries or just happen to “know” the information on this book I would appreciate them passing it along.

You’ve listed some really good books. And I would like to add just a little bit more to this list – for everyone whose job is related to providing .net programming services , I would suggest that they read ‘’Microsoft .NET – Architecting Applications for the Enterprise (2nd Edition)’’ and ‘’ .NET Microservices: Architecture for Containerized .NET Applications’’ .

Code Complete is on the list, but missing the header and the book picture(thumbnail), though it sounds like the first must read! I found the paragraph because I read te whole article. I think I’ll start with it since I’m new to programming, learning Ruby on Rails programming.

WOW, simply great post, thanks for publishing some good examples here! I’ve started reading and there are still a few things I wish it did out of the box. I will definitely try all your ideas. Looks like I have a busy few weeks ahead of me!