Notas sobre construir, operar y mejorar productos.

Escritura práctica sobre software, IA aplicada y los sistemas detrás del trabajo útil.

RAG en producción: lo que se rompe al salir del prototipo

Un prototipo de RAG funciona en una tarde. Sostenerlo en producción es otro problema: recuperación, frescura, costos y evaluación.

Leer artículo

Cómo evaluar un sistema con LLM sin engañarte

Probar tres ejemplos a mano no es evaluar. Cómo montar una medición honesta de un sistema con modelos de lenguaje.

Leer artículo

Agentes de IA: cuándo sirven y cuándo son un rodeo caro

No todo flujo con IA necesita un agente. Cómo distinguir los casos donde la autonomía aporta de los que solo agregan latencia y costo.

Leer artículo

Fine-tuning, RAG o prompting: cómo decidir

Tres formas de adaptar un modelo a tu dominio, con costos y límites distintos. Un marco para elegir sin probar a ciegas.

Leer artículo

Costos de LLM en producción: dónde se va el presupuesto

El precio por token rara vez es el problema. Las fugas reales están en el contexto inflado, los reintentos y el reprocesamiento.

Leer artículo

Guardrails en aplicaciones con LLM: qué proteger y cómo

Inyección de instrucciones, fuga de datos y acciones no autorizadas. Controles concretos para sistemas con modelos de lenguaje.

Leer artículo

IA en flujos internos: automatizar sin romper el proceso

Los mejores casos de IA aplicada no son de cara al cliente. Cómo identificarlos e integrarlos sin generar trabajo nuevo.

Leer artículo

Bases de datos vectoriales: cuándo las necesitas de verdad

Antes de sumar una pieza de infraestructura, revisa si tu base de datos actual ya resuelve el problema. Muchas veces lo hace.

Leer artículo

De piloto a producción: por qué mueren los proyectos de IA

El piloto impresiona y el proyecto se detiene. Las causas se repiten y casi ninguna es técnica.

Leer artículo

Observabilidad: qué medir antes de que se caiga

Métricas, trazas y registros no son lo mismo que observabilidad. Qué instrumentar para poder responder preguntas que no anticipaste.

Leer artículo

Deuda técnica: cómo priorizarla con criterio de negocio

No toda deuda hay que pagarla. Un marco para decidir qué arreglar, qué aislar y qué dejar en paz.

Leer artículo

Idempotencia y reintentos en sistemas distribuidos

Todo reintento asume que repetir la operación es seguro. Cómo diseñar para que lo sea, y qué se rompe cuando no lo es.

Leer artículo

Migraciones de base de datos sin downtime

Renombrar una columna puede tumbar el servicio. El patrón de expansión y contracción, paso a paso.

Leer artículo

Estrategias de caché: invalidación sin dolor

Cachear es fácil; invalidar es donde aparecen los errores raros. Patrones que funcionan y los que producen datos rancios.

Leer artículo

Multi-tenancy: aislamiento de datos por diseño

Tres modelos de aislamiento con costos muy distintos. Cómo elegir y qué controles hacen falta en cada uno.

Leer artículo

Construir o comprar: un marco de decisión honesto

La comparación de precios es la parte fácil y la menos importante. Qué mirar antes de decidir si construyes.

Leer artículo

Medir productividad de ingeniería sin métricas tóxicas

Contar líneas o tickets cerrados degrada el trabajo que pretende medir. Qué medir para mejorar en lugar de vigilar.

Leer artículo

Capacitar equipos no técnicos en herramientas digitales

La adopción no falla por falta de capacitación, sino por capacitación desconectada del trabajo real.

Leer artículo

Contratos de API que sobreviven al cambio

Versionar no es la primera respuesta. Cómo diseñar interfaces que evolucionan sin romper a quien las consume.

Leer artículo

Feature flags como herramienta de producto, no solo técnica

Separar despliegue de lanzamiento cambia cómo se trabaja. También genera una deuda propia si no se gestiona.

Leer artículo

CI/CD que no bloquea al equipo

Una tubería lenta o inestable enseña a la gente a ignorarla. Cómo mantenerla rápida y confiable.

Leer artículo

Arquitectura orientada a eventos: cuándo vale la complejidad

Desacoplar con eventos resuelve problemas reales y crea otros. Cuándo el intercambio conviene y cómo no equivocarse.

Leer artículo

Infraestructura como código: los errores que más cuestan

Escribir la infraestructura en archivos no es el logro. Lo difícil es el estado, los secretos y la deriva.

Leer artículo

Discovery de producto para equipos técnicos

Construir bien algo que nadie necesita sigue siendo desperdicio. Cómo validar antes de comprometer meses de desarrollo.

Leer artículo

Edge computing: qué conviene mover al borde y qué no

Ejecutar cerca del usuario reduce latencia pero cambia las reglas sobre datos y estado. Un criterio para decidir.

Leer artículo

Microservicios vs Monolitos: Guía para Elegir Sabiamente

Un análisis detallado sobre cuándo y por qué elegir arquitecturas de microservicios o monolíticas, comparando sus características y casos de uso.

Leer artículo

Introducción práctica a los Transformers en NLP

Una guía paso a paso para comprender y aplicar modelos de transformers en procesamiento de lenguaje natural, incluyendo el mecanismo de atención y ejemplos.

Leer artículo

Clean Code: Principios Fundamentales para un Desarrollo Sostenible

Explora los principios esenciales para escribir código limpio, mantenible y eficiente, con ejemplos antes/después y mejores prácticas.

Leer artículo

Arquitectura Hexagonal: Diseñando sistemas mantenibles

Aprende cómo la arquitectura hexagonal puede mejorar la mantenibilidad y testabilidad de tus aplicaciones. Exploramos sus componentes, ventajas y un caso práctico.

Leer artículo