Top Software Engineering books recommended by experts

At MentorCruise, we are all about making the most out of the experience of others. As part of that, we've connected and asked dozens of experts and professionals about their favourite Software Engineering books – and here are the answers.

Table of Contents

Fundamentals of Software Engineering

Understanding the concepts of Software Engineering starts with understanding the fundamentals. On your way to mastery, it's crucial for you to understand how certain concepts were derived, and why things work like they do. Starting with these resources is the best way to do so.

Clean Code

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. Noted software expert Robert C. Martin, presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin, who has helped …

Recommended by the experts and mentors at MentorCruise

Code: The Hidden Language of Computer Hardware and Software

In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries.

Recommended by the experts and mentors at MentorCruise

Code Complete

Widely considered one of the best practical guides to programming, Steve McConnell’s original code complete has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. Capturing the body of knowledge avail…

Recommended by the experts and mentors at MentorCruise

Design Patterns: Elements of Reusable Object-Oriented Software

Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves. The authors beg…

Recommended by the experts and mentors at MentorCruise

Working Effectively with Legacy Code

This book provides programmers with the ability to cost effectively handlecommon legacy code problems without having to go through the hugelyexpensive task of rewriting all existing code. It describes a series of practicalstrategies that developers can employ to bring their existing softwareapplications under control. The author provides useful guidance about how touse these strategies when re…

Recommended by the experts and mentors at MentorCruise

Refactoring

Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opp…

Recommended by the experts and mentors at MentorCruise

Additional Software Engineering Reading

These books are not required for you to learn Software Engineering, but they are highly recommended for you to deepen your knowledge.

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do …

Recommended by the experts and mentors at MentorCruise

Clean Architecture: A Craftsman's Guide to Software Structure and Design

By applying universal rules of software architecture, you can dramatically improve developer productivity throughout the life of any software system. Now, building upon the success of his best-selling books Clean Code and The Clean Coder, legendary software craftsman Robert C. Martin (“Uncle Bob”) reveals those rules and helps you apply them. Martin’s Clean Architecture doesn’t merely present …

Recommended by the experts and mentors at MentorCruise

Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation

Getting software released to users is often a painful, risky, and time-consuming process.This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations…

Recommended by the experts and mentors at MentorCruise

Programming Pearls

When programmers list their favourite books, Jon Bentley’s collection of programming pearls is commonly included among the classics. Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley’s pearls offer uni…

Recommended by the experts and mentors at MentorCruise

Become an Effective Software Engineering Manager

Software startups make global headlines every day. As technology companies succeed and grow, so do their engineering departments. In your career, you'll may suddenly get the opportunity to lead teams: to become a manager. But this is often uncharted territory. How can you decide whether this career move is right for you? And if you do, what do you need to learn to succeed? Where do you start? …

Recommended by the experts and mentors at MentorCruise

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries

This book, Framework Design Guidelines, presents best practices for designing frameworks, which are reusable object-oriented libraries. The guidelines are applicable to frameworks ranging in size and in their scale of reuse: Large system frameworks, such as the .

Recommended by the experts and mentors at MentorCruise

Specializations and Deeper Software Engineering Knowledge

You've got your basics in order – time to move on to some advanced and specialized concepts. Software Engineering is evolving every day, these books can help you master it.

The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition

“One of the most significant books in my life.” —Obie Fernandez, Author, The Rails Way “Twenty years ago, the first edition of The Pragmatic Programmer completely changed the trajectory of my career. This new edition could do the same for yours.” —Mike Cohn, Author of Succeeding with Agile , Agile Estimating and Planning , and User Stories Applied “. filled with practical advice, both technica…

Recommended by the experts and mentors at MentorCruise

This list is curated by MentorCruise and can include Amazon affiliate links. Have any other suggestions? Add here.

Augment your Software Engineering books

There is no better source of accountability and motivation than having a personal mentor. What used to be impossible to find is now just two clicks away! All mentors are vetted & hands-on!

Only 2 Spots Left

I’m a CTO, founding engineer and leader with over 25 years of experience developing innovative solutions in both corporate and startup environments. I’ve personally architected, deployed and maintained production services utilizing much of AWS, built out the CI/CD infrastructure and scaled out the team to build on it. I have …

$240 / month
  Chat
2 x Calls
Tasks

Only 4 Spots Left

Hi there! My name is Sebastiano, and I'm an experienced engineering leader with a passion for helping others grow in their careers. I'm currently a Director of Engineering at Upwork, and over the years, I've led multiple teams at companies like Pinterest, Paypal, Snap, and Spotify in domains ranging from …

$110 / month
  Chat
1 x Call
Tasks

Only 1 Spot Left

Permanent resident of Canada 🇨🇦 from Japan 🇯🇵, currently spending most of my time in Malawi 🇲🇼 in Africa at the intersection of tech and society. I am a freelance software developer, previously working at a Big Tech & Silicon Valley-based start-up company while wearing different hats such as an …

$240 / month
  Chat
2 x Calls

Only 3 Spots Left

I am a Senior Software Engineer at Booking.com, the largest travel company in the world. Before joining here, I was working as a Senior Software Engineer at Grab, the leading delivery, mobility, financial, and enterprise services company in Southeast Asia. In my career so far, I have always been working …

$120 / month
  Chat
1 x Call
Tasks

Only 2 Spots Left

With 17+ years of experience in the industry, I have worked as a tester, a lead/manager, and as a developer. I have worked on large teams (OneDrive, Power Automate), as well as taking a v1 product from inception to running at a global scale. Delivering interviews, designing systems to work …

$340 / month
  Chat
2 x Calls
Tasks

Only 3 Spots Left

Greetings! My name is Praveen and I am a Senior Software Engineer at Microsoft. It brings me great pleasure to serve as your mentor and share my expertise to help you achieve your full potential. I am thrilled to offer my guidance and support in areas such as React development, …

$170 / month
  Chat
3 x Calls
Tasks

Browse all Software Engineering mentors

Still not convinced?
Don’t just take our word for it

We’ve already delivered 1-on-1 mentorship to thousands of students, professionals, managers and executives. Even better, they’ve left an average rating of 4.9 out of 5 for our mentors.

Find a Software Engineering mentor
  • "Naz is an amazing person and a wonderful mentor. She is supportive and knowledgeable with extensive practical experience. Having been a manager at Netflix, she also knows a ton about working with teams at scale. Highly recommended."

  • "Brandon has been supporting me with a software engineering job hunt and has provided amazing value with his industry knowledge, tips unique to my situation and support as I prepared for my interviews and applications."

  • "Sandrina helped me improve as an engineer. Looking back, I took a huge step, beyond my expectations."