W02 - Ten Years of Architectural Insights by Cai Chao

Over the weekend I attended a talk by Cai Chao on his architectural insights from the past decade. Cai Chao is the former chief architect of Amazon China. I summarized the core points — they’re essentially “common sense.” When you strip away the layers of complex things, what remains is common sense.

"Problems" and "technology."The first layer discusses the relationship between the "nail" and the "hammer": start from the problem, not the technology. Cai gave an example: years ago an RD team, driven by technical enthusiasm, replaced MySQL for a small project with DynamoDB, an early NoSQL offering from AWS at the time. They failed to account for NoSQL’s weaknesses with transactions and data consistency, and turned a one-person maintenance task into a team-sized burden. The second layer points out that in architecture, "raising the right problem" is often harder than "solving the problem." As The Design of Everyday Things puts it, "The most difficult part of design is deciding what problem you are designing for."

"Simple" and "easy."Architecture is the process of making delivery simpler, not of making things more complex. Simple and easy are different: easy pushes complexity onto the user, while simple keeps complexity within the product. True simplicity comes from difficulty; complexity is the easier path, while simplicity embodies cleverness. As Steve Jobs said, "Simple can be harder than complex. You have to work hard to get your thinking clean to make it simple. But it’s worth it because once you get there, it gives you tremendous leverage. To achieve real simplicity, you must think deeply enough."

"Practice" and "learning."Being overly busy causes you to fall behind because you lack time to update your knowledge. The worst nightmare is that work problems grow more complex, you feel increasingly unable to cope, and you try to compensate with more overtime — which leaves even less time to learn, creating a vicious cycle. The premise of the 7-2-1 learning approach is that work must be challenging and you must have excellent benchmarks; the 1/10 portion of input should be adjusted appropriately at different stages. Take fitness as an example: the later you progress, the smaller the gains from increased training volume become, and nutrition and rest become as important as training. Practice and learning are like training and nutrition — the structure of your inputs needs timely adjustment.

Last updated