Skip to content
🛡️ FREE Master Frontend Security · All 7 modules live · 100% free Start free →

· 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, a technical co-founder of an ed-tech startup, host of Señors at Scale - a podcast for Senior Engineers, Organizer of ReactJS Barcelona meetup, international speaker and Staff Software Engineer, 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.

🛡️ FRONTEND SECURITY · REACT · VUE · ANGULAR · VANILLA JS

Master Security in Frontend Applications

Free, comprehensive frontend security course.
XSS, CSRF, AI security, broken access control & the vulnerabilities that actually get you breached.

100% FREE 7 MODULES · ALL LIVE
Start learning free →

All 7 modules live now. No credit card.

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.

Monorepos at Scale with Santosh Yadav
Episode 40
58 minutes

Señors @ Scale host Neciu Dan sits down with Santosh Yadav, principal developer advocate at CodeRabbit and one of only around 80 GitHub Stars in the world. Santosh started hating C in 2004, fell for C# by 2008, and turned a year of open source contributions to Angular and NgRx into a stack of community titles — Google Developer Expert, GitHub Star, Nx champion, and Microsoft MVP. As a staff engineer at Celonis he led the move of 20-plus apps to module federation and drove Nx adoption across 30-plus teams when the product grew from four apps to thirty. From the year-long incremental migration off a single deployable unit, to why polyrepos can't give AI tools the context they need, to how Nx's affected graph and build caching tame a 20-million-line monorepo, to running code review for free for open source at CodeRabbit, this is the monorepo conversation grounded in someone who actually shipped one at scale.

📖 Read Takeaways
Routing at Scale with Nicolas Beaussart-Hatchuel
Episode 39
54 minutes

Señors @ Scale host Dan Neciu sits down with Nicolas Beaussart-Hatchuel, staff engineer at Payfit and one of the maintainers of TanStack Router. Nicolas's path started with C macros to auto-generate his student paper headers and frontend learned by building phishing login pages for practice, took him through an iframe-based AngularJS-to-Angular 2 micro frontend migration at a web radio platform, into open source contributions across NX, ESLint, Vite and Hasura, and finally to maintaining one of the most ambitious routers in the React ecosystem. From why TanStack Router exists, to migrating Payfit's 300-route, 1.5-million-line codebase off React Router v5 using the strangler pattern, to collapsing 25 polyrepos and five different micro frontend strategies into a single modular monolith, this is the routing conversation most engineers never get.

📖 Read Takeaways
Redux at Scale with Mark Erikson
Episode 38
57 minutes

Señors @ Scale host Neciu Dan sits down with Mark Erikson, maintainer of Redux and senior front-end engineer at Replay.io, where he works on a time-traveling debugger. Mark's path started with a 286 he got at eight years old, ran through a computer science degree, four years teaching English in China, embedded software at Northrop Grumman emulating legacy CPUs in old aircraft, and a chain of projects — GWT, jQuery, Backbone — that led him to React and Redux. From the @deprecated backlash that had people insulting him on the internet, to why the Redux core hasn't meaningfully changed since 2016, to what RTK Query actually solves, the underused listener middleware, building source maps into React's own build pipeline, and how Replay's recordings now hand debugging over to AI agents — this is the Redux conversation grounded in two decades of shipping software.

📖 Read Takeaways
TanStack Query at Scale with Dominik Dorfmeister
Episode 37
53 minutes

Señors @ Scale host Dan Neciu sits down with Dominik Dorfmeister — better known as TkDodo — the maintainer of TanStack Query and a software engineer at Sentry. Dominik's path started at a technical high school in Vienna, ran through JVM backend work in Java and Scala, and turned to frontend around the introduction of TypeScript. During the pandemic lockdowns in Austria he started answering questions in the TanStack Discord, got addicted to the instant gratification of helping people, and slowly turned that into a blog, a first code contribution six to eight months later, and eventually maintainership of TanStack Query. From tracked queries and the chaotic version-three-to-four rename, to the version-five mistake he still dreads, to ripping 28,000 lines of dead code out of Sentry with Knip and building Sentry's new design system, this is the open source maintenance conversation most developers never get to hear.

📖 Read Takeaways
Back to Blog