Lo que la IA no puede verificar
por qué todo va hacia el product engineer
Aquí escribo sobresistemas que no se caen un viernes. código que otro puede leer sin sufrir. arquitectura sin humo ni palabras grandes. IA usada con criterio, no por moda. todo lo que rompí aprendiendo.
por qué todo va hacia el product engineer
Ideas para tu próxima pausa.
Dónde se va realmente el dinero en un sistema agéntico y seis palancas para recuperarlo: prompt caching y sus trampas, enrutamiento por modelo, poda de contexto e instrumentación.
Una crítica a la moda de los agentes: la escalera de complejidad desde un prompt hasta un agente, los cuatro costos ocultos, y cuándo la autonomía sí es la respuesta correcta.
AuthN vs AuthZ, 401 vs 403, y los dos ejes de la autorización: por roles (jerarquía) y por propiedad (segmentación). Explicado con analogías reales y muchos diagramas, con AWS Cognito + Spring Security.
Por qué especificar el qué y el porqué antes de pedir código produce mejores resultados con IA. Del prompt vago al spec, al plan de ejecución y al seguimiento de tareas con checkboxes.
Qué es Retrieval-Augmented Generation, cómo funcionan los embeddings y la búsqueda vectorial, y cómo construir un RAG real con Python, LiteLLM y pgvector.
Qué es autoscaling, cómo funciona en ECS con Fargate, y una demo práctica con Go y Vegeta para ver el scaling en acción.
Por qué dejé de usar Kotlin para todo y cómo Go se convirtió en mi lenguaje principal: goroutines, channels, patrones de concurrencia y todo lo que Go resuelve sin que se lo pidas.
Hot cache, proactive cache, cache-aside, write-through y write-behind: cuándo usar cada estrategia de caché y cómo implementarla con Redis.
Mi experiencia usando Superpowers con Claude Code. Cómo un conjunto de skills transformó mi flujo de desarrollo: brainstorming estructurado, planes detallados y reviews automáticos.
Tutorial hands-on para construir un sistema de recomendación Two-Tower desde cero con TensorFlow Recommenders y MovieLens 100K. Código real, datos reales, resultados reales.
Guía práctica para usar herramientas de IA al programar. Aprende qué son los agentes, tools y skills, y cómo sacarles el máximo provecho sin perder el control de tu código.
Aprende qué es la experimentación en software, por qué importa y cómo herramientas como Statsig te permiten tomar decisiones basadas en datos. Feature flags, A/B testing, rollouts y más.
Tutorial práctico para implementar observabilidad en microservicios con OpenTelemetry y Jaeger. Compara los spans de Spring Web (bloqueante) y WebFlux (reactivo) en un entorno Docker Compose.
Tutorial completo para construir una API REST escalable. Aprende arquitectura en capas, SQL directo vs ORM, relaciones entre tablas y Docker para desarrollo.
Aprende cómo funcionan los modelos Two-Tower para sistemas de recomendación. Desde embeddings y similitud de vectores hasta búsqueda de vecinos con FAISS, todo con TensorFlow y el dataset MovieLens.
Aprende a nombrar correctamente tus endpoints REST: sustantivos vs verbos, jerarquía de recursos, query params, códigos HTTP y errores comunes que debes evitar.
Monitorea tus logs con Python y visualízalos con Plotly. Un primer paso simple hacia la observabilidad real.
Un problema clásico de combinatoria con 40,320 soluciones. Permutaciones, Fisher-Yates shuffle y un tablero interactivo en React.
Configura Spring Boot para validar JWT de AWS Cognito: Resource Server, autorización por roles con cognito:groups, y endpoints protegidos con @PreAuthorize.
Guía completa sobre arquitecturas multitenant, desde el aislamiento lógico hasta bases de datos dedicadas. Incluye ejemplos prácticos con Spring Boot y PostgreSQL.
Spoiler: no todo lo que genera código por ti es magia. Acá te cuento lo que realmente pienso, sin tanta vibra, pero con criterio.
Aprende cómo los árboles de decisión transforman reglas intuitivas en modelos predictivos claros, interpretables y aplicables con código real.
Versiona tu base de datos con scripts SQL numerados. Checksums, migraciones repetibles, buenas prácticas y cómo mantener todos tus ambientes sincronizados.
Descubre por que NOT IN puede devolver cero filas cuando esperas miles, como NOT EXISTS evita la trampa del NULL, y cual es mas eficiente segun tu caso.
Un SELECT dentro de una transaccion puede bloquear writes silenciosamente. Aprende por que pasa, como diagnosticarlo y 4 formas de evitarlo.
Descubre por qué el descanso es fundamental para mantener tu productividad y creatividad como desarrollador de software.
Descubre cómo llevar al diseño web a Pedro, el mapache de TikTok, utilizando HTML, CSS y JavaScript para crear una animación divertida y atractiva.
Descubre la importancia del versionamiento de código y aprende a utilizar Git para gestionar tus proyectos de software de manera eficiente.
Por qué un test no sirve para saber si tu código funciona hoy, sino para poder cambiarlo mañana. La pirámide de tests en backend y las cinco dimensiones que tu suite funcional deja pasar: concurrencia, idempotencia, contratos, migraciones y el camino del error.
Descubre los conceptos fundamentales detrás de Apache Kafka y cómo se utiliza en la transmisión de eventos y procesamiento de datos a gran escala.
Aprende a construir un bot de Slack con Kotlin y Spring Boot usando el SDK de Bolt para JVM. Slash commands, eventos, Block Kit y configuración para producción.
Aprende los fundamentos de Project Reactor: Mono, Flux, operadores esenciales, manejo de errores y Schedulers. La base indispensable para entender Spring WebFlux.
Compara Micronaut y Spring Boot con ejemplos de código reales: inyección de dependencias, controladores REST, rendimiento, GraalVM Native y cuándo elegir cada uno.
Aprende a operar Kafka en producción: gestión de topics, consumer groups, monitoreo del consumer lag, retención de mensajes y patrones como la Dead Letter Queue.
Aprende cómo las coroutines de Kotlin simplifican la concurrencia asíncrona: suspend functions, launch vs async, Dispatchers, structured concurrency y manejo de errores con ejemplos prácticos.
Round Robin, Least Connections e IP Hash explicados con analogías y diagramas. Los 3 algoritmos que necesitas conocer.
Entiende la diferencia entre un servicio API y un worker, cuándo aplicar cada patrón y por qué separarlos es clave para diseñar microservicios escalables y resilientes.
Optimiza el uso de Apache Kafka configurando su funcionamiento en modo batch para manejar grandes volúmenes de datos de manera eficiente y escalable.