Blog
Ensayos, decisiones técnicas y trade-offs sobre arquitectura, producción e IA. No para acumular tutoriales: para aprender a mirar sistemas con más criterio.
Empezá por acá
Una pieza para entrar al tono del sitio: problema real, decisión técnica y criterio aplicable.
Día 22: el método(true, false, true) que nadie entiende
Un boolean en la firma casi siempre significa que el método hace dos cosas. Tres técnicas para eliminar flag arguments en Java. #100ArchitectureDays.
Elegí tu tema
Cinco frentes de criterio técnico. Cada uno, una ruta de lectura.
Arquitectura sin filtros
Diseño, límites, trade-offs, DDD y APIs.
Ver artículosProducción sin filtros
Logs, métricas, incidentes y performance.
Ver artículosIA sin filtros
Agentes, RAG y desarrollo asistido con criterio.
Ver artículosCarrera sin filtros
Liderazgo técnico, decisiones y crecimiento.
Ver artículosLaboratorio sin filtros
Productos, prototipos y arquitectura en público.
Ver artículosÚltimos artículos
Día 21: extends te encierra — composición te libera
Visa Infinite rompió una jerarquía de 4 niveles: Level-5, flag o copy-paste, todas trampas. La composición gana sobre la herencia. #100ArchitectureDays.
Día 20: YAGNI — la feature que programaste por las dudas
7 clases para un solo método de pago. PayPal y Crypto: TODO. Borró 300 líneas, todo siguió funcionando. Día 20 de #100ArchitectureDays.
Día 19: data, manager, process y otros crímenes
El código se lee 10x más de lo que se escribe. Cada nombre vago que te ahorra 2 segundos al escribir le cuesta 30 a cada lector. Día 19 de #100ArchitectureDays.
Día 18: Cambiar de proveedor sin tocar el core
ReportService tenía el proveedor hardcodeado. Cambiar a SMS exigía abrir el core. DIP: depende de la abstracción, no del proveedor. #100ArchitectureDays.
Día 17: Liskov, cuando heredar miente
Penguin extends Bird. En runtime, fly() explota. LSP: la herencia biologica no es herencia de comportamiento. Dia 17 de #100ArchitectureDays.
Día 16: El if nuevo que rompió 5 features
Cada canal nuevo obligaba a abrir NotificationService y rezar. Sprint 4 rompió EMAIL. Sprint 7, lo mismo al agregar SLACK. Open/Closed Principle: extender sin tocar lo que ya anda. Día 16 de #100ArchitectureDays.
Día 15: Tu código es DRY pero nadie lo entiende. Bienvenido al infierno de la abstracción.
Dos funciones parecidas no son la misma función. La abstracción incorrecta es peor que la duplicación, y probablemente tu codebase está lleno de ellas. Día 15 de #100ArchitectureDays.
Día 14: Cambiaste una clase y rompiste 10 más. Efecto dominó.
Alto acoplamiento, baja cohesión. Cambias un DTO y te explota medio sistema. Cómo separar modelos por capa para eliminar el efecto dominó. Día 14 de #100ArchitectureDays.
No se encontraron artículos.
¿Te quedaste con ganas de más?
La Bitácora Sin Filtros: una decisión técnica, sus trade-offs y una regla práctica, una vez por semana.