Cómo aprender a diseñar sistemas informáticos distribuidos a gran escala como los que usarían Amazon o Netflix

Hay algunos libros por ahí, como "El arte de la escalabilidad", "Reglas de escalabilidad", "Arquitecturas escalables de Internet" y "Sistemas distribuidos: Principios y paradigmas". También puedes leer los blogs de ingeniería de organizaciones como Netflix, Amazon, LinkedIn y Twitter. El blog High Scalability - tiene muchos artículos y casos de estudio.

En última instancia, sin embargo, la única manera de aprender es haciéndolo. Es decir, trabajando en algún lugar donde se llega a trabajar en la ingeniería de tales sistemas. Tienes que aprender las consecuencias de las decisiones arquitectónicas de primera mano, ya sean decisiones tuyas, de tu equipo o de otros. Como he dicho en otro lugar, tienes que estar en una posición para romper cosas, mal, con el fin de aprender a ser un arquitecto, en particular en los grandes sistemas distribuidos.

Trabajar en algunos de los tipos de infraestructura de código abierto que estas organizaciones apoyan y utilizan (por ejemplo, el Proyecto Voldemort, Kafka, o lo que sea) le dará un poco de experiencia práctica con los detalles técnicos gnarly sin tener que preocuparse demasiado por los operativos para empezar. Envía parches, hazte notar y comienza a dialogar con los mismos ingenieros a los que te gustaría emular. Haz un buen trabajo y, ¿quién sabe? Tal vez se te presenten algunas oportunidades para avanzar en tu dirección. Buena suerte.