Your Book Recommendations for Software Engineers
Recently I shared a small list of my favourite books, which I want to believe improved my Software Engineering skills. I was pleased that…
Your Book Recommendations for Software Engineers
Recently I shared a small list of my favourite books, which I want to believe improved my Software Engineering skills. I was pleased that you liked them and got multiple messages with your recommendations. You can find them in the following list, which is a way of saying thank you. I plan to read most of them during the following weeks with you.
If, for any reason you want your name to be removed, please send me a direct message and I will take care of it.
Atomic Habits

Atomic Habits presents a framework for understanding and building habits that lead to success. Clear argues that small, incremental behavioural changes, known as atomic habits, can lead to significant improvements over time. He also stresses the importance of understanding the underlying psychological and environmental factors that influence our habits. The book provides practical strategies for creating and maintaining good habits, as well as strategies for breaking bad ones. It also covers the concept of habit stacking, where new habits are built on existing ones, and habit tracking to measure progress and help stay motivated.
Goodreads ⭐️ 4.38
Suggested by Stefan Rows
The Mythical Man Month

The Mythical Man-Month was released in 1975! In the fields of software engineering and project management, the book is regarded as a classic. Large software development project management issues are covered, including the issue of “adding people to a late software project makes it later.” The phrase “Brooks’ Law,” which argues that “adding people to a late software project makes it later,” is also introduced in the book. The book offers insights and lessons learnt from that project and is based on Brooks’ experience as the manager of the IBM System/360 operating system project. It is still often read and used as a helpful manual for overseeing software development projects today.
Adding people to a late software project makes it later.
Goodreads ⭐️ 4.01
Suggested by Rishabh Kaul
The War of Art

The War of Art is about overcoming resistance and achieving creative success. The author argues that all individuals have an inner force, which he calls “Resistance,” that prevents them from achieving their goals and fulfilling their potential. He believes that this resistance is the main obstacle to creative and professional success and that it manifests itself in many ways, such as procrastination, self-doubt, and fear. The book provides strategies and techniques for identifying and overcoming resistance to achieve creative success. It also covers the concept of the professional as someone who can overcome resistance and do the work they are meant to do.
Goodreads ⭐️ 3.99
Suggested by Stefan Rows
Clean Code and Clean Architecture

Both of them were written by Robert C. Martin (Uncle Bob) and are considered classics.
Clean Code provides guidelines and best practices for writing clean, maintainable, and testable code. It covers topics such as naming conventions, code organization, testing, and refactoring. The author emphasizes the importance of writing code that is easy to read and understand and uses examples from various programming languages to illustrate his points.
Clean Architecture presents an architectural approach to software development, emphasising separation of concerns, testability, and scalability. The book explains how to design a software system that is independent of any particular framework, library, or delivery platform and that is easy to test and maintain. The author uses examples from different languages, such as Java, C#, and Python, and covers concepts such as SOLID principles, hexagonal architecture, and package by component.
Both books are great recommendations for software architects and developers and are widely used as guides for designing maintainable and testable software systems.
- Goodreads Clean code ⭐️ 4.39
- Goodreads Clean Architecture ⭐️ 4.24
Suggested by Danilo Soares
Note: Clean Coder which is the second book of this series is one of my favorite books on soft skills and valuable information about becoming a professional software engineer. I highly reccomend it.
Peopleware: Productive Projects and Team

Peopleware is an in-depth look at the human factors that affect the productivity and effectiveness of software development teams. It covers topics such as office environment, team dynamics, communication, and motivation. The book argues that the most critical factor in software development is the people doing the work and that the key to success is creating an environment that allows them to work at their best.
It provides practical advice on how to create an environment that supports productivity and how to manage and lead software development teams effectively. The book also covers the concept of Peopleware as the study of the human side of software development. The book is widely considered a classic in the field of software development, and its ideas and principles are still widely applicable today.
Goodreads ⭐️ 4.13
Suggested by Simon Harris
The Art of Agile Development

The Art of Agile Development introduces Agile development. A set of principles for software development that emphasizes iterative, incremental delivery and customer involvement. The book covers the Agile manifesto and its core values, as well as the most popular Agile methods like Scrum, XP and Crystal. It also covers the technical practices that are essential to Agile development, such as test-driven development, pair programming, and continuous integration. The book provides practical guidance and real-world examples to help developers, managers, and teams apply Agile principles and practices to their work.
Goodreads ⭐️ 3.97
Suggested by Jon Ackerland
Designing Data-Intensive Applications

Designing Data-Intensive Applications is an in-depth look at the design and architecture of data-intensive systems, such as databases, data pipelines, and stream processing systems. It covers topics such as data modelling, data storage, data consistency, and distributed systems. The book emphasizes the importance of designing systems that are reliable, scalable, and maintainable and provides practical advice and real-world examples to illustrate the concepts discussed. It also covers the role of data pipelines and stream processing systems in data-intensive applications. The book will help anyone interested in understanding the design and architecture of data-intensive systems.
Goodreads ⭐️ 4.71 !
Suggested by /u/random_lonewolf
A Philosophy of Software Design

A Philosophy of Software Design provides a set of principles for designing software systems that are easy to understand, maintain, and evolve. It covers topics such as modularity, simplicity, and readability and emphasizes the importance of designing systems that are easy for other developers to understand and work with. The book also covers the concept of Design by Contract, a methodology for designing software that is based on formal contracts between the different components of the system. It also covers the importance of testing and how to design and implement automated tests effectively. The book is based on the author’s experience as a software designer and developer and provides practical advice and real-world examples to illustrate the principles discussed.
Goodreads ⭐️ 4.19
Suggested by /u/noir_lord
Site Reliability Engineering: How Google Runs Production System

This book provides an in-depth look at the practices and strategies used by Google to ensure the reliability, performance, and scalability of its production systems. The book covers the principles and practices of Site Reliability Engineering (SRE), a discipline that combines software engineering and systems administration to design, build, and run large-scale, highly available systems.
The book covers topics such as incident management, change management, monitoring and logging, and capacity planning. It also covers the culture and mindset of SRE, including the importance of testing, automation, and blameless post-mortems. The book provides valuable insights and lessons learned from Google’s experience running some of the largest and most complex systems in the world. It is an excellent recommendation for anyone responsible for the operation and maintenance of large-scale production systems.
Goodreads ⭐️ 4.22
Suggested by Dan Neciu
Dan is a good friend and has recommended me multiple excellent titles so far. You can check some of them in one of his articles.
Recommendations source Medium, Daily.dev and Reddit.
As previously, feel free to send me your suggestions or any further comments you may have regarding this list or the books themselves.

