Si trabajas en equipo o has contribuido a proyectos open-source, probablemente sepas lo intimidante que es leer por primera vez el código que otros escribieron.
No estás solo, de hecho, me atrevería a decir que esa sensación siempre existirá 😁, sin importar la experiencia que tengas.
Y, es que claro, nadie dijo que eso tenía que ser una tarea fácil. De hecho, depende en gran medida de las habilidades de redacción de la otra persona. Si su código es malo, leerlo será difícil.
Pero, como muchas otras cosas, estos son gajes del oficio.
EP095: Tu base de datos necesita clones (replicación explicada)
Cuando se trata de escalar un sistema y, a su vez, asegurar una alta disponibilidad, entra en juego la replicación de la base de datos.
Y es que, así como replicamos servicios —para que en caso de que uno falle, el otro siga atendiendo las solicitudes—, así mismo es posible hacerlo con las bases de datos, manteniendo una o más copias actualizadas.
¿Has escuchado alguna vez hablar de “read replicas”, “multi-primary clusters” o “failover automático”? Pues todas son caras de la misma moneda.
Hoy, entraremos en detalle en cada una de estas técnicas de replicación y en cuándo conviene aplicar cada una.
EP094: Las reglas no escritas de Terraform que todo dev debería conocer
…bueno, asumiendo que ya lo usas.
Terraform es una herramienta de código abierto que sirve para provisionar y gestionar infraestructura en la nube mediante código, en lugar de hacerlo manualmente, llendo a cada su sitio web y luego… 😴.
💡 La infraestructura son los recursos físicos y virtuales que ejecutan las aplicaciones; servidores, redes, bases de datos, etc.
La idea tras Terraform es muy simple: tú escribes archivos .tf en los que especificas cómo quieres que sea tu infraestructura: cuántas máquinas, qué redes, qué bases de datos, en qué proveedor de nube, etc.
EP093: Errores al estimar deadlines
Si eres developer desde hace un tiempo, seguramente ya estés acostumbrado a la siguiente pregunta:
“¿Para cuándo lo puedes tener listo?“
Bien sabemos que definir los plazos de entrega para un proyecto no es una tarea fácil. De hecho, el mismo Douglas Hofstadter tenía razón cuando dijo:
“Siempre toma más tiempo de lo esperado, incluso cuando tienes en cuenta la Ley de Hofstadter“.
EP092: ¿Cuál algoritmo de Load Balancing es mejor?
Cuando un sistema empieza a crecer, nos vemos en la necesidad de escalar y, en la mayoría de casos, la mejor opción es hacerlo horizontalmente; es decir, añadiendo más nodos.
❗ Con un nodo, nos referimos a:
Escalar horizontalmente no solamente es bueno en términos de rendimiento, sino también en cuando a disponibilidad.
En realidad, cuando distribuimos la carga entre varios nodos, nos aseguramos de que nuestros usuarios puedan acceder más fácilmente a una instancia de la aplicación y que obtengan la menor latencia posible.
EP091: Docker Network
Cuando alguien nos explica qué son los contenedores, la definición más común suele ser algo como:
“Una cajita que aisla tu aplicación junto con todo lo que necesita para funcionar para que se pueda ejecutar en cualquier lado“.
Y aunque la definición es correcta, en realidad, un contenedor no se encuentra completamente aislado del mundo que lo rodea, sino que se conecta a una red que es internamente gestionada por Docker.
¿Recuerdas los switches?
EP090: 3 principios que la universidad no enseña
¿Te has preguntado cómo programan los seniors?
Aunque no hay una fórmula exacta que podamos seguir al pie de la letra, sí existen principios que todo buen informático debería seguir.
Nuestro propósito hoy será explicarte 3 de estos principios que, aunque no son los únicos, sí son esenciales si quieres que tu código sea mucho mejor (al final verás por qué 🤭).
Puede que ya los conozcas, pero muchos de ellos han sido malinterpretados con el paso del tiempo, así que nos tomaremos el tiempo de aclararte las cosas tal y como son.
EP089: 25 reflexiones del diseño de sistemas
Parte de nuestra filosofía como comunidad de divulgación para informáticos es que, un buen sistema no se construye solo con código limpio, sino que también necesita bases sólidas que lo sostengan.
Así que puedes haber escrito el código más elegante y sofisticado del mundo, pero sin un buen diseño, difícilmente sea óptimo para producción.
Y cuando hablo de diseño no me refiero a la interfaz gráfica.
💡 El diseño de un sistema es la forma en que están organizados sus componentes y cómo interactúan entre sí.
EP088: 127.0.0.1 vs. localhost
¿Cuántas veces has utilizado localhost? Seguro has escrito miles de veces 127.0.0.1 para conectarte a servicios y aplicaciones localmente. Y aunque siempre nos han enseñado que no hay ninguna diferencia entre estos 2, puede que estemos pasando algunos detalles por alto.
Alguna vez mentoramos a alguien (que sí, que también ofrecemos mentorías personalizadas 😉) que llevaba horas intentando conectarse a una base de datos MySQL que tenía levantada en su máquina.
MySQL escuchaba todas las llamadas de 127.0.0.1, pero el cliente intentaba conectarse a localhost. Nuestro amigo no pudo conectarse hasta que se dio cuenta de lo que te contaremos a continuación.
¿Qué es localhost?
EP087: ¿Qué tiene Typescript que JavaScript no?
JavaScript nació en 1995, cuando los navegadores necesitaban un lenguaje ligero y fácil de aprender para añadir interacción a las páginas web. Para ese entonces, el HTML todavía era estático.
El lenguaje parecía casi una creación divina, pues la primera versión de JavaScript fue construida en tan solo 10 días.
Desde un principio JavaScript fue un lenguaje pensado:
Para ser interpretado, por lo que se ejecuta línea por línea a través de un intérprete, sin necesidad de compilarse previamente a código máquina.
Con un sistema de tipos dinámico. Es decir, no declaras explícitamente el tipo de las variables, sino que este se asigna en tipo de ejecución.
Carente de módulos y otras herramientas. Eso vino después cuando se introdujo ECMAScript.
EP086: RAG
⚠️ Hace poco, hicimos un episodio explicando cómo funcionan los LLMs. Te recomendamos leerlo antes de ver este artículo.
Uno de los temas en tendencia del momento es RAG, o ‘Generación Aumentada por Recuperación’, por sus siglas en inglés.
Somos conscientes de que los LLMs tienen una limitación temporal: son entrenados solo hasta cierta fecha. Esto dificulta las cosas cuando necesitamos preguntarle por hechos más recientes, o incluso cuando necesitamos que nos ayude con nuestra propia información.
Para ser claros, imagina que debes desarrollar un asistente inteligente para una empresa, y este debe poder dar respuestas basándose en la base de conocimiento de un producto.
EP085: Cómo deshacerse de los problemas de rendimiento
¿Qué pasa cuando abres un sitio en Google y no carga?
Pasas de largo a otro resultado, ¿verdad?
Los humanos no podemos perder nuestro valioso tiempo en tales minucias.
Un buen desarrollador debería tener claro que el software va más allá de programar. A veces, la importancia está en los detalles: decisiones arquitectónicas, buenas prácticas y la configuración de la infraestructura.
EP084: La seguridad de MCP también debería importarnos
“Supongamos, sin embargo, que en lugar de llamarlos errores los llamáramos bombas de tiempo…”
Watts S. Humphrey
Todos estamos muy emocionados con la IA. Si GPT-4 logró sorprendernos, ni nos imaginamos lo que se viene con la llegada de GPT-5.
Pero entre tanta euforia, poco o nada nos hemos cuestionado sobre la seguridad en estos entornos, y cuáles son los riesgos que presentan.
MCP (o Model Context Protocol) ha permitido que los modelos trasciendan de sí mismos e interactuen más allá de sus límites. Pero varios servidores MCP populares ya fueron encontrados vulnerables.
EP083: Web Scraping
2025 ha sido el año de automatización.
El avance de la inteligencia artificial nos ha llevado a aprovecharla como nunca antes para automatizar todo lo que sea posible.
Pero automatizar también implica utilizar otras técnicas más allá de solo escribir prompts o conectar un LLM a un servicio externo con MCP.
En algunas ocasiones, también necesitamos extraer información de un sitio web o incluso interactuar con él; de eso se trata justamente el web scraping.
EP082: Cómo Pinterest logró escalar con solo 6 ingenieros
¿Tienes cuenta de Pinterest? Esta particular red social enfrentó un crecimiento acelerado en sus inicios, por allá en el 2010. Eso se convirtió en un verdadero reto para ellos, pues tuvieron que tomar decisiones técnicas apresuradas mientras se les venía una avalancha de usuarios encima.
Hace ya un tiempo, Yashwanth Nelapati y Marty Weiner dieron una charla en la que hablaron de sus aciertos, desaciertos, y en todo caso, como lograron optimizar la arquitectura de Pinterest al máximo.
De esa charla hay bastantes lecciones que hoy todavía son útiles, y que además nos servirán para explicarte otros conceptos.
Tráete un café y empecemos.