Cuándo dejé de preguntarme qué tecnología aprender
Pasé años acumulando frameworks. El cambio real fue dejar de pensar en tecnologías y empezar a pensar en qué tipo de problemas quiero resolver.
Problema
Durante mucho tiempo mi estrategia de crecimiento era acumular: Angular, Spring Boot, Vue, NestJS, Docker. Si salía algo nuevo, quería aprenderlo. No era mala estrategia. Pero en algún punto me di cuenta de que tenía muchas herramientas y poca claridad sobre qué problemas quería resolver con ellas.
Solución
Dejé de preguntarme '¿qué tecnología me falta aprender?' y empecé a preguntarme '¿qué tipo de problemas quiero resolver?' La respuesta fue clara: sistemas distribuidos, concurrencia, resiliencia, escalabilidad. No desde la teoría, sino aplicándolos en proyectos reales. Un ejemplo concreto de mi trabajo en Creditu: en el repositorio teníamos el manejo de archivos (PDFs, Word, etc.). Se tomó la decisión de sacar ese código a un repositorio aparte porque no representaba lo que el repositorio venía a resolver (créditos y risk). El trade-off: ahora cualquier actualización respecto al manejo de archivos está por separado, pero el repositorio principal se mantiene enfocado en su propósito y el código de archivos es reutilizable por otros servicios.
Aprendizaje
No lo tengo resuelto. Todavía estoy aprendiendo patrones avanzados, diseño de sistemas bajo carga, cómo tomar decisiones de arquitectura con contexto real. Lo que estoy sumando ahora: - Agentes y Spec Driven Development (SDD): cómo estructurar prompts como artefactos gobernados - Concurrencia en Java: CompletableFuture y Virtual Threads - Patrones de resiliencia: circuit breaker, bulkhead, retry - Manejo de tokens y costos de LLMs en workflows de AI Eso no me molesta mostrarlo. Me parece más útil para alguien que lee esto saber que el camino es largo, que pretender que ya llegué.
TL;DR
Pasé de coleccionar frameworks a elegir en qué tipo de problemas profundizar. El cambio no fue aprender menos cosas, sino aprender con dirección. Hoy esa dirección es sistemas distribuidos y backend de alta complejidad.