> 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/es/2022/w02-cai-chaos-ten-year-reflections-on-architecture.md).

# W02-Reflexiones de Cai Chao tras diez años de arquitectura

El fin de semana escuché una conferencia de Cai Chao sobre lo que ha aprendido en sus casi diez años de trabajo en arquitectura. Cai fue arquitecto jefe de Amazon China. He resumido sus ideas principales. En realidad, todas son de sentido común. Cuando desentrañamos algo complejo, lo que queda a la vista es el sentido común.

**El problema y la tecnología.** El primer nivel trata de la relación entre el clavo y el martillo. Hay que empezar por el problema, no por la tecnología. Cai puso un ejemplo: hace años, por entusiasmo tecnológico, los desarrolladores de un equipo sustituyeron MySQL en un proyecto pequeño por DynamoDB, una base de datos NoSQL que AWS acababa de lanzar. Como no habían tenido en cuenta cuestiones como las transacciones y la coherencia de los datos, para las que NoSQL no resulta tan adecuado, convirtieron el mantenimiento de un pequeño proyecto que requería una persona en un trabajo para todo un equipo. El segundo nivel es que, en el diseño de arquitecturas, plantear el problema suele ser más difícil que resolverlo. Citó una frase de *The Design of Design*: «La parte más difícil del diseño es diseñar qué problema vamos a diseñar».

**Lo simple y lo fácil.** La arquitectura consiste en simplificar la entrega, no en buscar complejidad. Simple no es lo mismo que fácil: lo fácil deja la complejidad al usuario; lo simple la asume uno mismo. La verdadera sencillez nace de algo que no es fácil. Lo complejo es fácil; lo simple contiene ingenio. Citó a Jobs: «Lo simple puede ser más difícil que lo complejo. Tienes que esforzarte mucho por aclarar tus ideas antes de poder hacer las cosas de forma sencilla. Pero el esfuerzo merece la pena, porque, una vez que lo consigues, adquieres una fuerza enorme. Para alcanzar una verdadera sencillez, tienes que pensar con suficiente profundidad».

**La práctica y el aprendizaje.** Estar demasiado ocupado hace que uno se quede atrás, porque no tiene tiempo para actualizar sus conocimientos. La peor pesadilla es enfrentarse a problemas de trabajo cada vez más complejos, sentir que cuesta cada vez más afrontarlos y resolverlos únicamente a base de horas extra. Cuantas más horas extra, menos tiempo para aprender: es un círculo vicioso. El método de aprendizaje 70-20-10 solo funciona si el trabajo plantea retos y se cuenta con personas excelentes como referencia. El peso de ese 1/10 dedicado a adquirir conocimientos debe ajustarse a cada etapa. Tomemos el ejercicio físico como ejemplo: cuanto más se avanza, menor es el beneficio de aumentar el volumen de entrenamiento y más importantes resultan la alimentación y el descanso, hasta llegar a tener un peso comparable al del ejercicio. La práctica y el aprendizaje son como el entrenamiento y la nutrición: hay que ajustar a tiempo la estructura de lo que incorporamos.
