CodeNewbie Community

Cover image for Books every new software developer should read
Tanaka Mutakwa
Tanaka Mutakwa

Posted on

Books every new software developer should read

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 with 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.

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 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.
Alt Text

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 your interview. The book is over 500 pages and includes 189 programming interview questions and answers, as well as other advice.
Alt Text

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 just 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.
Alt Text

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.
Alt Text

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.
Alt Text

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.
Alt Text

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.
Alt Text

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 instil within you the values of a software craftsman and make you a better programmer but only if you work at it.
Alt Text

The Pragmatic Programmer: From Journeyman to Master

The Pragmatic Programmer cuts through the increasing specialisation 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.
Alt Text

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.
Alt Text

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.
Alt Text

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?

If you could recommend one book for new software developers, what would it be and why? Let me know in the comments.

Discussion (5)

Collapse
sheriffderek profile image
sheriffderek

So, are you saying - that a new developer - should get all of these books and read them right at the start of their learning journey?

Collapse
tanakamutakwa profile image
Tanaka Mutakwa Author

Just like anything in life it is easier to make progress in smaller steps. I would suggest selecting one book from this list and reading it. Then proceeding to the next one. Take them one at a time. You can start with any of them. Pick the one that aligns with what you are trying to learn about most.

Collapse
sheriffderek profile image
sheriffderek

I feel like these are great books. But I also think that they are not good books for beginners. I haven't read all of them / but as an example: People often suggest "The Mythical Man Month" - and I think that's a wonderful book - but a terrible book for someone who doesn't have a few years under their belt. This list feels a bit in that direction.

These are the books I would suggest

and then AFTER people have learned to program and built confidence enough to apply for their first jobs / maybe read some of the ones you pointed out. Clean code - for example / is great --- but your average web developer is going to get totally lost in there.

But

Collapse
vijayasrivastava profile image
Vijaya Srivastava

Love this article, I already have some of these in my TO READ list. I'm currently reading Cracking The Coding Interview. Have you read all of these?

Collapse
tanakamutakwa profile image
Tanaka Mutakwa Author

Nice! Cracking The Coding Interview is well known for helping developers prepare for interviews, especially at the big companies like Google, Facebook, Amazon, etc.

I have read all of these through my career journey. All great books, with different important insights for developers.