- Patrón Rate Limitby Carlos MarinPublicaste tu API pública. A la semana, un solo cliente — sin mala intención, probablemente un script mal configurado en un loop infinito — te está mandando 500 requests por segundo. Tu base de datos, diseñada para un tráfico mucho más razonable, empieza a responder lento. Y ese cliente sobrecargado está afectando a todos los…
- Reuniones 1:1by Carlos MarinEn el post sobre la transición de código a liderazgo mencioné las reuniones 1:1 (uno a uno) como uno de los hábitos clave de las primeras semanas. Prometí desarrollarlo aparte, y acá está: porque de todas las herramientas de un líder técnico, el 1:1 es probablemente la más subestimada — y la más fácil de…
- Patrón Outboxby Carlos MarinTu servicio de órdenes hace dos cosas cuando se crea una orden: guarda la orden en la base de datos, y publica un evento OrderCreated a Kafka para que el servicio de inventario y el de facturación se enteren. Código simple: ¿Qué pasa si el servidor se cae justo entre la línea 1 y la…
- Mensajes del commitby Carlos MarinSon las 11pm de un jueves, producción está fallando, y estás corriendo git log para entender qué cambió en las últimas semanas. Y ahí te encontrás con esto: Ninguno de esos mensajes te dice nada. No sabés qué se arregló, por qué, ni si ese “arreglo definitivo (creo)” tiene algo que ver con el bug…
- Patrón Bulkheadby Carlos MarinTu aplicación tiene un endpoint de checkout que llama a tres servicios: pagos, envíos y notificaciones. Un día, el servicio de notificaciones — el menos crítico de los tres, el que manda el correo de “tu orden fue recibida” — empieza a responder lento. Nada grave, pensarías. Pero a los cinco minutos, el checkout completo…
- Del código al liderazgoby Carlos MarinTe promovieron a tech lead (líder técnico). Felicidades. Ahora la pregunta incómoda: ¿alguien te explicó qué se supone que hagás? Para la mayoría, la respuesta es no. Un día sos la persona que más rápido resuelve tickets, y al siguiente estás en reuniones todo el día, tu equipo espera dirección, y esa sensación extraña aparece:…
- Cómo decir noby Carlos MarinViernes, 4:50pm. Llega el mensaje: “Necesitamos agregar este módulo al release del lunes. Es pequeño, ¿verdad que se puede?”. Vos sabés que no es pequeño. Sabés que “se puede” significa trabajar el fin de semana y entregar algo sin probar. Pero la palabra que sale de tu boca es: “Sí, claro, lo vemos”. Decir “no”…
- Síndrome del impostorby Carlos MarinEstás en una reunión técnica. Alguien menciona una tecnología que no conocés. Y en tu cabeza aparece esa voz: “En cualquier momento se van a dar cuenta de que no sé tanto como creen. Que llegué aquí de suerte.” Si esa voz te suena familiar, bienvenido al club. Es enorme. Ese fenómeno se conoce comúnmente…
- Feedback en code reviewby Carlos MarinEsto está mal, ¿por qué lo hiciste así?” — siete palabras que no enseñan nada y dejan a la otra persona a la defensiva por el resto del día. Dar buena retroalimentación técnica es una habilidad que se entrena, no un don. Seis técnicas para que tus code reviews construyan en lugar de destruir. 🧵
- Event Sourcing vs CRUD: ¿cuándo usar cada uno?by Carlos MarinUn cliente de una fintech (empresa de tecnología financiera) llama a soporte: “Mi saldo dice $500 pero yo tenía $800 la semana pasada. ¿Qué pasó?”. El agente de soporte abre el sistema y encuentra… una fila en la base de datos que dice balance = 500. Nada más. La historia de cómo se llegó a…
- SOLID en la práctica – más allá de las definicionesby Carlos MarinPreguntale a cualquier desarrollador qué significa SOLID (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion — Responsabilidad Única, Abierto/Cerrado, Sustitución de Liskov, Segregación de Interfaces e Inversión de Dependencias) y probablemente te recite las cinco definiciones sin problema. Ahora pedile que te muestre su último pull request… y ahí es donde la historia cambia.…
- Patrones de Resiliencia: Circuit Breaker y Retryby Carlos MarinTenés un servicio que consulta la API (Interfaz de Programación de Aplicaciones) de un proveedor de pagos externo. Todo funciona perfecto durante semanas. Un día, ese proveedor empieza a tener problemas: algunas llamadas tardan 30 segundos en responder, otras simplemente no responden. En cuestión de minutos, los hilos de tu aplicación se saturan esperando respuestas…
- Patrón Saga: cómo manejar transacciones distribuidasby Carlos MarinImaginá este escenario: tenés un e-commerce y un cliente acaba de hacer una orden. Tu sistema necesita ejecutar tres pasos en secuencia: En una aplicación monolítica con una sola base de datos, esto era sencillo. Abrías una transacción, ejecutabas los tres pasos, y si algo fallaba, hacías un rollback. Todo o nada. ACID (Atomicity, Consistency,…
- Hacer que el error sea fácil de corregirby Carlos MarinCuando cometemos algún error podemos tomar dos posiciones. La primera es dejar que esa situación nos consuma y no avanzar. Y la segunda es levantarnos y seguir adelante. Sin embargo, no todas las personas pueden escoger la segunda opción. Algunas necesitan un empujón extra. Necesitan de alguien que les extienda la mano para poder salir…
- Darles un buen nombreby Carlos MarinEn ocasiones, un buen nombre puede significar que una persona eche todo a perder o que, por el contrario, supere todas nuestras expectativas. Muchos de nosotros comenzamos a “fallar” o dejamos de poner atención a las cosas que nos resultan muy fáciles o repetitivas. Por ejemplo, cuando nos piden un reporte o un documento. Las…
- Estimular a las personas hacia el éxitoby Carlos MarinEstimular a los demás para que mejoren es realmente fácil. El problema está en hacerlo de manera sincera y que no parezca que tenemos una intención detrás o que somos falsos. El autor del libro, Dale Carnegie, ha sido claro desde el inicio. Sus principios no son recetas, no funcionan si no sentimos de verdad…
- Brinde una oportunidad a los demásby Carlos MarinLa regla por defecto, lastimosamente, es criticar y señalar a los demás sin darles una oportunidad para explicar. Luego de haber leído todos los artículos y ojalá el libro de Cómo ganar amigos e influenciar a las personas, este comportamiento es común. Es como si viniéramos programados para hacer sentir a los demás menos, tratar…
- Recibir una ordenby Carlos MarinTodas las personas somos rebeldes en algún momento de nuestras vidas, sobretodo cuando recibimos una orden. Cuando teníamos 15 años o menos, nos podían decir que hiciéramos A. Y siempre terminábamos haciendo Z. Ni siquiera B. En mi caso, casi siempre lo hacía todo diferente porque era una orden. Lo veía como algo que le…
- Hable primero de sus erroresby Carlos MarinComo buenos seres humanos que somos, está en nuestra naturaleza señalar los errores que cometen los demás casi que de forma inmediata. También nos cuesta aceptar nuestros errores y mucho más aún mencionarlos. ¿Qué tan seguido hemos reconocido que nos equivocamos en algo? O mejor aún, que algo salió mal por algo que hicimos o…
- Cómo corregir y no ser odiado por elloby Carlos MarinAntes de corregir, debemos encontrar los aspectos positivos como aprendimos en el principio anterior. Una vez que damos un elogio sincero hacia la otra persona el siguiente paso sería señalar o evidenciar qué se puede mejorar o qué se está haciendo mal. Es aquí donde la mayoría de las veces utilizamos una palabra de 4…