Español
Arquitectura — Diseñar para el cambio
La arquitectura es el conjunto de decisiones caras de cambiar después. Mi sesgo: empezar tan pequeño como sea posible — a veces un solo archivo — pero con costuras en los lugares correctos, para que crecer signifique reemplazar módulos en vez de reescribir sistemas.
Principios con los que diseño
- Dominios de fallo. Lo que puede morir debe morir solo — los routers aíslan proveedores, los paneles aíslan usuarios.
- Tecnología aburrida primero. El presupuesto de innovación se gasta en la única cosa que es realmente nueva.
- Interfaces sobre implementaciones. La forma de la API de OpenAI se volvió estándar precisamente porque los contratos viven más que los productos.
- El estado es la parte difícil. Mantenlo pequeño, explícito, con backup, y sabe dónde vive cada byte.
- Rutas de evolución. Cada diseño lleva una nota de "cuando esto se le quede pequeño" — escrita mientras los trade-offs están frescos.
La cartera de proyectos sigue este mismo arco: los puentes (un archivo) maduraron a routers (OmniRouter), los routers a stacks (Hermes) — cada paso reemplazó un módulo, no reescribió un sistema. Eso es para mí lo que significa "ingeniero versátil": no saberlo todo, sino construir de forma que puedas aprender lo siguiente.