W02 - Ten Years of Architecture Insights from Cai Chao
Over the weekend I attended a talk by Cai Chao on his architectural insights from nearly a decade of work; Cai was formerly Amazon China's chief architect. I summarized the core points — they're basically “common sense.” When you peel back complex things, what remains is common sense.
“Problems” and “Technology.”The first level discussed the relationship between the “nail” and the “hammer”: start with the problem, not the technology. Cai gave an example: years ago an RD on a team, driven by technical enthusiasm, replaced a small project’s MySQL with DynamoDB, a newly released NoSQL database from AWS. Because they didn’t account for NoSQL’s weaknesses around transactions and data consistency, the maintenance cost of that small project ballooned from one person to a whole team. The second level is that in architecture design, “posing the right problem” is often harder than “solving the problem.” As a line from The Design of Everyday Things puts it, “The hardest part of design is deciding what to design.”
“Simple” and “Easy.”Architecture is the process of making delivery simpler, not of adding complexity. Simple and easy are different: easy shifts complexity to the user; simple absorbs complexity yourself. True simplicity comes from the difficult work; complexity is easy, simplicity implies ingenuity. To quote Steve Jobs: “Simplicity can be harder than complexity. You have to work hard to get your thinking clean to make it simple. But it’s worth it — once you get there, it gives you a huge amount of leverage. To achieve true simplicity, you have to think deeply enough.”
“Practice” and “Learning.”Excessive busyness causes you to fall behind because you have no time to update your knowledge. The worst nightmare is that problems at work grow more complex, you feel increasingly unable to cope, and you try to fix it by working more overtime — which leaves even less time to learn. That creates a vicious cycle. The assumptions behind the 7-2-1 learning method are that work must be challenging, people need strong role models, and the 1/10 portion of input should be adjusted appropriately at different stages. Take fitness as an example: the later you go, the smaller the gains from increased training volume; diet, nutrition, and rest become increasingly important and can be as significant as training. “Practice” and “learning” are like “training” and “nutrition”; the structure of inputs needs timely adjustment.
Last updated