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
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
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
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
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
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.