paint-brush
11 Books Every Software Developer Should Readby@tanakamutakwa
5,674 reads
5,674 reads

11 Books Every Software Developer Should Read

by Tanaka MutakwaOctober 15th, 2021
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

1. The Tech Resume Inside Out: What a good developer resume looks like and how to write one. 2. Cracking the Coding Interview: 189 Programming Questions and Solutions. 3. Things they don't teach you in software school: Letters from a mentor. 4. Letters to a New Developer: What I Wish I Had Known When Starting My Development Career. 5. Soft Skills: The software developer's life manual. 6. 14 Habits of Highly Productive Developers. 7. Extreme Programming Explained: Embrace Change. 8. Clean Code: A Handbook of Agile Software Craftsmanship. 9. The Pragmatic Programmer: From Journeyman to Master. 10. Refactoring: Improving the Design of Existing Code. 11. The Nature of Software Development: Keep It Simple, Make It Valuable, Build It Piece by Piece.

Company Mentioned

Mention Thumbnail
featured image - 11 Books Every Software Developer Should Read
Tanaka Mutakwa HackerNoon profile picture

If you want to be a good software developer, you have to be constantly learning. One of the best ways to learn is through reading good books.


Here is a list of some of the best books new software developers can learn from. I’ve selected books with long-lasting advice that will remain relevant many years from now.

1. The Tech Resume Inside Out: What a good developer resume looks like and how to write one

This book helps you craft a developer resume that represents you fairly, plays to your strengths, and increases your chances of getting hired. A practical guide was written by the people who do the resume screening: engineering managers and technical recruiters working at tech companies. Free for developers out of a job. The Tech Resume Inside Out book.

2. Cracking the Coding Interview: 189 Programming Questions and Solutions

Cracking the Coding Interview gives you the interview preparation you need to get the top software developer jobs. This is a deeply technical book and focuses on the software engineering skills you need to do well in your interview. The book is over 500 pages and includes 189 programming interview questions and answers, as well as other advice.

Cracking the Coding Interview book

3. Things they don't teach you in software school: Letters from a mentor

This book contains the top things that any junior developer should know when starting their career in tech. It is a quick and easy read.


The author spent two years mentoring a young developer who was starting their career. After having countless conversations together, he decided to gather all of the advice he ever gave and published it in this eBook.

Things They Don't Teach You In Software School book

4. Letters to a New Developer: What I Wish I Had Known When Starting My Development Career

Learn what you need to succeed as a developer beyond the code. The lessons in this book will supercharge your career by sharing lessons and mistakes from real developers.


Wouldn't it be nice to learn from others' career mistakes? "Soft" skills are crucial to success but are haphazardly picked up on the job or, worse, never learned. Understanding these competencies and how to improve them will make you a more effective team member and a more attractive hire.


This book will teach you the key skills you need, including how to ask questions, how and when to use common tools, and how to interact with other team members. Each will be presented in context and from multiple perspectives, so you'll be able to integrate them and apply them to your own career quickly.

Letters to a New Developer book

5. Soft Skills: The software developer's life manual

Soft Skills: The software developer's life manual is a unique guide, offering techniques and practices for a more satisfying life as a professional software developer. In it, developer and life coach John Sonmez addresses a wide range of important "soft" topics, from career and productivity to personal finance and investing, and even fitness and relationships, all from a developer-centric viewpoint.


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 book

6. 14 Habits of Highly Productive Developers

You can learn the most popular frameworks, use the best programming languages, and work at the biggest tech companies, but if you cultivate bad habits, it will be hard for you to become a top developer.


This book doesn't offer a straight path or pre-defined formula of success. This book is a result of a quest—a quest to uncover what habits can be cultivated to become a better software engineer.

14 Habits of Highly Productive Developers book

7. Extreme Programming Explained: Embrace Change

Software development projects can be fun, productive, and even daring. Yet, they can consistently deliver value to a business and remain under control.


Extreme Programming (XP) was conceived and developed to address the specific needs of software development conducted by small teams in the face of vague and changing requirements. This new lightweight methodology challenges many conventional tenets, including the long-held assumption that the cost of changing a piece of software necessarily rises dramatically over the course of time. XP recognizes that projects have to work to achieve this reduction in cost and exploit the savings once they have been earned.

Extreme Programming Explained book

8. Clean Code: A Handbook of Agile Software Craftsmanship

Even bad code can function. But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't have to be that way.


In Clean Code, the author has teamed up with his colleagues to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer but only if you work at it.

Clean Code book

9. The Pragmatic Programmer: From Journeyman to Master

The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process - taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse.

The Pragmatic Programmer book

10. Refactoring: Improving the Design of Existing Code

Refactoring is a controlled technique for improving the design of an existing code base. Its essence is applying a series of small behavior-preserving transformations, each of which "too small to be worth doing". However, the cumulative effect of each of these transformations is quite significant. By doing them in small steps, you reduce the risk of introducing errors. You also avoid having the system broken while you are carrying out the restructuring - which allows you to gradually refactor a system over an extended period of time.


This book describes the process of refactoring and spends most of its time explaining how to do the various refactorings - the behavior preserving transformations.

Refactoring book

11. The Nature of Software Development: Keep It Simple, Make It Valuable, Build It Piece by Piece

This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half-century of software development and from his engagement with Agile methods from their very beginning.


The book describes software development, starting from our natural desire to get something of value. Each topic is described with a picture and a few paragraphs. You're invited to think about each topic; to take it in. You'll think about how each step into the process leads to the next. You'll begin to see why Agile methods ask for what they do, and you'll learn why a shallow implementation of Agile can lead to only limited improvement.

The Nature of Software Development book

Final thoughts

Reading good books is one of the best ways to learn and grow as a software developer. It complements your day-to-day learning at work.


If you found this post useful and would like to learn more about how to become a better software engineer - subscribe to The New Developer.


Have you read any of the books on my list? What did you think?


This post was originally published on https://thenewdeveloper.substack.com/p/books-for-new-software-developers.