Skip to content

· book recs · 6 min read

Tech Books you have to read, to be a better Software Engineer

Nobody becomes great overnight, it takes years to gain the knowledge and experience to be at the top in your field. These books would help you get there faster.

Neciu Dan

Neciu Dan

Hi there, it's Dan, Senior Engineering Manager at Perk, host of Señors at Scale - a podcast for Senior Engineers, Organizer of ReactJS Barcelona meetup, and international speaker, I'm here to share insights on combining technology and education to solve real problems.

I write about startup challenges, tech innovations, and the Frontend Development. Subscribe to join me on this journey of transforming education through technology. Want to discuss Tech, Frontend or Startup life? Let's connect.

Share:

There is no other profession where continuous learning is part of your day-to-day job. As Software Engineers, we are expected to read, experiment with new technologies, and generally try to accumulate as much knowledge as possible.

Here are some of the best tech books I read recently that I believe will make everyone a better Software Engineer:

  • System Design Interview — An Insider’s Guide
  • Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
  • The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change
  • Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy
  • Algorithms to Live By: The Computer Science of Human Decisions
  • System Design Interview — An Insider’s Guide

System Design Interview Book

System Design Interview — An Insider’s Guide by Alex Xu sells itself as a book you should use to prepare for interviews, but it is so much more than that.

Each chapter from the book is a high-level system design challenge, like how to build a Facebook News Feed or Youtube, etc, and it tells you what questions to ask and how to think about the problem.

This book threads the line between expert and novice. He explains a lot of things really really well, and if you are a beginner to them, you can learn a lot of new concepts.

The book also briefly mentions complex topics and then glosses over them which is to be expected for a book preparing you for interviews.

I really loved the chapter about rate limiters and different ways you can build them, but also on how to accomplish consistent hashing.

While the book focuses on System Design Challenges, high-level implementation, and how to deep dive into your solution, it also teaches a lot of basic concepts you need to know in today’s Distributed System World.

While the book itself is an oversimplification of how the actual System does work, it gives you a basic view of what you need to learn and what concepts you need to deep dive into to be a better Software Engineer.

Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People

Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People by Aditya Y. Bhargava is a really good book into basic Computer Science information.

The book does not go in-depth about algorithms or try to teach you how they work, so if you are already a Software Engineer, the concepts in this book are not going to feel new to you, but what this book gives you with its illustrations is a way to understand these algorithms in a different way that you were though in a typical CS classroom.

By reading this book, you can learn how to explain divide and conquer, graph-based solutions, greedy algorithms, and dynamic programming to an outside audience, like product managers or Junior engineers.

And if you do not know these concepts, maybe you studied at a Bootcamp or are a self-thought Programmer, it’s a very good way to get into the wonderful world of Algorithms.

Although I recommend as a follow-up reading, the holy grail book: Algorithms by Robert Sedgewick, Kevin Wayne

In conclusion, I think this book is an amazing introduction to the world of algorithms but also a good opportunity for Senior Engineers to develop an understanding that can be passed along to their mentees.

The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change

The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change by Camille Fournier is more than the title says.

The book talks about the different paths that a Software Engineer can take, either by focusing on the technical side and advancing toward a Staff / Principal Engineering role or to take the people route and become an Engineering Manager.

I personally believe you have a third option of becoming a Developer Advocate, Speaker or Content Creator.

More importantly, it highlights the parts that you have to take advantage of before you make your career decision. Like mentoring junior engineers or understanding what your own manager has to go through.

If you are early in your career, for sure you would find this book incredibly useful, as it walks you through from the individual contributor role all the way up to the CTO role. It gives you a birds-eye view of the entire process and helps you avoid classic mistakes in the Tech Industry.

As a follow-up read, I also recommend The Staff Engineer’s Path: A Guide For Individual Contributors Navigating Growth and Change by Tanya Reilly which covers the more technical landscape that you have to navigate for this career choice.

Learning Domain-Driven Design

Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy by Vladik Khononov is not like the other books on this list.

It is a tech-heavy book that focuses on team management but also implementation details. The book would teach you how to break down your domains based on the importance of the domain: Core, Support, or Generic.

How to apply architecture practices to keep your domain bounded, and more importantly how to communicate effectively with other domains owned by different teams.

The book contains a lot of examples of how to implement these patterns, and when it’s critical you use them.

There are also a lot of mistakes that were made by the author and directions on how to avoid these mistakes. It goes into detail about different testing practices and how to conduct and implement an Event Sourcing Practice.

While the book’s audience is more backend oriented, personally I felt that I, a Frontend Engineer, learned a lot. Especially about Event Driven communication or how to implement a Saga Pattern.

