Skip to content

TechRepublic

  • Top Products Lists
  • Developer
  • 5G
  • Security
  • Cloud
  • Artificial Intelligence
  • Tech & Work
  • Mobility
  • Big Data
  • Innovation
  • Cheat Sheets
  • TechRepublic Academy
  • CES
  • TechRepublic Premium
  • Top Products Lists
  • Developer
  • 5G
  • Security
  • Cloud
  • Artificial Intelligence
  • Tech & Work
  • Mobility
  • Big Data
  • Innovation
  • Cheat Sheets
  • TechRepublic Academy
  • CES
  • See All Topics
  • Sponsored
  • Newsletters
  • Forums
  • Resource Library
TechRepublic Premium

Account Information

Join or sign in

Register for your free TechRepublic membership or if you are already a member, sign in using your preferred method below.

Use Facebook
Use Linkedin

Join or sign in

We recently updated our Terms and Conditions for TechRepublic Premium. By clicking continue, you agree to these updated terms.

Welcome back!

Invalid email/username and password combination supplied.

Reset password

An email has been sent to you with instructions on how to reset your password.

Welcome to TechRepublic!

All fields are required. Username must be unique. Password must be a minimum of 6 characters and have any 3 of the 4 items: a number (0 through 9), a special character (such as !, $, #, %), an uppercase character (A through Z) or a lowercase (a through z) character (no spaces).

Loading
Developer

Gallery: 20 books that every programmer should read

By Brandon Vigliarolo September 24, 2020, 8:27 AM PDT on Twitter bviglia

Image
1
of 21
Previous Next

books.jpg
books.jpg
Gallery: 20 books that every programmer should read

​Not all the solutions are found on Stack Overflow

Getty Images/iStockphoto

​Not all the solutions are found on Stack Overflow

There are plenty of careers where books are essential, and to the casual observer software development wouldn’t seem to be one of them. Programmers who stand out from their peers know better.

You can easily find solutions to all your coding roadblocks with a Google search, but the solution to a syntax error won’t teach you about your craft.

Programming, coding, software development–whatever you call it, those are the things you do. What you are is a developer, and that isn’t just a job: It’s the modern equivalent of the skilled artisan of yesteryear.

Each and every program is handcrafted by a software artisan. To become a programmer who rises above the crowd of “people who know how to program” you need to take every opportunity to learn, hone your mind, improve your skills, and think like a craftsman.

Here are 20 books to help you do just that. They won’t teach you to code–that’s what the internet is for–but they will teach you to be a programmer.

Editor’s note: This gallery was updated to include additional titles.

Getty Images/iStockphoto
1-pragmatic.jpg
1-pragmatic.jpg
Gallery: 20 books that every programmer should read

1. The Pragmatic Programmer

Image: Addison-Wesley

1. The Pragmatic Programmer

Published way back in 1999, The Pragmatic Programmer: From Journeyman to Master is probably familiar to most developers. It’s consistently included in lists like these, and with good reason: It is a thorough course on thinking and acting pragmatically.

Authors Andrew Hunt and David Thomas both have years of programming experience under their belts, and they’ve distilled the life lessons they’ve learned about coding in this indispensable book. Do yourself a favor and add it to your reading list.

20 years is a long time for any computing product, and that includes books. The authors have issued an all-new version for the modern computing world: The lessons remain the same, but The Pragmatic Programmer, 20th Anniversary Edition updates them for a totally new world of computing. 

Image: Addison-Wesley
2-art-of-programming.jpg
2-art-of-programming.jpg
Gallery: 20 books that every programmer should read

​2. The Art of Computer Programming

Image: Hu00e9ctor Garcu00eda-Molina/Stanford University

​2. The Art of Computer Programming

Computer scientist and creator of the TeX typesetting system, Donald Knuth brings some serious credentials to this book–his professors even simultaneously awarded him a master of science along with his bachelor’s degree because they thought he was that amazing.

The Art of Computer Programming is a massive multi-volume series of books that Knuth began working on in 1962. As of 2005, four volumes of a planned seven have been released, and the series is so highly regarded that it earned him the Turing Award in 1974 and has also been referred to as the profession of computer programming’s defining treatise.

Image: Hu00e9ctor Garcu00eda-Molina/Stanford University
3-think.jpg
3-think.jpg
Gallery: 20 books that every programmer should read

​3. Don't Make Me Think

Image: Sensible.com

​3. Don't Make Me Think

The thesis of Don’t Make Me Think is right in the title: Users of your program should be able to get things done without even having to think.

While the book is geared toward web design, its lessons hold true for all kinds of development: Usability is what your entire project should be based around. No one wants to take the time to figure out how well your program works if basic tasks are cumbersome or confusing.

Image: Sensible.com
4-at-work.jpg
4-at-work.jpg
Gallery: 20 books that every programmer should read

​4. Coders at Work

Image: Peter Seibel

​4. Coders at Work

Developers frequently turn to other developers for feedback, advice, and nuggets of wisdom. If you’re the kind of developer who likes to hear what others have to say, Coders at Work was written for you.

A compiled series of interviews with some of the biggest names in programming, Coders at Work picks the brains of the greats to find out how they learned, how they work, and what they think about the profession of programming.

Image: Peter Seibel
5-man-month.jpg
5-man-month.jpg
Gallery: 20 books that every programmer should read

5. The Mythical Man-Month

Image: Addison-Wesley

5. The Mythical Man-Month

I have to admit that when I first saw this title I thought it said Man-Moth and I wondered what a book about cryptozoology was doing in the programming section. This book isn’t about the urban legend behind a Richard Gere movie and is instead about myths surrounding development and development teams.

The Mythical Man-Month takes its title from one of the essays in the book, which truthfully, if not a bit snarkily, says “adding manpower to a late software project makes it later.” This has come to be known as Brooks’s Law, named for the author Frederick Brooks.

Brooks’s series of essays is important to dispelling myths surrounding the profession of programming and it does so with a healthy dose of dry humor that every coder is sure to appreciate.

Image: Addison-Wesley
6-code-complete.jpg
6-code-complete.jpg
Gallery: 20 books that every programmer should read

​6. Code Complete 2

Image: Microsoft Press

​6. Code Complete 2

The second edition of Code Complete is considered a must-read in the software development world, not only for its lessons in different styles of development, but also for its practical lessons in thinking differently.

Code Complete 2 tries to drive programmers past bad habits like code-and-fix and the waterfall model and toward trim, efficient, and effective code. It also contains lots of examples to further demonstrate what it’s trying to teach.

Image: Microsoft Press
7-interview.jpg
7-interview.jpg
Gallery: 20 books that every programmer should read

​7. Cracking the Coding Interview

Image: Gayle Laakmann McDowell

​7. Cracking the Coding Interview

For the sake of this list, think of Cracking the Coding Interview less like a book on how to land a job and more of a workbook for honing your problem-solving skills. It contains 189 questions commonly asked in coding interviews and walks readers through how to solve them.

If you want to get a taste of not only what you’ll be asked in interviews, but the kinds of tricky problems you may have to solve in the real world, Cracking the Coding Interview should be on your bookshelf.

Image: Gayle Laakmann McDowell
8-soft-skills.jpg
8-soft-skills.jpg
Gallery: 20 books that every programmer should read

​8. Soft Skills: The Software Developer's Life Manual

Image: Manning

​8. Soft Skills: The Software Developer's Life Manual

Coding, according to the synopsis of Soft Skills, is the fun part of being a developer. The time spent not coding is what’s difficult.

Author John Sonmez covers a lot of how to live in this book, from finding the right company to staying in shape to being happy–it’s all there. If you find life away from the computer to be a hassle you should give Soft Skills a read.

Image: Manning
9-zen.jpg
9-zen.jpg
Gallery: 20 books that every programmer should read

​9. Zen and the Art of Motorcycle Maintenance

Image: Harper Collins

​9. Zen and the Art of Motorcycle Maintenance

Computer programming is not a part of this book, but it still belongs on this list. Zen and the Art of Motorcycle Maintenance is a book about how two different mindsets approach the world and how to harmonize both of them.

On the one hand, you have people who live in the moment and don’t seek to dive deep to understand things. On the other hand, you have analytical people who constantly investigate, problem solve, and seek to understand.

The romantic-vs.-analytic conflict set up by Zen hinges on how the two approach technology: As either dehumanizing drudgery or beautiful and artistic. Sure, the focal point is motorcycles, but the lesson applies to programming as well, and it’s one of finding balance.

Don’t completely forget to embrace a bit of romanticism from time to time, and you’ll quickly find you can be zen while still being analytic. The anxious among us should take note.

Image: Harper Collins
10-clean-code.jpg
10-clean-code.jpg
Gallery: 20 books that every programmer should read

​10. Clean Code

Image: Pearson

​10. Clean Code

Good code and bad code can both work just fine, but bad code will eventually come back to bite you when you least expect it. Clean Code wants to help you root out bad code, purge it, and transform it into agile, beautiful examples of the craft of computer programming.

Full of case studies, examples, and exercises, Clean Code is designed for the programmer who truly wants to become an artisan. If you want to take your game to the next level be sure to check it out.

Image: Pearson
11-continuous.jpg
11-continuous.jpg
Gallery: 20 books that every programmer should read

​11. Continuous Delivery

Image: Martin Fowler

​11. Continuous Delivery

One of the worst parts of being a programmer is also one of the most essential: releasing updates. Long update cycles or lapses between patches can make simple changes a nightmare, which is what Continuous Delivery wants to fix.

This book details a new approach to updating code with the aim of making update cycles nearly constant and explaining what it takes to get there. It’s a good read for decision makers and those they listen to.

Image: Martin Fowler
12-legacy.jpg
12-legacy.jpg
Gallery: 20 books that every programmer should read

​12. Working Effectively with Legacy Code

Image: Pearson

​12. Working Effectively with Legacy Code

One of my first jobs in IT was at a physics laboratory where much of the software was written by long-gone graduate students. The depths of this mission-critical code was largely unplumbed, and supporting it was a near constant nightmare.

Sound familiar? Most programmers have dealt with legacy systems at some point in their careers, and many good devs have been stopped dead in their tracks by the unexpected surprises the code contained. If you want to learn how to approach, troubleshoot, and fix old software you need a copy of Working Effectively with Legacy Code.

Image: Pearson
13-code.jpg
13-code.jpg
Gallery: 20 books that every programmer should read

​13. Code: The Hidden Language of Computer Hardware and Software

Image: Microsoft Press

​13. Code: The Hidden Language of Computer Hardware and Software

I’m the kind of learner who doesn’t like to accept at face value that something just works–I want to know why and how. As computers automate more and take simple tasks away from our daily lives, there are lots of areas in which we’re left wondering how something does what it does.

The most simple answer is that it does it with code.

Code: The Hidden Language of Computer Hardware and Software tries to answer the questions you may have about how computers work. Even developers are subject to the automation of certain fundamental skills, leading to a generation of programmers who don’t actually understand what’s happening at the most basic level of the software they create. If you’re curious, this is the read for you–it might just enrich your understanding of things you do every day.

Image: Microsoft Press
14-pearls.jpg
14-pearls.jpg
Gallery: 20 books that every programmer should read

​14. Programming Pearls

Image: Pearson

​14. Programming Pearls

This is not a book about the Perl programming language. It is instead a book of “pearls” created by nagging problems that have bothered developers. Like a pearl created by an oyster, some of the most beautiful and elegant pieces of code started out as an irritating grain of sand.

Programming Pearls contains essays that each try to instill lessons of thinking like a programmer. Examples of code fill the book as well, making it a great bit of reading that contains fundamental and practical advice for improving your skills.

Image: Pearson
15-algorithms.jpg
15-algorithms.jpg
Gallery: 20 books that every programmer should read

15. Introduction to Algorithms

Image: MIT Press

15. Introduction to Algorithms

If you want to code for a living you’re going to be working with algorithms. Introduction to Algorithms has been the gold standard in learning how to understand and use them ever since it first came out in 1989.

Yes, it’s a textbook, but I still have plenty of my college books on the shelf at home because they’re valuable professional resources. Introduction to Algorithms is one that should be on your shelf, too.

Also see

  • The 10 easiest programming languages to learn (TechRepublic)
  • 10 tips for becoming a better programmer (TechRepublic)
  • How to learn programming: 3 languages to get you started (TechRepublic)
  • Download: The truth about MooCs and bootcamps–Their biggest benefit isn’t creating more coders (TechRepublic)
  • The Complete Learn to Code Bundle (TechRepublic Academy)
  • Job description: Platform developer (Tech Pro Research)
  • Job description: DevOps engineer (Tech Pro Research)
  • Software developers: We’re on board with low-code (or even no-code) tools (ZDNet)
Image: MIT Press
structure-and-interpretation-of-computer-programs.jpg
structure-and-interpretation-of-computer-programs.jpg
Gallery: 20 books that every programmer should read

16. Structure and Interpretation of Computer Programs

Image: MIT Press

16. Structure and Interpretation of Computer Programs

Another college textbook, Structure and Interpretation of Computer Programs (SICP), was the gold standard at MIT for its introductory electrical engineering and programming courses when it came out in 1985.

It focuses on a dialect of Lisp called Scheme, but that doesn’t mean it’s unimportant to non-Lispers. SICP is structured around the basic ideas in computer programming and their implementation. It’s a great resource for beginners and experienced coders alike, and the kicker is that it’s now licensed under Creative Commons, so MIT has the full SICP on its website available for free. Those who want a hard copy can still get one, too.

Image: MIT Press
inside-the-machine-an-illustrated-introduction-to-microprocessors-and-computer-architecture.jpg
inside-the-machine-an-illustrated-introduction-to-microprocessors-and-computer-architecture.jpg
Gallery: 20 books that every programmer should read

17. Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture

Image: Amazon

17. Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture

I’ve never been especially skilled at math, and my freshman year in college proved that to me more than anything else ever has. I had to regress back to high school mathematics and catch up because my fundamentals were so weak.

Programming can create similar frustrations, especially if you feel like there’s something fundamental to understanding computer science that’s holding you back. 

Inside the Machine was written to answer those computer science building blocks questions that many programmers have. It’s all about the basic structure of computers, how they work, why the work the way they do, and how programs fit into the whole scheme. If you want a deeper understanding of why your code does what it does this is a worthwhile read.

Image: Amazon
the-managers-path-a-guide-for-tech-leaders-navigating-growth-and-change.jpg
the-managers-path-a-guide-for-tech-leaders-navigating-growth-and-change.jpg
Gallery: 20 books that every programmer should read

18. The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change

Image: Amazon

18. The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change

This book is all about taking the journey from programmer to leader, but just because it’s focused on those looking for a different role doesn’t mean it’s not an essential read for developers happy with their current roles.

By focusing on leadership from a developer’s perspective, The Manager’s Path gives developers a look at how tech leaders think. Consider it a tool that can be used alongside any soft-skills manual–by understanding how colleagues think the whole team can be improved.

Image: Amazon
the-complete-software-developers-career-guide.jpg
the-complete-software-developers-career-guide.jpg
Gallery: 20 books that every programmer should read

19. The Complete Software Developer's Career Guide

Image: Amazon

19. The Complete Software Developer's Career Guide

The Soft Skills book mentioned earlier in this gallery has a reputation as being one of the cornerstone books for any new software engineer starting a career. Its author has written a second book, The Complete Software Developer’s Career Guide; developers building a library should give this one a look as well.
 
The book is designed around a series of practical lessons for those in the development world, each of which can apply just as much to a recent college graduate as to someone with 20 years of experience under their belt: whether or not contract work is worth it, how to identify and fill knowledge gaps, technical skills that aren’t often taught in college, and more.

Image: Amazon
grokking-algorithms-an-illustrated-guide-for-programmers-and-curious-people.jpg
grokking-algorithms-an-illustrated-guide-for-programmers-and-curious-people.jpg
Gallery: 20 books that every programmer should read

20. Grokking Algorithms: An Illustrated Guide for Programmers and Curious People

Image: Manning Publications

20. Grokking Algorithms: An Illustrated Guide for Programmers and Curious People

Algorithms make up the cornerstone of programming no matter the language you use or the type of software you develop.

Understanding algorithms can be trickier–for many they’re abstract concepts that can be hard to grasp. Grokking Algorithms understands that, and presents an introduction to algorithms that’s fully illustrated and designed to help developers understand and integrate common algorithms into their coding.

If you want to understand algorithms but don’t have the patience for long, wordy explanations then this is a book worth looking at.

Image: Manning Publications
  • Developer
  • Account Information

    Share with Your Friends

    Gallery: 20 books that every programmer should read

    Your email has been sent

Share: Gallery: 20 books that every programmer should read
Image of Brandon Vigliarolo
By Brandon Vigliarolo
Brandon is a Staff Writer for TechRepublic. He's an award-winning feature and how-to writer who previously worked as an IT professional and served as an MP in the US Army.
  • Account Information

    Contact Brandon Vigliarolo

    Your message has been sent

  • |
  • See all of Brandon's content

TechRepublic Premium

  • TechRepublic Premium

    How to recruit and hire a Scrum Master

    Recruiting a Scrum Master with the right combination of technical expertise and experience will require a comprehensive screening process. This hiring kit provides a customizable framework your business can use to find, recruit and ultimately hire the right person for the job. This hiring kit from TechRepublic Premium includes a job description, sample interview questions ...

    Downloads
    Published:  August 5, 2022, 5:00 PM PDT Modified:  August 7, 2022, 4:00 AM PDT Read More See more TechRepublic Premium
  • TechRepublic Premium

    Web 3.0 quick glossary

    Knowing the terminology associated with Web 3.0 is going to be vital to every IT administrator, developer, network engineer, manager and decision maker in business. This quick glossary will introduce and explain concepts and terms vital to understanding Web 3.0 and the technology that drives and supports it.

    Downloads
    Published:  August 4, 2022, 5:00 PM PDT Modified:  August 7, 2022, 1:00 AM PDT Read More See more TechRepublic Premium
  • TechRepublic Premium

    How to recruit and hire a User Experience Designer

    While the perfect color palette or the most sublime button shading or myriad of other design features play an important role in any product’s success, user interface design is not enough. Customer engagement and retention requires a strategic plan that attempts to measure, quantify and ultimately create a complete satisfying user experience on both an ...

    Published:  August 4, 2022, 5:00 PM PDT Modified:  August 7, 2022, 3:00 AM PDT Read More See more TechRepublic Premium
  • TechRepublic Premium

    Industrial Internet of Things: Software comparison tool

    IIoT software assists manufacturers and other industrial operations with configuring, managing and monitoring connected devices. A good IoT solution requires capabilities ranging from designing and delivering connected products to collecting and analyzing system data once in the field. Each IIoT use case has its own diverse set of requirements, but there are key capabilities and ...

    Downloads
    Published:  May 26, 2022, 5:00 PM PDT Modified:  May 28, 2022, 8:00 AM PDT Read More See more TechRepublic Premium

Services

  • About Us
  • Newsletters
  • RSS Feeds
  • Site Map
  • Site Help & Feedback
  • FAQ
  • Advertise
  • Do Not Sell My Information

Explore

  • Downloads
  • TechRepublic Forums
  • Meet the Team
  • TechRepublic Academy
  • TechRepublic Premium
  • Resource Library
  • Photos
  • Videos
  • TechRepublic
  • TechRepublic on Twitter
  • TechRepublic on Facebook
  • TechRepublic on LinkedIn
  • TechRepublic on Flipboard
© 2022 TechnologyAdvice. All rights reserved.
  • Privacy Policy
  • Terms of Use
  • Property of TechnologyAdvice