May 2024
Intermediate to advanced
240 pages
5h 56m
English
As time passes, software grows ever more complex. We’ve grown accustomed to products that put the information and tools we want to use at our fingertips across multiple devices, anywhere on the globe, while supporting billions of users. Most of the time, they just work.
But if you’ve ever built one of these software systems, you know the enormity of the effort required. These systems are built by hundreds or thousands of people in efforts that span years or decades. They don’t “just work”—they work thanks to massive, coordinated efforts over time.
How do you design such a system? Keep track of its components? Manage its evolution? These are the challenges that define software architecture as a discipline. It’s architecture that gives ...