Extraordinary library

Hello! Many people often ask me how I learn new things and where to find sources for more advanced topics.

I always say that you must know yourself. The internet has content in all formats and at all levels, but you must know what is best for you. Whether it's watching a tutorial, attending a bootcamp, reading articles, listening to a podcast, etc.

Over time, I've come to realize that reading is the best skill ever. It's one of the main reasons for the evolution of humanity, as it can pass knowledge to the future. It's an incredible skill, so I have focused on reading and writing. For me, the best thing is the most traditional one – books! And everything else often appears first in articles, etc. Reading is a powerful skill, and you must improve it and make it a habit.

So, this page is dedicated to all the books that I have already read and believe are wonderful and a must-read for all successful software engineers.

I will not add any description of what the book is about; the title explains it. You can click on it to read the summary. It will be a simple list without any ordination in special.

The Software Architect Elevator - Gregor Hohpe Building Evolutionary Architectures - Rebecca Parsons
Accelerate - Jez Humble Modern Software Engineering - David Farley
A Philosophy of Software Design - John K. Ousterhout Mythical Man-Month - Frederick P. Brooks Jr.
Rapid Development - Steve McConnell Code Complete - McConnell Steve
Grokking Simplicity - Eric Normand Patterns of Enterprise Application Architecture - Martin Fowler
Grokking Algorithms - Aditya Bhargava Refactoring - Martin Fowler
Introduction to Algorithms - Charles E Leiserson Fundamentals of Software Architecture - Mark Richards
Cracking the Coding Interview - Gayle Laakmann McDowell System Design Interview - Alex Xu
Designing Data-Intensive Applications - Martin Kleppmann Team Topologies - Matthew Skelton

"But, Kenneth, where are all the must-read books that everyone talks about, like 'The Pragmatic Programmer' and 'Clean Code'?"

Well, these famous books are nice, but I believe they have become so ingrained in the day-to-day work of modern software engineers that you can often find the simplest tutorials on YouTube that already cover the techniques presented in these books.

I understand the revolution they brought about, but nowadays, it's easier to Google "clean code," "design patterns," "DDD," or similar topics instead of shelling out a lot of money for a book that can be quite dense and abstract at times. Take the Clean Architecture book, for example; it presents a concept with many well-defined ideas bundled together but lacks a real implementation. I think it's more beneficial and cost-effective to learn these ideas separately and explore different perspectives on implementations, so you can create your own.

Is this a bit provocative? Perhaps, but I'll leave it at that! Hehe.