The Premiere: Master Software Architecture Book
Explore the world of software architecture like a pro, minus the years of trial and error. This guide is your shortcut to architectural enlightenment – no meditation or mountain climbing required.
It is a special day for me, and, exceptionally, it is an additional newsletter (forgive me, please!).
After five months of intense work and countless caffeine-fueled writing sessions, my "Master Software Architecture: A Pragmatic Guide" book is now available!
Writing this book was a crazy time. I entirely focused on it, and it took exactly 753 hours of writing, editing, and (@!#@%$) image editing & resizing until the premiere.
Yes, editing & resizing images was a killer. If you ever think about writing a book, reserve a lot of time for it unless someone else does it for you 😅
As a result, I am handing you the nearly 400-page book. It is a guide that will help you connect all the pieces while balancing the focus on understanding the domain and technology aspects, described using a pragmatic approach and super simple language.
Years ago, I felt lost when I started in software architecture. There were so many topics and issues, and I was a novice architect in the middle. I didn't know where to start building applications, what key areas to pay attention to, or how to build systems that would be able to evolve over many years.
I have spent countless hours and days learning to recognize this area, and it has not been easy—knowledge was scattered throughout the Internet, books, and tutorials. Finally, mentors helped me get on the right track.
That is why I decided to write this book. I want to help you navigate this complex world of hard decisions, trade-offs, and techniques that will support you in this fantastic journey. I wish you didn't have to make the same mistakes as me and give up your private life by spending many hours looking for the correct information.
It will guide you through the architectural maze without getting lost in the details.
This book is perfect for novice architects taking their first steps in software architecture. It is also an invaluable resource for software engineers looking to understand architectural concepts and those considering transitioning into an architect role. Here is what you will learn:
Understand Software Architecture. The role of software architect, architectural drivers, pragmatic and holistic approach.
Discover Your Business Domain. Event Storming, Domain Storytelling, Subdomains, Bounded Contexts, Context Map.
Recognize the Environment Around You. The decision-making process, goal recognition, looking at existing teams, analyzing exiting infrastructure, budget limitations, SLA, and calculating crucial numbers.
Choose Deployment Strategy. Single versus multiple deployment units, modular monolith, microservices, inbound and outbound communication, scaling, load balancer, and API gateway.
Define Release Strategy. Continuous deployments, delivery, blue-green, canary, rolling, trunk-based development, short-living branches, mob and pair programming, swarming, and post-mortem meetings.
Focus on Testing. Shift left, testing pyramid, load, performance, and penetration testing.
Evolve Your Architecture. A complete application evolution process, including vertical slices, sharding, partitioning, CQRS, transaction script, domain model, aggregates, value objects, entities, and much more.
Don't Forget About Security. IODR, XSS, SQL injections, encryption, hashing, supply chain attacks, DoS and DDoS, and more.
Plus, bonus sections on other engineering practices and real-world architecture exercises.
In addition, I have invited top experts as guest authors to share their views on the drivers of successful software architecture:
Vlad Khononov: You might know him from his excellent “Learning Domain-Driven Design” book.
Milan Jovanović: One of the most popular educators in the area of .NET and C#.
Oskar Dudycz: The master of Event Sourcing, ex-maintainer of Marten, and founder of Emmett and Pongo (I love this name; it combines Postgres and Mongo).
Milan Milanović: Who doesn’t know Milan? He is a software architect, CTO, and an educator.
Denis Čahuk: Software architect, coach, and co-host of “Our Tech Journey.” Has a fascinating perspective on software architecture.
Grab your copy here.
The cool thing? You can get a 100% refund on any Leanpub purchase in two clicks within 60 days of purchase. So, if you don’t like the book (but I am sure you will!), you can return it within 60 days.
Your journey as a software architect is unique. I am sure this book will help you grow and succeed. The future of software architecture needs curious people like you.
Get out there and build amazing things!
Purchased :)