Reading List

Here I collect books that I recommend to any engineer working in software development. I try not to add books about specific technologies here, so don’t be surprised if you don’t find some book you consider indispensable. Just write to me – [email protected], and I might decide to add it to this list.


Refactoring: Improving the Design of Existing Code

Refactoring: Improving the Design of Existing Code

by Martin Fowler

I’ve never liked dealing with overly complicated, unclear, and hard-to-modify code. But we all run into the need to clean up and improve code — our own or others. Refactoring gave me the structured approach I was missing, and that’s why I always suggest it to others.

The Pragmatic Programmer

The Pragmatic Programmer

by David Thomas and Andrew Hunt

This book is not about programming languages or frameworks — it’s about the mindset of an engineer. The Pragmatic Programmer teaches how to make sound technical decisions, write clear and maintainable code, take responsibility for results, and continuously improve your skills.

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

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

by Martin Kleppmann

I can recommend this book to any engineer working in web development. It covers a wide range of topics related to designing modern, high-load applications.

UNIX and Linux System Administration Handbook

UNIX and Linux System Administration Handbook

by Evi Nemeth, Garth Snyder, Trent Hein, Ben Whaley, Dan Mackin

Unix has effectively become the standard environment used by engineers for software development. I truly believe this book helps any engineer write software more efficiently.

Modern Operating Systems

Modern Operating Systems

by Andrew S. Tanenbaum

I really love this book and always recommend it to those who haven’t read it yet. We are engineers who build programs, interfaces, and systems, and the operating system is the fundamental environment in which all of this runs. Learning how it works internally is truly fascinating.