> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/de/2022/w02-cai-chaos-ten-year-reflections-on-architecture.md).

# W02-Cai Chaos Erkenntnisse aus zehn Jahren Architekturarbeit

Am Wochenende hörte ich einen Vortrag von Cai Chao, dem früheren Chefarchitekten von Amazon China. Er sprach über seine Architekturarbeit der vergangenen zehn Jahre. Wenn ich die Kernaussagen zusammenfasse, sind es eigentlich alles Selbstverständlichkeiten. Wenn man Komplexität Schicht für Schicht abträgt, kommt oft genau das zum Vorschein.

**Problem und Technologie.** Auf der ersten Ebene geht es um Nagel und Hammer. Beginnen wir beim Problem, nicht bei der Technologie. Cai nannte ein Beispiel: Vor Jahren ersetzte ein begeistertes Entwicklerteam die MySQL-Datenbank eines kleinen Projekts durch DynamoDB, eine damals neue NoSQL-Datenbank von AWS. Transaktionen, Datenkonsistenz und andere Schwächen von NoSQL hatte es nicht bedacht. So wuchs der Wartungsaufwand von einer Person auf ein ganzes Team. Auf der zweiten Ebene geht es darum, dass in der Architektur das Formulieren des Problems oft schwieriger ist als seine Lösung. Ein Satz aus „The Design of Design“ lautet: „Der schwierigste Teil des Entwurfs ist zu entwerfen, welches Problem wir überhaupt entwerfen wollen.“

**Einfach und leicht.** Architektur soll die Auslieferung einfacher machen, nicht Komplexität vermehren. Simple ist nicht dasselbe wie easy. Leicht heißt, die Komplexität dem Nutzer zu überlassen. Einfach heißt, sie selbst zu tragen. Echte Einfachheit entsteht aus Schwierigkeit. Komplexität ist leicht, Einfachheit enthält Klugheit. Steve Jobs sagte: „Einfach kann schwieriger sein als komplex. Man muss sehr hart daran arbeiten, seine Gedanken zu klären, bevor man etwas einfach machen kann. Doch die Mühe lohnt sich. Hat man es geschafft, kann man Berge versetzen. Für echte Einfachheit muss man tief genug denken.“

**Praxis und Lernen.** Wer zu beschäftigt ist, fällt zurück, weil keine Zeit bleibt, Wissen zu erneuern. Der schlimmste Kreislauf beginnt damit, dass Probleme immer komplexer werden, man sie immer schwerer bewältigt und nur noch mit Überstunden reagiert. Je mehr Überstunden, desto weniger Lernen. Die 70-20-10-Lernregel setzt voraus, dass Aufgaben herausfordern, gute Vorbilder vorhanden sind und der für Wissensaufnahme vorgesehene Anteil von einem Zehntel je nach Phase angepasst wird. Beim Training etwa bringen zusätzliche Mengen mit zunehmender Erfahrung immer weniger. Ernährung und Tagesrhythmus werden wichtiger und können ebenso viel Gewicht wie das Training erhalten. Praxis und Lernen verhalten sich wie Training und Ernährung. Die Zusammensetzung der Inputs muss rechtzeitig angepasst werden.