But my absolute favorite moment was when the author responded to one of my tweets and answered a couple of my questions.

Algorithms to Live By: The Computer Science of Human Decisions

by Brian Christian and Tom Griffiths was published in 2016, and I am ashamed to have heard about it just this year.

This book is life-changing and I cannot recommend it enough. It is also recommended by my friend, Fotis Adamakis, in his article. He is the person who gifted me this book and I am forever thankful.

The book highlights how algorithms can positively influence our lives and help us make better decisions based on facts and data.

My biggest takeaway was to apply the Shortest Process Time to my tasks:

Say you have two projects, one takes 4 days for Client A and one takes 1 day for Client B.

If you do the big project first and the small one second the total waiting time for your clients is 9 days, Client A waits 4 days for his project, and Client B waits 4 days until you pick up his project and 1 day for it to finish.

Doing it in reverse, the total waiting time for your clients is 6 days. Optimizing for your client’s happiness while for you it is still one week of work will steadily improve your portfolio of clients.

Neciu Dan

Discover more from The Neciu Dan Newsletter

A weekly column on Tech & Education, startup building and occasional hot takes.

Over 1,000 subscribers

🎙️ Latest Podcast Episodes

Dive deeper with conversations from senior engineers about scaling applications, teams, and careers.

Hypermedia at Scale with Carson Gross
Episode 53
58 minutes

Señors @ Scale host Neciu Dan sits down with Carson Gross, creator of HTMX, principal at Big Sky Software, and computer science professor at Montana State University. Carson has been programming for more than 30 years, from HyperCard on a family Mac to Excel macros for an industrial engineering firm, a JVM language called Gosu, a Rails startup, and the 2012 library Intercooler.js that he rewrote without jQuery during COVID and released as HTMX. His argument is that the web was built as a hypermedia system, that links and forms are control logic living inside the document, and that most of what we call REST today fails the one constraint Roy Fielding cared about. He also covers which apps HTMX is wrong for, what changed in HTMX 4 and why 3 was skipped, and why his students now sit pencil and paper exams. It is a conversation about using the browser as the hypermedia client it was built to be.

📖 Read Takeaways
Performance at Scale with Ryan Townsend
Episode 52
52 minutes

Señors @ Scale host Neciu Dan sits down with Ryan Townsend, Principal Product Manager for Performance at Cloudflare, where he owns real user monitoring and the wider performance measurement remit. Ryan has over 20 years in web technology and a decade as a CTO: he co-founded Shift Commerce, the first enterprise scale headless SaaS, and was CTO of Matalan Direct after the business he built came second in Shopify's Build a Business competition with only three months of trading. We cover why the 'Rails doesn't scale' story was always a myth, the resume driven development he kept finding as a fractional CTO, the personalization script that claimed zero performance impact and cost seconds at P90, and how Shift ran over 99% cache hit ratios by splitting the anonymous page from the basket.

📖 Read Takeaways
Design Systems at Scale with Szymon Chudy
Episode 51
56 minutes

Señors @ Scale host Neciu Dan sits down with Szymon Chudy, Software Engineer at Netflix on the Hawkins team, which builds the design system behind thousands of internal applications used to produce the shows you watch. Before Netflix, Szymon spent two and a half years at Lokalise, growing from senior to staff frontend engineer and leading frontend direction across teams, and before that he toured Poland as a reggae guitarist while freelancing as a web developer in the off season. From why the source of truth for a design system lives in code, to Hawkins Consumer versus Hawkins Professional, to the UI paved road that changes what freedom and responsibility mean at Netflix, to measuring the team on adoption rate and shipping codemods and agent skills for every breaking change, to what being an informed captain who farms for dissent means in practice, this is the design system conversation for anyone maintaining a platform other engineers have to choose to use.

📖 Read Takeaways
Agentic Systems at Scale with Vilva Athiban
Episode 50
52 minutes

Señors @ Scale host Neciu Dan sits down with Vilva Athiban, Lead AI Engineer at Omio, one of Europe's leading travel platforms, where he architects and ships agentic AI systems in production. Vilva designed and delivered Omio AI, along with the MCP integrations that connect AI agents to the company's systems. He never set out to switch from JavaScript to AI: in June 2024 Omio picked two people to start an AI team reporting to the CEO and CTO, and he learned on the job, from his first API call to an LLM up to a consumer-facing agent whose backend runs on nothing but MCP. From why a bigger model with medium thinking came out cheaper than the mini, to capping tool calls because LLMs are built for token maxing, to the whale hunting request that showed his team guardrails are subjective, this is a conversation about what production agentic systems look like once the tutorials run out.

📖 Read Takeaways
Back to Blog