7 must-read books for developers at the mid-level stage of their career.

Juntao Qiu
4 min readApr 3, 2023

People ask me a lot about how they would improve their skills. I mean not how to code or get started with React kind of improvement, but the skills that can help them to be a better developer in the long run. There is a big distinction between learning a technique, knowing how to use it, and understanding its fundamentals.

From my experience, reading books is the most effective way to learn and improve one’s skills. There are reasons why reading is the fastest (although it looks slow) way to boost your knowledge and skills.

Photo by Tom Hermans on Unsplash

Although you can do different things to improve yourself, this short article focuses only on a few books.

TL;DR

If you want a list of books to add to your amazon shopping cart, here it is.

  1. Refactoring: Improving the Design of Existing Code” (2nd Edition) by Martin Fowler
  2. Clean Code: A Handbook of Agile Software Craftsmanship” by Robert C. Martin
  3. The Clean Coder: A Code of Conduct for Professional Programmers” by Robert C. Martin
  4. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation” by Jez Humble and David Farley
  5. Clean Architecture: A Craftsman’s Guide to Software Structure and Design” by: Robert Martin
  6. Patterns of Enterprise Application Architecture” by Martin Fowler
  7. Building Evolutionary Architectures, 2nd Edition” by Neal Ford, Rebecca Parsons, and Patrick Kua

And for those who want to learn more about the context, I’ll try to list a few reasons why I recommend them.

Crafting and engineering

I have a list of books I would recommend to any developers, regardless of their background. And I believe that’s a must to do if you want to grow as a senior developer (not the senior developer title that is printed on your name card)

  • “Refactoring: Improving the Design of Existing Code” (2nd Edition) by Martin Fowler
  • “Clean Code: A Handbook of Agile Software Craftsmanship” by Robert C. Martin
  • “The Clean Coder: A Code of Conduct for Professional Programmers” by Robert C. Martin
  • “Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation” by Jez Humble and David Farley

There are many more great books out there teaching all different topics, but if you have to read a few in a relatively short period, these 4 are the must to read.

Maybe you have read some of them or heard people recommend them. Either way, read them thoughtfully until you can easily apply the principles discussed in these books in your codebase. It might take several months to read all the content and perhaps years to apply them in your daily work. But every minute you spend on these books will pay off.

The Refactoring book from Martin Fowler is written in JS, so you don’t have to learn a new language. I read the first edition of the Refactoring book 12 years ago, I had a few years of coding experience then, but I was hooked immediately. That’s a strange experience. It’s like, somewhere in the world, someone with a similar taste in good code is willing to teach that to you.

The “Clean” series from Uncle Bob (Robert C. Martin) are fantastic. Clean Code is about writing clean code, and Clean Coder is about being a professional developer. I read and re-read them constantly, and I can get something out of them every time.

Continuous Delivery is another interesting book that makes you think from a typical developer’s perspective, more from a delivery flow’s point of view. And in that, you can see how value is delivered to production — which is the reason why we need software developers in the first place.

Architecture

For architecture, I would recommend three books:

  • “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” by: Robert Martin
  • “Patterns of Enterprise Application Architecture” by Martin Fowler
  • “Building Evolutionary Architectures, 2nd Edition” by Neal Ford, Rebecca Parsons, and Patrick Kua

I read them recently, and they are books you need to read many times. In the fast pace era, especially when AI tools are coming out every single day, reading these are still beneficial and can help you in the long run.

Bonus

Apart from these, I have a few other hide gems for you. If you have some Java background or other OOP experience, then you can read this for some common design patterns:

  • “Head First Design Patterns” by Eric Freeman, Elisabeth Robson, Bert Bates and Kathy Sierra

One of my favourite book by Neal Ford is “The Productive Programmer”, but I’m afraid most of the content are outdated. If you can find a free copy from somewhere, have a read. But maybe not worth buying a new copy.

All right, that’s all I have for this article, so what do you read and would like to recommend to others?

--

--

Juntao Qiu

I help developers write better code. Developer | Author | Creator. https://juntao.substack.com/ @JuntaoQiu