<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Desde mi terminal]]></title><description><![CDATA[Escribo en español (@joaoqalves_es) | Papá de Helena y Blai | Head of Engineering en Adevinta| Construyendo rotahog.com y abistama.com]]></description><link>https://enespanol.joaoqalves.net</link><image><url>https://substackcdn.com/image/fetch/$s_!HTgf!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64a9c3ef-0b69-49cd-b941-eb5eb9735117_1280x1280.png</url><title>Desde mi terminal</title><link>https://enespanol.joaoqalves.net</link></image><generator>Substack</generator><lastBuildDate>Sun, 12 Apr 2026 14:09:37 GMT</lastBuildDate><atom:link href="https://enespanol.joaoqalves.net/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[João Alves]]></copyright><language><![CDATA[es]]></language><webMaster><![CDATA[esjoaoqalves@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[esjoaoqalves@substack.com]]></itunes:email><itunes:name><![CDATA[João Alves]]></itunes:name></itunes:owner><itunes:author><![CDATA[João Alves]]></itunes:author><googleplay:owner><![CDATA[esjoaoqalves@substack.com]]></googleplay:owner><googleplay:email><![CDATA[esjoaoqalves@substack.com]]></googleplay:email><googleplay:author><![CDATA[João Alves]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[El doble clic #16 — Semana del 2 de marzo]]></title><description><![CDATA[Bienvenido a la 16&#170; edici&#243;n de &#8220;El doble clic&#8221;. Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana.]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-16-semana-del-2-de</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-16-semana-del-2-de</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 02 Mar 2026 10:18:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!XUMM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a la 16&#170; edici&#243;n de &#8220;<strong>El doble clic&#8221;</strong><em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><div><hr></div><p>&#127466;&#127480; (10&#8217;) <a href="https://www.linkedin.com/in/emcarrio/">Emilio Carri&#243;n</a> alerta sobre un <em><strong><a href="https://www.emiliocarrion.com/blog/codigo-opaco-ia-operacion">trade-off</a></strong></em><strong><a href="https://www.emiliocarrion.com/blog/codigo-opaco-ia-operacion"> poco discutido: la IA acelera la escritura de c&#243;digo, pero aumenta la opacidad operativa</a></strong>. Cada l&#237;nea aceptada sin una comprensi&#243;n profunda reduce el modelo mental del sistema y encarece la depuraci&#243;n. No es c&#243;digo &#8220;malo&#8221;; es c&#243;digo que nadie entiende del todo y esa opacidad se acumula como una nueva deuda t&#233;cnica. Defiende que la ventaja ya no est&#225; solo en producir m&#225;s, sino en saber operar a ciegas: construir modelos mentales r&#225;pidos, diagnosticar bajo incertidumbre y documentar las decisiones que la IA no explica.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer Desde mi terminal! Suscr&#237;bete gratis para recibir nuevos posts y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>&#127468;&#127463; (6&#8217;) <a href="https://www.linkedin.com/in/eferro/">Eduardo Ferro</a> nos cuenta <strong><a href="https://www.eferro.net/2026/03/encoding-experience-into-ai-skills.html">c&#243;mo ha pasado de acumular reglas en CLAUDE.md a encapsular su experiencia en &#8220;</a></strong><em><strong><a href="https://www.eferro.net/2026/03/encoding-experience-into-ai-skills.html">skills</a></strong></em><strong><a href="https://www.eferro.net/2026/03/encoding-experience-into-ai-skills.html">&#8221; reutilizables para Claude Code</a></strong>, activables bajo demanda y sin saturar el contexto. A partir del trabajo de Lada Kesseler con skill-factory y augmented-coding-patterns, ampl&#237;a el repositorio con 11 nuevas habilidades centradas en el rigor del <em>testing</em>. Lo que nos deja Eduardo me lleva a preguntarme: si ya repites estos principios a nuestros equipos, &#191;por qu&#233; no &#8220;ense&#241;&#225;rselos&#8221; a la IA?</p><div><hr></div><p><em>&#128640; <strong>El ofert&#243;n</strong></em>: la oferta de trabajo que m&#225;s me ha llamado la atenci&#243;n esta semana</p><p>Ashby, un SaaS de reclutamiento con clientes como Notion, Shopify o Snowflake y que crece &gt;100 % YoY, busca un <strong>Staff Platform Engineer/SRE</strong> para llevar su infraestructura al siguiente nivel. Trabajar&#225;s en AWS con TypeScript, Postgres y Kubernetes, dise&#241;ando el &#8220;<em>paved road&#8221; </em>para que los equipos de producto desplieguen de forma r&#225;pida y segura.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://jobs.ashbyhq.com/Ashby/fa001346-ea81-41b2-bfbe-2271d3faac1a/application&quot;,&quot;text&quot;:&quot;&#161;Me interesa!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://jobs.ashbyhq.com/Ashby/fa001346-ea81-41b2-bfbe-2271d3faac1a/application"><span>&#161;Me interesa!</span></a></p><p>&#128176; &#8364;141k-226k + equity | &#128205;Remoto en la UE &#127466;&#127482; | &#129489;&#8205;&#128187; AWS, TypeScript, Postgres, SRE / Platform</p><div><hr></div><p>&#127468;&#127463; (5&#8217;) <a href="http://www.linkedin.com/in/galonavarro/">Galo Navarro</a> nos lanza una reflexi&#243;n sobre c&#243;mo <strong><a href="https://varoa.net/2026/02/22/code-reviews-cant-keep-up.html">las </a></strong><em><strong><a href="https://varoa.net/2026/02/22/code-reviews-cant-keep-up.html">code reviews</a></strong></em><strong><a href="https://varoa.net/2026/02/22/code-reviews-cant-keep-up.html"> ya no escalan en un contexto de producci&#243;n acelerada por IA</a></strong>: las <em>Pull Requests</em> se acumulan y el modelo artesanal deja de encajar en una &#8220;f&#225;brica&#8221; industrial de software con agentes. Defiende que los objetivos &#8212; transferencia de conocimiento, consistencia y ownership&#8212; siguen siendo cr&#237;ticos, pero requieren nuevas infraestructuras. Una lectura muy interesante.</p><div><hr></div><p>&#127468;&#127463; (9&#8217;) <a href="https://www.linkedin.com/in/pratik-rasam-5a90294b/">Pratik Rasam</a> y <a href="https://www.linkedin.com/in/ralph-sylvain/">Ralph Sylvain</a>, del equipo de Spotify, cuentan <strong><a href="https://engineering.atspotify.com/2026/2/our-multi-agent-architecture-for-smarter-advertising">c&#243;mo dejaron de a&#241;adir parches con IA para abordar un problema estructural en Publicidad</a></strong>: la fragmentaci&#243;n de la planificaci&#243;n entre canales. Su soluci&#243;n fue una capa de decisi&#243;n unificada con arquitectura multiagente que entiende objetivos en lenguaje natural, orquesta APIs como herramientas y genera planes optimizados en segundos a partir de datos hist&#243;ricos. Han conseguido menos complejidad, decisiones coherentes y un giro claro hacia APIs para agentes, testing conductual y observabilidad centrada en el porqu&#233; de cada decisi&#243;n.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-16-semana-del-2-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico y gratuito. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-16-semana-del-2-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-16-semana-del-2-de?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><p>&#127468;&#127463; (4&#8217;) <a href="https://www.linkedin.com/in/aleixmorgadas/">Aleix Morgadas</a> defiende que <strong><a href="https://learnings.aleixmorgadas.dev/p/making-sure-a-strategy-happens-with">la estrategia de ingenier&#237;a no puede separarse de su ejecuci&#243;n</a></strong>: dividir &#8220;decidir&#8221; y &#8220;hacer&#8221; rompe el <em>feedback loop</em> y fomenta la microgesti&#243;n o equipos desalineados. Propone apoyarse en equipos <em>ad hoc, </em>formados por las personas adecuadas seg&#250;n el contexto, con autoridad, conocimiento de negocio y comunicaci&#243;n r&#225;pida, que dise&#241;en y ejecuten la estrategia de forma conjunta. Un art&#237;culo muy interesante para los <em>engineering managers</em> que est&#225;n planteando su estrategia t&#233;cnica.</p><div><hr></div><h1>Publicaciones en X</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XUMM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XUMM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png 424w, https://substackcdn.com/image/fetch/$s_!XUMM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png 848w, https://substackcdn.com/image/fetch/$s_!XUMM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png 1272w, https://substackcdn.com/image/fetch/$s_!XUMM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XUMM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png" width="1435" height="1771" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1771,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:441317,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/189632136?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XUMM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png 424w, https://substackcdn.com/image/fetch/$s_!XUMM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png 848w, https://substackcdn.com/image/fetch/$s_!XUMM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png 1272w, https://substackcdn.com/image/fetch/$s_!XUMM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d40373-4824-424b-affe-0ac2c4fd1d43_1435x1771.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Marc K&#246;hlbrugge nos cuenta c&#243;mo su p&#225;gina web se vio afectada por una devaluaci&#243;n enorme de la moneda iran&#237;, lo que provoc&#243; un overflow en la base de datos. <a href="https://x.com/marckohlbrugge/status/2028236228970099180">Fuente</a>. </figcaption></figure></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8IlW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d4e1a4e-32d1-4fe4-b6db-59856c45c8e4_1076x1634.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8IlW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d4e1a4e-32d1-4fe4-b6db-59856c45c8e4_1076x1634.png 424w, https://substackcdn.com/image/fetch/$s_!8IlW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d4e1a4e-32d1-4fe4-b6db-59856c45c8e4_1076x1634.png 848w, https://substackcdn.com/image/fetch/$s_!8IlW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d4e1a4e-32d1-4fe4-b6db-59856c45c8e4_1076x1634.png 1272w, https://substackcdn.com/image/fetch/$s_!8IlW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d4e1a4e-32d1-4fe4-b6db-59856c45c8e4_1076x1634.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8IlW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d4e1a4e-32d1-4fe4-b6db-59856c45c8e4_1076x1634.png" width="1076" height="1634" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d4e1a4e-32d1-4fe4-b6db-59856c45c8e4_1076x1634.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1634,&quot;width&quot;:1076,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:346665,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/189632136?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d4e1a4e-32d1-4fe4-b6db-59856c45c8e4_1076x1634.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8IlW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d4e1a4e-32d1-4fe4-b6db-59856c45c8e4_1076x1634.png 424w, https://substackcdn.com/image/fetch/$s_!8IlW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d4e1a4e-32d1-4fe4-b6db-59856c45c8e4_1076x1634.png 848w, https://substackcdn.com/image/fetch/$s_!8IlW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d4e1a4e-32d1-4fe4-b6db-59856c45c8e4_1076x1634.png 1272w, https://substackcdn.com/image/fetch/$s_!8IlW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d4e1a4e-32d1-4fe4-b6db-59856c45c8e4_1076x1634.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Elvis Sun nos recomienda quitar la posibilidad de ejecutar un <em>merge</em> en Github, usando Claude Code en &#8220;YOLO mode&#8221;. <a href="https://x.com/elvissun/status/2026725601533637002">Fuente</a>. </figcaption></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[El doble clic #15 — Semana del 23 de febrero]]></title><description><![CDATA[Side projects que renacen con IA, cultura t&#233;cnica que deja huella y decisiones de arquitectura]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-15-semana-del-23-de</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-15-semana-del-23-de</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 23 Feb 2026 08:57:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pc-_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a la 15&#170;  edici&#243;n de &#8220;<strong>El doble clic&#8221;</strong><em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><div><hr></div><p>&#127466;&#127480; (4&#8217;) Fran Moreno nos cuenta c&#243;mo cre&#243; hace diez a&#241;os una extensi&#243;n de Chrome para Testing Exploratorio con el objetivo de evitar el cambio constante de contexto y mantener todo dentro del navegador. Tras a&#241;os sin actualizarla, la ha retomado gracias a la IA, a&#241;adiendo recortes y anotaciones de capturas, sin perder su filosof&#237;a de sencillez y utilidad para la comunidad.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:187900959,&quot;url&quot;:&quot;https://morvader.substack.com/p/retomando-un-proyecto-personal-10&quot;,&quot;publication_id&quot;:5569048,&quot;publication_name&quot;:&quot;Fran Moreno&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!p7IE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316fc4e6-ce28-468d-b025-ad3d576da338_288x288.jpeg&quot;,&quot;title&quot;:&quot;Retomando un proyecto personal 10 a&#241;os despu&#233;s&quot;,&quot;truncated_body_text&quot;:&quot;Hace ya 10 a&#241;os (2016) empec&#233; a desarrollar una extensi&#243;n de Chrome para ayudar en las sesiones de Testing Exploratorio. &#191;Por qu&#233; lo hice? Pues por la misma raz&#243;n que se crearon 17 frameworks de JavaScript distintos. Ninguna de las herramientas que hab&#237;a disponibles me convenc&#237;a del todo, as&#237; que me hice la m&#237;a.&quot;,&quot;date&quot;:&quot;2026-02-14T10:00:43.118Z&quot;,&quot;like_count&quot;:8,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:36443587,&quot;name&quot;:&quot;Fran Moreno&quot;,&quot;handle&quot;:&quot;morvader&quot;,&quot;previous_name&quot;:&quot;Francisco Moreno&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/316fc4e6-ce28-468d-b025-ad3d576da338_288x288.jpeg&quot;,&quot;bio&quot;:&quot;Making quality a habit&quot;,&quot;profile_set_up_at&quot;:&quot;2025-07-07T06:41:52.647Z&quot;,&quot;reader_installed_at&quot;:&quot;2025-09-07T06:50:44.841Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:5680552,&quot;user_id&quot;:36443587,&quot;publication_id&quot;:5569048,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:5569048,&quot;name&quot;:&quot;Fran Moreno&quot;,&quot;subdomain&quot;:&quot;morvader&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Software QA Engineer.&quot;,&quot;logo_url&quot;:null,&quot;author_id&quot;:36443587,&quot;primary_user_id&quot;:36443587,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2025-07-07T06:43:49.271Z&quot;,&quot;email_from_name&quot;:&quot;Testing from the Trenches by Fran Moreno&quot;,&quot;copyright&quot;:&quot;Francisco Moreno&quot;,&quot;founding_plan_name&quot;:&quot;Miembro fundador&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:&quot;es&quot;,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;profile&quot;,&quot;is_personal_mode&quot;:true}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:false,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://morvader.substack.com/p/retomando-un-proyecto-personal-10?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!p7IE!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316fc4e6-ce28-468d-b025-ad3d576da338_288x288.jpeg"><span class="embedded-post-publication-name">Fran Moreno</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Retomando un proyecto personal 10 a&#241;os despu&#233;s</div></div><div class="embedded-post-body">Hace ya 10 a&#241;os (2016) empec&#233; a desarrollar una extensi&#243;n de Chrome para ayudar en las sesiones de Testing Exploratorio. &#191;Por qu&#233; lo hice? Pues por la misma raz&#243;n que se crearon 17 frameworks de JavaScript distintos. Ninguna de las herramientas que hab&#237;a disponibles me convenc&#237;a del todo, as&#237; que me hice la m&#237;a&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">2 months ago &#183; 8 likes &#183; Fran Moreno</div></a></div><div><hr></div><p>&#127468;&#127463; (8&#8217;) <a href="https://www.linkedin.com/in/jordivillar/">Jordi Villar</a> nos comparte en primera persona lo que supusieron <strong><a href="https://jordivillar.com/blog/tinybird">m&#225;s de cuatro a&#241;os en Tinybird</a></strong>, aprendiendo en profundidad sobre sistemas, ClickHouse e infraestructura de datos en tiempo real. Celebra la cultura de escritura, el &#8220;<em>bias for action</em>&#8221; y el talento que le rode&#243;, pero tambi&#233;n reconoce el desgaste acumulado por los cambios estrat&#233;gicos constantes, la rotaci&#243;n de las personas clave y la p&#233;rdida de ciertas din&#225;micas culturales.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer Desde mi terminal! Suscr&#237;bete gratis para recibir nuevos posts y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>&#127468;&#127463; (2&#8217;) <a href="https://x.com/simonw">Simon Willison</a> nos explica <strong><a href="https://simonwillison.net/guides/agentic-engineering-patterns/red-green-tdd/">por qu&#233; el patr&#243;n &#8220;</a></strong><em><strong><a href="https://simonwillison.net/guides/agentic-engineering-patterns/red-green-tdd/">red/green TDD</a></strong></em><strong><a href="https://simonwillison.net/guides/agentic-engineering-patterns/red-green-tdd/">&#8221; encaja especialmente bien con agentes de c&#243;digo</a></strong>: al escribir primero los tests, comprobar que fallan (fase roja) y luego implementar lo necesario hasta que pasan (fase verde), se reduce el riesgo de que el modelo genere c&#243;digo incorrecto o innecesario.</p><div><hr></div><p><em>&#128640; <strong>El ofert&#243;n</strong></em>: la oferta de trabajo que m&#225;s me ha llamado la atenci&#243;n esta semana</p><p>Affirm, <em>fintech</em> internacional  con un modelo &#8220;<em>buy now, pay later</em>&#8221; busca un <strong>Staff Site Reliability Engineer</strong> para liderar la estrategia de fiabilidad, resiliencia e incident management en sus sistemas distribuidos a gran escala. Tendr&#225;s impacto transversal, definiendo SLOs, mejorando procesos de despliegue y on-call, elevando el list&#243;n de observabilidad y colaborando con equipos de producto e infraestructura, en una organizaci&#243;n <em>remote-first</em> con una cultura fuerte de <em>ownership</em> t&#233;cnico.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://job-boards.greenhouse.io/affirm/jobs/7535821003&quot;,&quot;text&quot;:&quot;&#161;Me interesa!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://job-boards.greenhouse.io/affirm/jobs/7535821003"><span>&#161;Me interesa!</span></a></p><p>&#128176; &#8364;101k&#8211;&#8364;131k + equity | &#128205; &#127466;&#127480; Remoto (Espa&#241;a) | &#129489;&#8205;&#128187; SRE, AWS, Kubernetes</p><div><hr></div><p>&#127468;&#127463; (7&#8217;) <a href="https://www.linkedin.com/in/neworldlt/">Andrius Semionovas</a> y <a href="https://www.linkedin.com/in/heorhii-popov/">Heorhii Popov</a> cuentan c&#243;mo, en Vinted, <strong><a href="https://vinted.engineering/2026/02/12/from-dagger-to-metro/">migraron toda su enorme base de c&#243;digo Android a Metro</a></strong>, un <em>framework</em> de inyecci&#243;n de dependencias basado en Kotlin. La transici&#243;n fue dura, pero les permiti&#243; adoptar K2, activar la compilaci&#243;n incremental y reducir notablemente los tiempos de compilaci&#243;n<em>.</em></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-15-semana-del-23-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico y gratuito. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-15-semana-del-23-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-15-semana-del-23-de?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><p>&#127468;&#127463; (8&#8217;) <a href="https://www.linkedin.com/in/danilo-veljovic/">Danilo Veljovic</a> y <a href="https://www.linkedin.com/in/mohit-karekar/">Mohit Karekar</a>, del equipo de Zalando, cuentan <strong><a href="https://engineering.zalando.com/posts/2026/01/running-an-engineering-papers-reading-guild-at-zalando.html">c&#243;mo una conversaci&#243;n informal dio lugar a un guild interno para leer y debatir </a></strong><em><strong><a href="https://engineering.zalando.com/posts/2026/01/running-an-engineering-papers-reading-guild-at-zalando.html">papers</a></strong></em><strong><a href="https://engineering.zalando.com/posts/2026/01/running-an-engineering-papers-reading-guild-at-zalando.html"> de ingenier&#237;a de </a></strong><em><strong><a href="https://engineering.zalando.com/posts/2026/01/running-an-engineering-papers-reading-guild-at-zalando.html">software</a></strong></em><strong><a href="https://engineering.zalando.com/posts/2026/01/running-an-engineering-papers-reading-guild-at-zalando.html"> centrados en sistemas distribuidos</a></strong>, bases de datos y compiladores. El objetivo es entender mejor las abstracciones que usan a diario. Un a&#241;o despu&#233;s, el impacto es tangible: una mejor comprensi&#243;n de herramientas como DynamoDB o Flink, debates t&#233;cnicos transversales y una cultura de ingenier&#237;a m&#225;s s&#243;lida. Me ha parecido, adem&#225;s, un <em>blueprint</em> pr&#225;ctico para que otras empresas implementen iniciativas similares.</p><div><hr></div><h1>Publicaciones en X</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pc-_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pc-_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png 424w, https://substackcdn.com/image/fetch/$s_!pc-_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png 848w, https://substackcdn.com/image/fetch/$s_!pc-_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png 1272w, https://substackcdn.com/image/fetch/$s_!pc-_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pc-_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png" width="1435" height="820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:820,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:177778,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/188878089?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pc-_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png 424w, https://substackcdn.com/image/fetch/$s_!pc-_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png 848w, https://substackcdn.com/image/fetch/$s_!pc-_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png 1272w, https://substackcdn.com/image/fetch/$s_!pc-_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17db50a2-1f93-4759-9479-313b5ea83c23_1435x820.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Juan Mac&#237;as nos recuerda el coste de oportunidad, en la era del <em>vibe coding</em>. <a href="https://x.com/juanmacias/status/2023280605673263353">Fuente</a>.</figcaption></figure></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nmds!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd34162-83eb-46b7-8e6e-a1825f33a577_1435x1334.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nmds!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd34162-83eb-46b7-8e6e-a1825f33a577_1435x1334.png 424w, https://substackcdn.com/image/fetch/$s_!nmds!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd34162-83eb-46b7-8e6e-a1825f33a577_1435x1334.png 848w, https://substackcdn.com/image/fetch/$s_!nmds!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd34162-83eb-46b7-8e6e-a1825f33a577_1435x1334.png 1272w, https://substackcdn.com/image/fetch/$s_!nmds!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd34162-83eb-46b7-8e6e-a1825f33a577_1435x1334.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nmds!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd34162-83eb-46b7-8e6e-a1825f33a577_1435x1334.png" width="1435" height="1334" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6bd34162-83eb-46b7-8e6e-a1825f33a577_1435x1334.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1334,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:261266,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/188878089?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd34162-83eb-46b7-8e6e-a1825f33a577_1435x1334.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nmds!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd34162-83eb-46b7-8e6e-a1825f33a577_1435x1334.png 424w, https://substackcdn.com/image/fetch/$s_!nmds!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd34162-83eb-46b7-8e6e-a1825f33a577_1435x1334.png 848w, https://substackcdn.com/image/fetch/$s_!nmds!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd34162-83eb-46b7-8e6e-a1825f33a577_1435x1334.png 1272w, https://substackcdn.com/image/fetch/$s_!nmds!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd34162-83eb-46b7-8e6e-a1825f33a577_1435x1334.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Gergely Orosz aporta un poco de perspectiva a los posts sobre &#8220;est&#225;s en el top x% si haces Y&#8221;. <a href="https://x.com/GergelyOrosz/status/2025441528127058395">Fuente</a>.</figcaption></figure></div>]]></content:encoded></item><item><title><![CDATA[El doble clic #14 — Semana del 16 de febrero]]></title><description><![CDATA[IA en producci&#243;n sin filtro, m&#233;tricas invisibles en Kubernetes y el salto real de los agentes al negocio.]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-14-semana-del-16-de</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-14-semana-del-16-de</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 16 Feb 2026 14:06:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ue1_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a una edici&#243;n m&#225;s de &#8220;<strong>El doble clic&#8221;</strong><em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><div><hr></div><p>(5&#8217;) &#127466;&#127480; <a href="https://www.linkedin.com/in/rafamoral/">Rafa Moral</a>, <em>Engineering Manager</em> en IFCO Systems, reflexiona sobre la &#8220;luna de miel&#8221; de la IA en Frontend. Todo parece fant&#225;stico: m&#225;s velocidad, m&#225;s componentes generados en segundos. Pero Rafa nos advierte del riesgo de degradar la arquitectura, la consistencia y la calidad si aceptamos sin criterio lo que propone el modelo: la IA promedia patrones, no dise&#241;a y puede introducir divergencias silenciosas en la estructura, el estado o el testing.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:187637668,&quot;url&quot;:&quot;https://rmoral.substack.com/p/ia-y-la-tendencia-al-desastre-en&quot;,&quot;publication_id&quot;:2318580,&quot;publication_name&quot;:&quot;Rafa Moral&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!KZDD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67fc2f8-5ac6-430a-9dde-6fa9de01ac9f_652x652.png&quot;,&quot;title&quot;:&quot;IA y la tendencia al desastre en Frontend&quot;,&quot;truncated_body_text&quot;:&quot;Estamos en plena luna de miel con la Inteligencia Artificial. No hay d&#237;a en el que no leamos sobre c&#243;mo nuestra productividad se ha disparado, sobre c&#243;mo ahora somos &#8220;diez veces m&#225;s r&#225;pidos&#8221; o sobre c&#243;mo alguien ha montado un ERP de zero en dos d&#237;as y est&#225; ganando miles de d&#243;lares al mes. Y es verdad, si lo que mides es cu&#225;nto tardas en montar una funci&#8230;&quot;,&quot;date&quot;:&quot;2026-02-13T08:02:14.725Z&quot;,&quot;like_count&quot;:1,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:94753,&quot;name&quot;:&quot;Rafa Moral&quot;,&quot;handle&quot;:&quot;rmoral&quot;,&quot;previous_name&quot;:&quot;rmoral&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6734aa9-4139-476d-b5a7-3715492673ed_612x612.png&quot;,&quot;bio&quot;:&quot;Comparto aprendizajes y pensamientos que te ayudar&#225;n a seguir creciendo en tu carrera como desarrollador web.&quot;,&quot;profile_set_up_at&quot;:&quot;2024-02-02T20:55:53.419Z&quot;,&quot;reader_installed_at&quot;:&quot;2024-02-03T08:23:41.884Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:2338550,&quot;user_id&quot;:94753,&quot;publication_id&quot;:2318580,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:2318580,&quot;name&quot;:&quot;Rafa Moral&quot;,&quot;subdomain&quot;:&quot;rmoral&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Comparto aprendizajes y pensamientos que te ayudar&#225;n a seguir creciendo en tu carrera como ingeniero de software.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d67fc2f8-5ac6-430a-9dde-6fa9de01ac9f_652x652.png&quot;,&quot;author_id&quot;:94753,&quot;primary_user_id&quot;:94753,&quot;theme_var_background_pop&quot;:&quot;#E8B500&quot;,&quot;created_at&quot;:&quot;2024-02-02T20:56:20.295Z&quot;,&quot;email_from_name&quot;:&quot;Rafa Moral&quot;,&quot;copyright&quot;:&quot;rmoral&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:&quot;es&quot;,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:false,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://rmoral.substack.com/p/ia-y-la-tendencia-al-desastre-en?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!KZDD!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67fc2f8-5ac6-430a-9dde-6fa9de01ac9f_652x652.png"><span class="embedded-post-publication-name">Rafa Moral</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">IA y la tendencia al desastre en Frontend</div></div><div class="embedded-post-body">Estamos en plena luna de miel con la Inteligencia Artificial. No hay d&#237;a en el que no leamos sobre c&#243;mo nuestra productividad se ha disparado, sobre c&#243;mo ahora somos &#8220;diez veces m&#225;s r&#225;pidos&#8221; o sobre c&#243;mo alguien ha montado un ERP de zero en dos d&#237;as y est&#225; ganando miles de d&#243;lares al mes. Y es verdad, si lo que mides es cu&#225;nto tardas en montar una funci&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">2 months ago &#183; 1 like &#183; Rafa Moral</div></a></div><div><hr></div><p>(8&#8217;) &#127468;&#127463; Tanat Lokejaroenlarb cuenta <strong><a href="https://medium.com/learnings-from-the-paas/how-we-seamlessly-s-c-hip-metrics-and-logs-for-100-users-part-1-metrics-8fc02fc2304f">c&#243;mo han integrado m&#233;tricas en su Kubernetes interno (SCHIP) como parte del &#8220;golden path&#8221;</a></strong>: los equipos solo anotan sus workloads y la plataforma se encarga de recolectar, aislar y enviar m&#233;tricas de infraestructura y de aplicaci&#243;n a Grafana Cloud, resolviendo retos de multi-tenancy, cardinalidad y alta disponibilidad sin que los desarrolladores gestionen nada de observabilidad.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer Desde mi terminal! Suscr&#237;bete gratis para recibir nuevos posts y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>(7&#8217;) &#127468;&#127463; &#161;Tenemos doblete! En este art&#237;culo, <a href="https://www.linkedin.com/in/galonavarro/">Galo Navarro</a>, sostiene que l<strong><a href="https://varoa.net/2026/02/07/ai-workloads-challenge-the-cattle-model.html">a IA rompe el modelo cl&#225;sico de Kubernetes basado en infraestructura &#8220;fungible&#8221;</a></strong>: en entrenamiento e inferencia, los reinicios, la latencia y la topolog&#237;a de las GPUs tienen un impacto enorme en el coste y el rendimiento. Como el hardware es caro y heterog&#233;neo, no basta con pedir &#8220;una GPU&#8221;. Hay que considerar la ubicaci&#243;n, las particiones y las redes. La conclusi&#243;n es que no se abandona el modelo automatizado, pero s&#237; hay que extenderlo con <em>schedulers</em> y herramientas espec&#237;ficas para gestionar adecuadamente esta complejidad.</p><div><hr></div><p><em>&#128640; <strong>El ofert&#243;n</strong></em>: la oferta de trabajo que m&#225;s me ha llamado la atenci&#243;n esta semana</p><p>Zynap, una startup espa&#241;ola de ciberseguridad, busca un Senior Python Developer para dise&#241;ar y escalar su plataforma <em>core</em>, liderando nuevas funcionalidades y decisiones de arquitectura en un entorno distribuido y orientado a la seguridad, con impacto directo en el producto y con mentoring t&#233;cnico.</p><p>Como bonus, trabajar&#225;s con cracks como <a href="https://www.linkedin.com/in/danisolis/">Daniel Sol&#237;s</a> (ex-Blueliv, adquirido por Outpost24) y <a href="https://www.linkedin.com/in/jordimirobruix">Jordi Mir&#243;</a> (ex-The Hotels Network).</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.joppy.me/en/companies/zynap/39534e41-d765-45d2-904f-4a611aaf27c5?utm_source=enespanoljoaoqalves&amp;utm_medium=share&quot;,&quot;text&quot;:&quot;&#161;Me interesa!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.joppy.me/en/companies/zynap/39534e41-d765-45d2-904f-4a611aaf27c5?utm_source=enespanoljoaoqalves&amp;utm_medium=share"><span>&#161;Me interesa!</span></a></p><p>&#128176; 40-55k | &#128205; &#127466;&#127480; Barcelona (h&#237;brido) | &#129489;&#8205;&#128187; Python, ElasticSearch, Cloud (AWS/GCP)</p><div><hr></div><p>(22&#8217;) &#127468;&#127463; <a href="https://x.com/mattshumer_">Matt Shumer</a>, fundador de HyperWriteAI , nos lanza una advertencia directa sobre la velocidad a la que est&#225;n evolucionando modelos como los de OpenAI y Anthropic: seg&#250;n su experiencia, <strong><a href="https://x.com/mattshumer_/status/2021256989876109403">la IA ya ha pasado de ser una herramienta &#250;til para ejecutar trabajo t&#233;cnico completo con criterio propio, y el salto en capacidades se est&#225; acelerando mes a mes</a></strong>. Matt sostiene que esto tiene implicaciones inmediatas para empleos cualificados, desde derecho hasta finanzas o ingenier&#237;a.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-14-semana-del-16-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico y gratuito. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-14-semana-del-16-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-14-semana-del-16-de?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><p>(10&#8217;) &#127468;&#127463; <a href="https://www.linkedin.com/in/platelkevin/">K&#233;vin Platel</a>, <em>Global Principal Architect</em> en <a href="https://www.leboncoin.fr/">leboncoin.fr</a>, nos trae novedades muy top. <strong><a href="https://medium.com/leboncoin-tech-blog/from-observer-to-production-how-leboncoin-adopted-mcp-to-architect-the-agentic-era-d4e52966927d">Nos explica c&#243;mo pasaron de observar con cautela el auge de los agentes de IA a lanzar una app oficial en la tienda de ChatGPT</a></strong> conectada a sus sistemas reales, equilibrando innovaci&#243;n y responsabilidad en una empresa con millones de usuarios. Me gust&#243; especialmente c&#243;mo afrontaron los retos de latencia, seguridad y calidad.</p><div><hr></div><h1>Publicaciones en X</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ue1_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ue1_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png 424w, https://substackcdn.com/image/fetch/$s_!ue1_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png 848w, https://substackcdn.com/image/fetch/$s_!ue1_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png 1272w, https://substackcdn.com/image/fetch/$s_!ue1_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ue1_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png" width="1358" height="686" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:686,&quot;width&quot;:1358,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:149991,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/188070693?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ue1_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png 424w, https://substackcdn.com/image/fetch/$s_!ue1_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png 848w, https://substackcdn.com/image/fetch/$s_!ue1_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png 1272w, https://substackcdn.com/image/fetch/$s_!ue1_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e9b4dd-c176-4a20-9b65-586cadbbce83_1358x686.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Branko Petric nos habla de la tozuda realidad de los <em>backups</em>. Si no se prueban, son solo castillos en el aire. <a href="https://x.com/brankopetric00/status/2022400918394679499">Fuente</a>.</figcaption></figure></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qJzB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2340836a-a39f-46e0-8867-2cc40ee01d84_1435x1392.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qJzB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2340836a-a39f-46e0-8867-2cc40ee01d84_1435x1392.png 424w, https://substackcdn.com/image/fetch/$s_!qJzB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2340836a-a39f-46e0-8867-2cc40ee01d84_1435x1392.png 848w, https://substackcdn.com/image/fetch/$s_!qJzB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2340836a-a39f-46e0-8867-2cc40ee01d84_1435x1392.png 1272w, https://substackcdn.com/image/fetch/$s_!qJzB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2340836a-a39f-46e0-8867-2cc40ee01d84_1435x1392.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qJzB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2340836a-a39f-46e0-8867-2cc40ee01d84_1435x1392.png" width="1435" height="1392" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2340836a-a39f-46e0-8867-2cc40ee01d84_1435x1392.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1392,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:286160,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/188070693?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2340836a-a39f-46e0-8867-2cc40ee01d84_1435x1392.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qJzB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2340836a-a39f-46e0-8867-2cc40ee01d84_1435x1392.png 424w, https://substackcdn.com/image/fetch/$s_!qJzB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2340836a-a39f-46e0-8867-2cc40ee01d84_1435x1392.png 848w, https://substackcdn.com/image/fetch/$s_!qJzB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2340836a-a39f-46e0-8867-2cc40ee01d84_1435x1392.png 1272w, https://substackcdn.com/image/fetch/$s_!qJzB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2340836a-a39f-46e0-8867-2cc40ee01d84_1435x1392.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Gergely Orosz dando <em>bombo</em> a la frustraci&#243;n interna en Amazon por no poder usar Claude Code. <a href="https://x.com/GergelyOrosz/status/2021890475503112366">Fuente</a>.</figcaption></figure></div><p>&#161;Esto es todo por hoy! Si te ha gustado, dale al <em>like</em>. Si quieres seguir recibiendo el mejor contenido tech en espa&#241;ol, suscr&#237;bete.</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[El soporte también es producto]]></title><description><![CDATA[Por qu&#233; las plataformas internas se construyen tanto en el Help Center como en el roadmap]]></description><link>https://enespanol.joaoqalves.net/p/el-soporte-tambien-es-producto</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-soporte-tambien-es-producto</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Tue, 10 Feb 2026 08:29:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lhS5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9a0201-d0d3-4144-952b-29593bc62f09_1328x895.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Cuando hablamos del valor de una plataforma interna, casi siempre nos referimos a la tecnolog&#237;a. De <em>runtimes</em>, de fiabilidad, de escalabilidad y de la siguiente mejora t&#233;cnica que, en teor&#237;a, nos permitir&#225; ir m&#225;s r&#225;pido. Pero con bastante frecuencia dejamos de lado una de las palancas m&#225;s claras para construir una buena plataforma: el <strong>soporte</strong>.</p><p>El soporte no es solo una funci&#243;n operativa ni un coste inevitable para que todo siga funcionando. Es una herramienta fundamental para construir confianza con quienes usan la plataforma a diario. Confianza en que el sistema es fiable, en que el equipo detr&#225;s responde cuando algo falla y en que hay una preocupaci&#243;n real por la experiencia de uso, no solo por la arquitectura o la tecnolog&#237;a de moda.</p><p>Esa confianza se construye, en gran parte, estando cerca de los usuarios. El soporte pone al equipo de plataforma en contacto directo con los problemas reales, con los puntos de fricci&#243;n que no aparecen en los diagramas y con decisiones de dise&#241;o que parec&#237;an razonables, pero que, en la pr&#225;ctica, generan complejidad innecesaria. Cuando eso ocurre, la conversaci&#243;n deja de ser te&#243;rica y pasa a estar anclada en el uso real de la plataforma.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lhS5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9a0201-d0d3-4144-952b-29593bc62f09_1328x895.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lhS5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9a0201-d0d3-4144-952b-29593bc62f09_1328x895.png 424w, https://substackcdn.com/image/fetch/$s_!lhS5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9a0201-d0d3-4144-952b-29593bc62f09_1328x895.png 848w, https://substackcdn.com/image/fetch/$s_!lhS5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9a0201-d0d3-4144-952b-29593bc62f09_1328x895.png 1272w, https://substackcdn.com/image/fetch/$s_!lhS5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9a0201-d0d3-4144-952b-29593bc62f09_1328x895.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lhS5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9a0201-d0d3-4144-952b-29593bc62f09_1328x895.png" width="1328" height="895" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de9a0201-d0d3-4144-952b-29593bc62f09_1328x895.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6fa080f-b1d7-4cc8-98c0-41cbb9a5a83a_1328x895.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:895,&quot;width&quot;:1328,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:203599,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/187489270?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6fa080f-b1d7-4cc8-98c0-41cbb9a5a83a_1328x895.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lhS5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9a0201-d0d3-4144-952b-29593bc62f09_1328x895.png 424w, https://substackcdn.com/image/fetch/$s_!lhS5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9a0201-d0d3-4144-952b-29593bc62f09_1328x895.png 848w, https://substackcdn.com/image/fetch/$s_!lhS5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9a0201-d0d3-4144-952b-29593bc62f09_1328x895.png 1272w, https://substackcdn.com/image/fetch/$s_!lhS5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9a0201-d0d3-4144-952b-29593bc62f09_1328x895.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">El ciclo virtuoso del soporte. Es parte de un <em>memo</em> interno que pas&#233; a uno de mis equipos.</figcaption></figure></div><p>La gesti&#243;n de incidentes es el ejemplo m&#225;s evidente. No solo importa c&#243;mo se resuelven desde el punto de vista t&#233;cnico, sino tambi&#233;n c&#243;mo se comunican, c&#243;mo se analizan despu&#233;s y qu&#233; acciones se toman para evitar que vuelvan a repetirse. Para los equipos que dependen de la plataforma, esa respuesta define gran parte de la percepci&#243;n de fiabilidad y madurez del equipo que la mantiene.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer Desde mi terminal! Suscr&#237;bete gratis para recibir nuevos posts y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>Pero el soporte no se limita a los incidentes. Tambi&#233;n est&#225; en el acompa&#241;amiento diario, en c&#243;mo se responde a una duda, en si alguien siente que hay un equipo al otro lado que escucha y se preocupa. Ese tipo de interacci&#243;n transmite algo muy potente: que <strong>la plataforma existe para servir a los equipos de producto y no al rev&#233;s</strong>.</p><p>Y en este punto, siempre suele aparecer la misma conversaci&#243;n dentro de los equipos de ingenier&#237;a. No suele pasar en una reuni&#243;n formal ni en un documento bien estructurado, sino en una charla cualquiera con alguien del equipo. Pongamos que se llama Ra&#250;l, nombre ficticio:</p><blockquote><p><strong>R</strong>a&#250;l: Vale, pero si nos centramos en soporte, no vamos a desarrollar ninguna feature nueva</p><p><strong>J</strong>o&#227;o: Eso es cierto si el soporte se convierte en apagar fuegos sin parar</p><p>R: Exacto, es justo lo que me preocupa. Que acabemos viviendo en el <em>Help Center</em></p><p>J: Entonces el problema no es el soporte, sino qu&#233; hacemos con &#233;l. Si solo cerramos tickets, no aprendemos nada</p><p>R: &#191;Y qu&#233; propones? Porque los tickets no se van a resolver solos</p><p>J: Que cada ticket sea una se&#241;al. Algo que nos dice d&#243;nde falta automatizaci&#243;n, d&#243;nde la documentaci&#243;n no funciona o d&#243;nde el producto obliga a hacer cosas a mano</p><p>R: Pero eso sigue quitando tiempo</p><p>J: A corto plazo, s&#237;. A medio plazo, no. Si usamos ese feedback para eliminar clases enteras de problemas, el volumen de soporte baja</p><p>R: &#191;Y de verdad pasa eso?</p><p>J: Pasa cuando dejamos de ver el soporte como trabajo reactivo y lo usamos para tomar decisiones de producto y plataforma</p><p>R: Entonces el objetivo no es hacer m&#225;s soporte, sino necesitar menos</p><p>J: Exacto. Menos tickets y m&#225;s tiempo para construir las features que realmente hacen la vida m&#225;s f&#225;cil a quienes usan la plataforma</p></blockquote><p>Ah&#237; est&#225;, para m&#237;, el punto clave. El soporte no deber&#237;a competir con el desarrollo de nuevas capacidades. <strong>Deber&#237;a ser uno de los principales factores para decidir qu&#233; construir, qu&#233; mejorar y qu&#233; dejar de hacer</strong>.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-soporte-tambien-es-producto?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico y gratuito. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-soporte-tambien-es-producto?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-soporte-tambien-es-producto?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><p>Cuando se trata de esta forma, ocurre algo casi contraintuitivo. A medida que la plataforma mejora de forma estructural, la carga de soporte disminuye. Y con menos fricci&#243;n, el equipo gana foco y tiempo para invertir en las mejoras que de verdad aportan valor.</p><p>Por eso creo que, <strong>en plataformas internas, el soporte no es una distracci&#243;n del trabajo importante</strong>. Es una de las formas m&#225;s claras de asegurarse de que ese trabajo importa de verdad.</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[El doble clic #13 — Semana del 9 de febrero]]></title><description><![CDATA[El SaaS ya no es para siempre, linters que salvan producci&#243;n y agentes con Skills]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-13-semana-del-9-de</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-13-semana-del-9-de</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 09 Feb 2026 07:15:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!oNM1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a una edici&#243;n m&#225;s de &#8220;<strong>El doble clic&#8221;</strong><em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><div><hr></div><p>Hola! Antes de seguir con &#8220;El doble clic&#8221;, quer&#237;a explicar que el art&#237;culo pensado para salir pasado el jueves&#8230; no sali&#243;. Saldr&#225; en breve. Estoy trabajando en mi consistencia y, a veces, pasan cosas as&#237;. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer Desde mi terminal! Suscr&#237;bete gratis para recibir nuevos posts y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>(5&#8217;) &#127466;&#127480; En su art&#237;culo semanal, Simon Mu&#241;oz escribe sobre el hundimiento del SaaS como s&#237;ntoma de algo m&#225;s grave. El mercado ha dejado de creer que estos negocios duren &#8220;para siempre&#8221;y la IA rompe su valor terminal: si los proveedores de modelos se convierten en la capa donde viven los agentes y los datos, muchos SaaS pasar&#225;n de ser infraestructuras imprescindibles a piezas reemplazables, con valoraciones, salarios y ambiciones propias de un sector maduro y en retirada.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:187248065,&quot;url&quot;:&quot;https://www.estrategiadeproducto.com/p/el-valor-terminal-del-saas-es-cero&quot;,&quot;publication_id&quot;:293081,&quot;publication_name&quot;:&quot;Estrategia de Producto&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!r-mH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24b19691-0a67-46ad-8fa1-1886839eee30_1280x1280.png&quot;,&quot;title&quot;:&quot;El valor terminal del SaaS es cero&quot;,&quot;truncated_body_text&quot;:&quot;El sector del software ha tenido otra semana horrible en los mercados. Y ya van unas cuantas en 2026, que se suman a un 2025 que, de por s&#237;, ya fue p&#233;simo. Aquello lo contamos apenas hace un mes en El Fin del SaaS 15 meses despu&#233;s.&quot;,&quot;date&quot;:&quot;2026-02-08T06:41:26.464Z&quot;,&quot;like_count&quot;:20,&quot;comment_count&quot;:3,&quot;bylines&quot;:[{&quot;id&quot;:10706709,&quot;name&quot;:&quot;Sim&#243;n Mu&#241;oz&quot;,&quot;handle&quot;:&quot;simonmunoz&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/dfbaa0c8-7e4d-4976-a0e0-fd99e9b4c9ef_4000x4000.jpeg&quot;,&quot;bio&quot;:&quot;De formaci&#243;n ingeniero de software, y con background emprendedor, llevo m&#225;s de 20 a&#241;os haciendo del lado del producto digital. Mis &#250;ltimas dos aventuras han sido como Director en Flywire, y ahora como Principal Product Manager en Voicemod. &quot;,&quot;profile_set_up_at&quot;:&quot;2021-05-23T16:14:12.791Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-03-09T16:30:18.932Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:251300,&quot;user_id&quot;:10706709,&quot;publication_id&quot;:293081,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:293081,&quot;name&quot;:&quot;Estrategia de Producto&quot;,&quot;subdomain&quot;:&quot;simonmunoz&quot;,&quot;custom_domain&quot;:&quot;www.estrategiadeproducto.com&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Un nuevo post cada domingo sobre producto y tecnolog&#237;a. Por Sim&#243;n Mu&#241;oz.&quot;,&quot;logo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/24b19691-0a67-46ad-8fa1-1886839eee30_1280x1280.png&quot;,&quot;author_id&quot;:10706709,&quot;primary_user_id&quot;:10706709,&quot;theme_var_background_pop&quot;:&quot;#9D6FFF&quot;,&quot;created_at&quot;:&quot;2021-02-21T19:07:03.339Z&quot;,&quot;email_from_name&quot;:&quot;Estrategia de Producto&quot;,&quot;copyright&quot;:&quot;Sim&#243;n Mu&#241;oz&quot;,&quot;founding_plan_name&quot;:&quot;Miembro fundador&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:&quot;es&quot;,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;simonvlc&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:1,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;subscriber&quot;,&quot;tier&quot;:1,&quot;accent_colors&quot;:null},&quot;paidPublicationIds&quot;:[1373231],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:false,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://www.estrategiadeproducto.com/p/el-valor-terminal-del-saas-es-cero?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!r-mH!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24b19691-0a67-46ad-8fa1-1886839eee30_1280x1280.png"><span class="embedded-post-publication-name">Estrategia de Producto</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">El valor terminal del SaaS es cero</div></div><div class="embedded-post-body">El sector del software ha tenido otra semana horrible en los mercados. Y ya van unas cuantas en 2026, que se suman a un 2025 que, de por s&#237;, ya fue p&#233;simo. Aquello lo contamos apenas hace un mes en El Fin del SaaS 15 meses despu&#233;s&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">2 months ago &#183; 20 likes &#183; 3 comments &#183; Sim&#243;n Mu&#241;oz</div></a></div><div><hr></div><p></p><p>(10&#8217;) &#127468;&#127463; <a href="https://www.linkedin.com/in/leonhollender/">L&#233;on Hollender</a> nos explica c&#243;mo un <em><strong><a href="https://leonh.fr/posts/go-transaction-linter/">bug </a></strong></em><strong><a href="https://leonh.fr/posts/go-transaction-linter/">sutil</a></strong><em><strong><a href="https://leonh.fr/posts/go-transaction-linter/"> </a></strong></em><strong><a href="https://leonh.fr/posts/go-transaction-linter/">en las transacciones de la base de datos en Go le llev&#243; a crear un </a></strong><em><strong><a href="https://leonh.fr/posts/go-transaction-linter/">linter</a></strong></em><strong><a href="https://leonh.fr/posts/go-transaction-linter/"> a medida</a></strong>. Nos explica, paso a paso, c&#243;mo detectar fugas de transacciones mediante an&#225;lisis est&#225;tico y defiende la idea de escribir linters propios cuando hay patrones de c&#243;digo f&#225;ciles de romper y dif&#237;ciles de revisar a ojo.</p><div><hr></div><p><em>&#128640; <strong>El ofert&#243;n</strong></em>: la oferta de trabajo que m&#225;s me ha llamado la atenci&#243;n esta semana</p><p>Cubbo, una startup de log&#237;stica y software que ya mueve millones de pedidos para grandes marcas, busca un/a Software Engineer con mentalidad de producto para construir y escalar Cubbo Engage, su nueva capa de agentes de IA para ventas y soporte, trabajando en un squad peque&#241;o con ownership real y foco en el impacto en el cliente.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getmanfred.com/ofertas-empleo/8262/cubbo-software-engineer-feb26&quot;,&quot;text&quot;:&quot;&#161;Me interesa!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getmanfred.com/ofertas-empleo/8262/cubbo-software-engineer-feb26"><span>&#161;Me interesa!</span></a></p><p>&#128176; 50-70k | &#128205; &#127466;&#127480; Barcelona (60% remoto) | &#129489;&#8205;&#128187; Ruby on Rails, React, SQL, AWS, IA aplicada</p><div><hr></div><p>(5&#8217;) &#127468;&#127463;  <a href="https://www.linkedin.com/in/josepfm">Jose Moreno</a> nos habla de c&#243;mo usar <em>Skills</em> para dejar de repetir contexto a los agentes de c&#243;digo &#8212; instrucciones empaquetadas y reutilizables que se cargan solo cuando hacen falta &#8212; y de las ideas b&#225;sicas para que funcionen bien: buena descripci&#243;n, alcance peque&#241;o y tratarlas como software, no como prompts largos.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:185645343,&quot;url&quot;:&quot;https://13doots.substack.com/p/skills-not-prompts-the-definitive&quot;,&quot;publication_id&quot;:2489338,&quot;publication_name&quot;:&quot;Build Notes&quot;,&quot;publication_logo_url&quot;:null,&quot;title&quot;:&quot;Skills, Not Prompts: The Definitive Playbook for Codex + Claude Code &quot;,&quot;truncated_body_text&quot;:&quot;If you&#8217;re still prompting your coding agent like it&#8217;s a chatbox, you&#8217;re paying the same tax every week: re-explaining standards, re-teaching workflows, re-losing hard-won context.&quot;,&quot;date&quot;:&quot;2026-01-24T16:31:47.669Z&quot;,&quot;like_count&quot;:2,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:221138228,&quot;name&quot;:&quot;Jose Moreno&quot;,&quot;handle&quot;:&quot;13doots&quot;,&quot;previous_name&quot;:&quot;13doots&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f4c8b93-fb16-4d22-ac1c-362cafbcd963_864x864.png&quot;,&quot;bio&quot;:&quot;Designing the next wave of consumer apps/web. Founder &amp; operator &#8594; Juice Studio &amp; Hoople &amp; Kelo&quot;,&quot;profile_set_up_at&quot;:&quot;2024-04-04T15:19:39.981Z&quot;,&quot;reader_installed_at&quot;:&quot;2024-04-26T14:44:21.975Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:2519026,&quot;user_id&quot;:221138228,&quot;publication_id&quot;:2489338,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:2489338,&quot;name&quot;:&quot;Build Notes&quot;,&quot;subdomain&quot;:&quot;13doots&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Engineering-first tech notes: evidence, experiments, and zero marketing fog.&quot;,&quot;logo_url&quot;:null,&quot;author_id&quot;:221138228,&quot;primary_user_id&quot;:221138228,&quot;theme_var_background_pop&quot;:&quot;#99A2F1&quot;,&quot;created_at&quot;:&quot;2024-04-04T15:19:45.347Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;13doots&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:&quot;es&quot;,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://13doots.substack.com/p/skills-not-prompts-the-definitive?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><span></span><span class="embedded-post-publication-name">Build Notes</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Skills, Not Prompts: The Definitive Playbook for Codex + Claude Code </div></div><div class="embedded-post-body">If you&#8217;re still prompting your coding agent like it&#8217;s a chatbox, you&#8217;re paying the same tax every week: re-explaining standards, re-teaching workflows, re-losing hard-won context&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">3 months ago &#183; 2 likes &#183; Jose Moreno</div></a></div><div><hr></div><p>(5&#8217;) &#127468;&#127463; <a href="https://www.linkedin.com/in/galonavarro/">Galo Navarro</a>, Principal Engineer en Midokura, escribe sobre <strong><a href="https://varoa.net/2026/01/30/poc.html">c&#243;mo las &#8220;pruebas de concepto&#8221; crean un sistema de incentivos perversos</a></strong>: ingenieros relajando est&#225;ndares &#8220;porque es solo un PoC&#8221; y el negocio empujando a producci&#243;n algo que nunca debi&#243; llegar all&#237;. Tambi&#233;n defiende que la forma de evitar el desastre no es dejar de experimentar, sino tratar estos trabajos como software real desde el primer d&#237;a, con los mismos guardrails de calidad y una escala razonable, para no convertir cada demo exitosa en deuda t&#233;cnica, frustraci&#243;n y fuegos en producci&#243;n.</p><div><hr></div><p>(5&#8217;) &#127466;&#127480; <a href="https://www.linkedin.com/in/ignacioarriaga/">Ignacio Arriaga</a> nos explica el <strong><a href="https://x.com/ignacio_arriaga/status/2020061757910233252">batacazo del SaaS como el ajuste de cuentas de una industria que durante a&#241;os abus&#243; de sus clientes</a></strong>: precios opacos, subidas salvajes y crecimiento a base de exprimir los &#8220;asientos&#8221; de los usuarios. Tambi&#233;n defiende que no es el <em>vibe coding</em> quien lo hunde, sino la IA dando por fin una v&#237;a de escape: no desaparecer&#225; el <em>software</em>, pero s&#237; caer&#225;n los SaaS que confundieron encierro con fidelidad y descubren ahora que los agentes tienen la llave de la celda.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-13-semana-del-9-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico y gratuito. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-13-semana-del-9-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-13-semana-del-9-de?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><h1>Publicaciones en X</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oNM1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oNM1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png 424w, https://substackcdn.com/image/fetch/$s_!oNM1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png 848w, https://substackcdn.com/image/fetch/$s_!oNM1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png 1272w, https://substackcdn.com/image/fetch/$s_!oNM1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oNM1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png" width="1435" height="705" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:705,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:168033,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/185404839?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oNM1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png 424w, https://substackcdn.com/image/fetch/$s_!oNM1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png 848w, https://substackcdn.com/image/fetch/$s_!oNM1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png 1272w, https://substackcdn.com/image/fetch/$s_!oNM1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F886ff3d7-460f-4f8c-9546-46613ea561c7_1435x705.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Mitchell Hashimoto hablando del comunicado<em> <a href="https://www.heroku.com/blog/an-update-on-heroku/">bochornos</a></em><a href="https://www.heroku.com/blog/an-update-on-heroku/">o</a> de Heroku. <a href="https://x.com/mitchellh/status/2019959647512195215?s=20">Fuente</a>.</figcaption></figure></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!okF6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F389b3956-5369-426d-9ba1-7fb6b04fae0f_1435x955.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!okF6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F389b3956-5369-426d-9ba1-7fb6b04fae0f_1435x955.png 424w, https://substackcdn.com/image/fetch/$s_!okF6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F389b3956-5369-426d-9ba1-7fb6b04fae0f_1435x955.png 848w, https://substackcdn.com/image/fetch/$s_!okF6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F389b3956-5369-426d-9ba1-7fb6b04fae0f_1435x955.png 1272w, https://substackcdn.com/image/fetch/$s_!okF6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F389b3956-5369-426d-9ba1-7fb6b04fae0f_1435x955.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!okF6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F389b3956-5369-426d-9ba1-7fb6b04fae0f_1435x955.png" width="1435" height="955" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/389b3956-5369-426d-9ba1-7fb6b04fae0f_1435x955.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:955,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:226948,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/185404839?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F389b3956-5369-426d-9ba1-7fb6b04fae0f_1435x955.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!okF6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F389b3956-5369-426d-9ba1-7fb6b04fae0f_1435x955.png 424w, https://substackcdn.com/image/fetch/$s_!okF6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F389b3956-5369-426d-9ba1-7fb6b04fae0f_1435x955.png 848w, https://substackcdn.com/image/fetch/$s_!okF6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F389b3956-5369-426d-9ba1-7fb6b04fae0f_1435x955.png 1272w, https://substackcdn.com/image/fetch/$s_!okF6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F389b3956-5369-426d-9ba1-7fb6b04fae0f_1435x955.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Aaro Levie, CEO de Box, hablando sobre la importancia de las plataformas en la era de la IA. <a href="https://x.com/levie/status/2020380616471245259">Fuente</a>.</figcaption></figure></div><p>Nos vemos <strong>ma&#241;ana</strong>, 10 de febrero. Y tambi&#233;n <strong>el pr&#243;ximo jueves 12 de febrero</strong>, con mi art&#237;culo semanal. Recuerda: si te ha gustado la <em>newsletter</em>, dale al &#8220;<em>like</em>&#8221; y suscr&#237;bete.</p><p>&#8212; Jo&#227;o</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer Desde mi terminal! Suscr&#237;bete gratis para recibir nuevos posts y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[El doble clic #12 — Semana del 2 de febrero]]></title><description><![CDATA[Ser o no ser programador, escribiendo newsletters con IA, y la mejor oferta para SRE en Espa&#241;a]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-11-semana-del-2-de</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-11-semana-del-2-de</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 02 Feb 2026 08:15:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!w9ZK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a una edici&#243;n m&#225;s de &#8220;<strong>El doble clic&#8221;</strong><em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><div><hr></div><p>&#127466;&#127480; (2&#8217;) Javi Santana nos cuenta que siempre ha tenido una relaci&#243;n inc&#243;moda con llamarse &#8220;programador&#8221; y repasa c&#243;mo empez&#243; automatizando trabajos por pura necesidad, c&#243;mo fue pasando por muchos roles t&#233;cnicos y de liderazgo casi sin buscarlos, y acaba aceptando que probablemente no volver&#225; a programar de forma profesional, porque su aportaci&#243;n real est&#225; en otros &#225;mbitos y porque el contexto tecnol&#243;gico tambi&#233;n ha cambiado.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:184889954,&quot;url&quot;:&quot;https://javisantana.substack.com/p/programador&quot;,&quot;publication_id&quot;:1212748,&quot;publication_name&quot;:&quot;Javi Santana&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!4WJg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f83d9c2-9c17-43d0-88e6-989fa06d27c2_608x608.png&quot;,&quot;title&quot;:&quot;Programador&quot;,&quot;truncated_body_text&quot;:&quot;Cuando vas al notario, adem&#225;s de sentirte ajeno a todo aquel ritual, te preguntan tu nombre, DNI, estado civil y, por razones que ChatGPT me ha aclarado, tu profesi&#243;n. Siempre es un momento complicado y responder &#8220;programador&#8221; me cuesta. Y lo tengo que reconocer, es as&#237; porque creo que van a pensar que soy &#8220;un cualquiera&#8221;. Hay que ser gilipollas, aunque&#8230;&quot;,&quot;date&quot;:&quot;2026-01-30T21:22:25.738Z&quot;,&quot;like_count&quot;:36,&quot;comment_count&quot;:8,&quot;bylines&quot;:[{&quot;id&quot;:3218399,&quot;name&quot;:&quot;Javi Santana&quot;,&quot;handle&quot;:&quot;javisantana&quot;,&quot;previous_name&quot;:&quot;Javier Santana&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a05a9a09-f78b-4b73-bab8-c8f892da61de_400x400.jpeg&quot;,&quot;bio&quot;:&quot;Co-founder @Tinybirdco, ex @CARTO CTO&quot;,&quot;profile_set_up_at&quot;:&quot;2022-11-26T09:46:21.731Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-12-01T20:13:32.664Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:1168063,&quot;user_id&quot;:3218399,&quot;publication_id&quot;:1212748,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:1212748,&quot;name&quot;:&quot;Javi Santana&quot;,&quot;subdomain&quot;:&quot;javisantana&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Co-fundador de Tinybird, ex CARTO CTO, fund&#233; agrogu&#237;a, un producto m&#225;gico para agricultores. Dise&#241;o productos software.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f83d9c2-9c17-43d0-88e6-989fa06d27c2_608x608.png&quot;,&quot;author_id&quot;:3218399,&quot;primary_user_id&quot;:3218399,&quot;theme_var_background_pop&quot;:&quot;#A33ACB&quot;,&quot;created_at&quot;:&quot;2022-11-26T09:48:23.545Z&quot;,&quot;email_from_name&quot;:&quot;Javi Santana&quot;,&quot;copyright&quot;:&quot;Javi Santana&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:&quot;es&quot;,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}},{&quot;id&quot;:3596990,&quot;user_id&quot;:3218399,&quot;publication_id&quot;:3528348,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:3528348,&quot;name&quot;:&quot;&#128293; FAILing with data&quot;,&quot;subdomain&quot;:&quot;failingwithdata&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Data has been the tool I have used in the last 20 years, the only thing I remember is failing with it &quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/65139ad0-319a-42ca-9a37-c024fae1c727_1024x1024.png&quot;,&quot;author_id&quot;:3218399,&quot;primary_user_id&quot;:null,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2024-12-15T11:37:42.319Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Javi Santana&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;javisantana&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:false,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://javisantana.substack.com/p/programador?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!4WJg!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f83d9c2-9c17-43d0-88e6-989fa06d27c2_608x608.png"><span class="embedded-post-publication-name">Javi Santana</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Programador</div></div><div class="embedded-post-body">Cuando vas al notario, adem&#225;s de sentirte ajeno a todo aquel ritual, te preguntan tu nombre, DNI, estado civil y, por razones que ChatGPT me ha aclarado, tu profesi&#243;n. Siempre es un momento complicado y responder &#8220;programador&#8221; me cuesta. Y lo tengo que reconocer, es as&#237; porque creo que van a pensar que soy &#8220;un cualquiera&#8221;. Hay que ser gilipollas, aunque&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">2 months ago &#183; 36 likes &#183; 8 comments &#183; Javi Santana</div></a></div><div><hr></div><p>&#127468;&#127463; (15&#8217;) George Wilson, Head of Engineering en Paddle, nos explica c&#243;mo pasaron de una libertad total para cada equipo &#8212;que al principio aceler&#243; mucho&#8212; a un nivel de complejidad que empez&#243; a frenar al negocio, y <strong><a href="https://paddle.engineering/blog/go-microservices-at-paddle-consistency-catalyst/">c&#243;mo encontraron el equilibrio creando un &#8220;</a></strong><em><strong><a href="https://paddle.engineering/blog/go-microservices-at-paddle-consistency-catalyst/">golden path</a></strong></em><strong><a href="https://paddle.engineering/blog/go-microservices-at-paddle-consistency-catalyst/">&#8221;: un conjunto de librer&#237;as, plantillas y herramientas</a></strong> tan bien pensadas que los equipos quieren usarlas sin imponerlas, logrando m&#225;s consistencia, mejor onboarding y cambios globales r&#225;pidos, mientras los ingenieros pueden centrarse en resolver problemas reales y no en debatir arquitectura.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Esta publicaci&#243;n es gratis. Suscr&#237;bete y no te pierdas el mejor contenido tech en espa&#241;ol</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>&#127466;&#127480; (5&#8217;) Jaime Novoa, de Kfund,  escribe sobre <strong><a href="https://x.com/jaimenovoa/status/2015726293258580226">c&#243;mo Dealflow ha pasado de ser una </a></strong><em><strong><a href="https://x.com/jaimenovoa/status/2015726293258580226">newsletter</a></strong></em><strong><a href="https://x.com/jaimenovoa/status/2015726293258580226"> escrita totalmente a mano a un proceso en gran parte automatizado con LLMs</a></strong> y Claude Code, manteniendo el criterio humano donde m&#225;s valor aporta: la selecci&#243;n de noticias y el contexto final. Explica c&#243;mo hoy casi todo ocurre entre Terminal y Google Sheets &#8212; guardar textos completos, resumir con agentes, clasificar y generar el HTML&#8212; y c&#243;mo esto le ha permitido ahorrar mucho tiempo y escalar la <em>newsletter</em>. </p><p><em>Nota</em>: recomiendo suscribiros a <a href="https://dealflow.es/">Dealflow</a>. Es la mejor <em>newsletter </em>sobre la actividad y las noticias de las startups en Espa&#241;a.</p><div><hr></div><p><em> &#128640; <strong>El ofert&#243;n</strong></em>: la oferta de trabajo que m&#225;s me ha llamado la atenci&#243;n esta semana</p><p><a href="https://maisa.ai/">Maisa</a>, una startup espa&#241;ola de IA en plena fase de crecimiento tras cerrar una ronda seed de $25M, busca un <em><strong>Site Reliability Engineer</strong></em> para construir y escalar la plataforma que soporta su producto de <em>agentic process automation</em>, con foco en fiabilidad, observabilidad y despliegues <em>enterprise</em>, tanto en la nube como <em>on-prem</em>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://careers.kula.ai/maisa/19360&quot;,&quot;text&quot;:&quot;&#161;Me interesa!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://careers.kula.ai/maisa/19360"><span>&#161;Me interesa!</span></a></p><p>&#128176; 60-75k (+ stock options) | &#128205; &#127466;&#127480; Remoto o h&#237;brido desde Valencia | &#129489;&#8205;&#128187; AWS, Kubernetes, Terraform</p><div><hr></div><p>&#127468;&#127463; (8&#8217;) Sinan Tang nos cuenta <strong><a href="https://medium.com/scout24-engineering/shipping-the-first-mcp-in-heyimmo-at-immoscout24-a278214df005">c&#243;mo en ImmoScout24 llevaron a producci&#243;n su primer servidor MCP para an&#225;lisis inmobiliario</a></strong> y qu&#233; aprendieron por el camino: que construir sistemas con agentes de IA exige patrones muy distintos al software tradicional, desde dise&#241;ar herramientas pensadas para agentes (datos estructurados, instrucciones expl&#237;citas y ejemplos claros), hasta asumir que el mayor reto no es desarrollar sino evaluar correctamente estos sistemas, y que adem&#225;s hace falta un cambio de mentalidad para experimentar con nuevas interfaces y prototipos r&#225;pidos.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-11-semana-del-2-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico y gratuito. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-11-semana-del-2-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-11-semana-del-2-de?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><p>&#127468;&#127463; (15&#8217;) Desde el blog de Leboncoin, <strong><a href="https://medium.com/leboncoin-tech-blog/fraud-as-a-misuse-case-when-the-user-journey-is-used-against-the-product-16e712199858">proponen ver el fraude como algo inherente a cualquier </a></strong><em><strong><a href="https://medium.com/leboncoin-tech-blog/fraud-as-a-misuse-case-when-the-user-journey-is-used-against-the-product-16e712199858">marketplace</a></strong></em><strong><a href="https://medium.com/leboncoin-tech-blog/fraud-as-a-misuse-case-when-the-user-journey-is-used-against-the-product-16e712199858"> que funciona a escala</a></strong>, no como un fallo puntual, y analizan c&#243;mo se manifiesta a lo largo de todo el recorrido del usuario &#8212; desde el alta, los anuncios y la mensajer&#237;a hasta el pago y la posventa &#8212;, mostrando que cada decisi&#243;n de producto define qu&#233; es &#8220;normal&#8221; y cu&#225;nto espacio queda para el abuso. La conclusi&#243;n es clara: el fraude no se elimina con reglas o tecnolog&#237;a aisladas, sino mediante el dise&#241;o de experiencias coherentes que reduzcan la ambig&#252;edad, aprendan del mal uso y refuercen la confianza sin castigar al usuario leg&#237;timo.</p><div><hr></div><h1>Publicaciones en X</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kfLr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97de11ee-2865-4318-9386-1a4340337bd0_1435x1891.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kfLr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97de11ee-2865-4318-9386-1a4340337bd0_1435x1891.png 424w, https://substackcdn.com/image/fetch/$s_!kfLr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97de11ee-2865-4318-9386-1a4340337bd0_1435x1891.png 848w, https://substackcdn.com/image/fetch/$s_!kfLr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97de11ee-2865-4318-9386-1a4340337bd0_1435x1891.png 1272w, https://substackcdn.com/image/fetch/$s_!kfLr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97de11ee-2865-4318-9386-1a4340337bd0_1435x1891.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kfLr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97de11ee-2865-4318-9386-1a4340337bd0_1435x1891.png" width="1435" height="1891" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/97de11ee-2865-4318-9386-1a4340337bd0_1435x1891.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1891,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:497846,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/186440936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97de11ee-2865-4318-9386-1a4340337bd0_1435x1891.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kfLr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97de11ee-2865-4318-9386-1a4340337bd0_1435x1891.png 424w, https://substackcdn.com/image/fetch/$s_!kfLr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97de11ee-2865-4318-9386-1a4340337bd0_1435x1891.png 848w, https://substackcdn.com/image/fetch/$s_!kfLr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97de11ee-2865-4318-9386-1a4340337bd0_1435x1891.png 1272w, https://substackcdn.com/image/fetch/$s_!kfLr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97de11ee-2865-4318-9386-1a4340337bd0_1435x1891.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>The Random Recruiter</em> hablando de la importancia de articular el impacto, a la hora de buscar nuevos trabajos. <a href="https://x.com/randomrecruiter/status/2017326953028878496?s=20">Fuente</a>.</figcaption></figure></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w9ZK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w9ZK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png 424w, https://substackcdn.com/image/fetch/$s_!w9ZK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png 848w, https://substackcdn.com/image/fetch/$s_!w9ZK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png 1272w, https://substackcdn.com/image/fetch/$s_!w9ZK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w9ZK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png" width="1435" height="1512" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1512,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:855935,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/186440936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!w9ZK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png 424w, https://substackcdn.com/image/fetch/$s_!w9ZK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png 848w, https://substackcdn.com/image/fetch/$s_!w9ZK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png 1272w, https://substackcdn.com/image/fetch/$s_!w9ZK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a657767-fac4-41fb-b2e7-7ba25b10b9d7_1435x1512.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Adam Wathan nos habla del <em>multitasking</em> de cosas &#8220;triviales&#8221; en su d&#237;a a d&#237;a como mantenedor de <em>software</em> de c&#243;digo abierto. <a href="https://x.com/adamwathan/status/2017616165455949851?s=20">Fuente</a>.</figcaption></figure></div><div><hr></div><p>Nos vemos <strong>el pr&#243;ximo jueves 5 de febrero</strong>, con mi art&#237;culo semanal. Recuerda: si te ha gustado la <em>newsletter</em>, dale al &#8220;<em>like</em>&#8221; y suscr&#237;bete.</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[¿Qué pasa cuando cualquiera puede crear software?]]></title><description><![CDATA[Me met&#237; en el barro para desplegar un servicio end-to-end y acab&#233; redescubriendo la importancia de las plataformas]]></description><link>https://enespanol.joaoqalves.net/p/que-pasa-cuando-cualquiera-puede</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/que-pasa-cuando-cualquiera-puede</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Sat, 31 Jan 2026 09:27:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!37tI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hay una frase que empieza a aparecer en conversaciones donde, hace dos a&#241;os, habr&#237;a sonado exagerada: &#8220;ahora cualquiera puede programar&#8221;. No significa que todo el mundo vaya a escribir sistemas distribuidos ni que, de repente, la ingenier&#237;a deje de ser una disciplina. Significa algo m&#225;s pr&#225;ctico: que un porcentaje creciente de los problemas que antes requer&#237;an un equipo de ingenier&#237;a ahora se resuelven con intenci&#243;n, herramientas y algo de criterio.</p><p>Por eso llama la atenci&#243;n ver a ingenieros hist&#243;ricamente esc&#233;pticos como <strong><a href="https://antirez.com/news/158">Salvatore Sanfilippo</a></strong> (Redis) o<strong> <a href="https://x.com/rough__sea/status/2013280952370573666?s=20">Ryan Dahl</a> </strong>(Node.js) reconocer que los LLMs cambian el significado de &#8220;construir&#8221; en el d&#237;a a d&#237;a. Y por eso tambi&#233;n es significativo que un CEO como <strong>Tobi L&#252;tke</strong> (Shopify) <a href="https://x.com/tobi/status/2009311882553765914?s=20">est&#233; programando</a> m&#225;s que nunca. No, no es que crea que el CEO lo vaya a hacer todo &#233;l solito. Pero la realidad es que  el umbral de entrada ha bajado lo suficiente como para que &#8220;hacer una herramienta&#8221; vuelva a ser una acci&#243;n normal, no un proyecto.</p><p>La consecuencia de esto es f&#225;cil de describir y dif&#237;cil de gestionar: <strong>se va a crear mucho m&#225;s </strong><em><strong>software</strong></em><strong> dentro de las empresas y no solo desde ingenier&#237;a</strong>. Prototipos que se convierten en flujos reales. Automatizaciones internas que pasan de &#8220;<em>hack</em>&#8221; a &#8220;esto lo usa todo el equipo&#8221;. Integraciones que nacen en una tarde y, de casualidad, se convierten en infraestructura <em>de facto</em>.</p><p>Y ah&#237; aparece la pregunta que me interesaba: si crear software deja de ser el cuello de botella, &#191;qu&#233; pasa con las plataformas?</p><div><hr></div><h1>Me met&#237; en el barro</h1><p>Durante unos d&#237;as, actu&#233; como si fuera un desarrollador m&#225;s. La idea era hacerlo yo solo, sin recurrir al <em>pair programming </em>ni al conocimiento tribal. Segu&#237; el <em>onboarding</em> est&#225;ndar y desplegu&#233; un servicio <em>backend </em>de punta a punta, utilizando documentaci&#243;n y plantillas de autoservicio.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w0IS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283ae1fe-1022-45d0-941d-4b4795fe60e0_1340x1092.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w0IS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283ae1fe-1022-45d0-941d-4b4795fe60e0_1340x1092.png 424w, https://substackcdn.com/image/fetch/$s_!w0IS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283ae1fe-1022-45d0-941d-4b4795fe60e0_1340x1092.png 848w, https://substackcdn.com/image/fetch/$s_!w0IS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283ae1fe-1022-45d0-941d-4b4795fe60e0_1340x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!w0IS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283ae1fe-1022-45d0-941d-4b4795fe60e0_1340x1092.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w0IS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283ae1fe-1022-45d0-941d-4b4795fe60e0_1340x1092.png" width="1340" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/283ae1fe-1022-45d0-941d-4b4795fe60e0_1340x1092.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1340,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:202260,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/186200882?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283ae1fe-1022-45d0-941d-4b4795fe60e0_1340x1092.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!w0IS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283ae1fe-1022-45d0-941d-4b4795fe60e0_1340x1092.png 424w, https://substackcdn.com/image/fetch/$s_!w0IS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283ae1fe-1022-45d0-941d-4b4795fe60e0_1340x1092.png 848w, https://substackcdn.com/image/fetch/$s_!w0IS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283ae1fe-1022-45d0-941d-4b4795fe60e0_1340x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!w0IS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283ae1fe-1022-45d0-941d-4b4795fe60e0_1340x1092.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Si con lo que te proporciona la IA hoy en d&#237;a no est&#225;s programando, tengo malas noticias.</figcaption></figure></div><p>No lo hice para evaluar herramientas ni para sacar conclusiones del tipo &#8220;esto hay que migrarlo a X&#8221;. Lo hice para entender d&#243;nde aparece la fricci&#243;n cuando intentas avanzar con lo que hay, y qu&#233; tipo de fricci&#243;n es la que de verdad te frena.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Suscr&#237;bete gratis para recibir nuevos art&#237;culos y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h1>El camino est&#225;ndar&#8482; ten&#237;a agujeros</h1><p>Lo b&#225;sico estaba: crear el repositorio, tener una plantilla, hacer la <em>build</em>, desplegarlo y verlo correr. Hab&#237;a <em>pipelines </em>de<em> </em>integraci&#243;n y despliegue continuos (<em>CI/CD</em>)<em> p</em>ara compilar, desplegar y ejecutar, as&#237; como m&#233;tricas y logs. Vamos bien, &#191;no? Pues no tanto. Cuando todo &#8220;m&#225;s o menos funciona&#8221;, es f&#225;cil confundir la existencia con la coherencia y la direcci&#243;n.</p><p>Por ejemplo, el soporte estaba repartido entre varios canales de Slack, lo cual no es grave hasta que te obliga a adivinar de antemano qui&#233;n es responsable de qu&#233;. En la pr&#225;ctica, el sistema no te resuelve el problema: te pide que entiendas la organizaci&#243;n para poder usarlo. Esto es una forma bastante t&#237;pica de exportar carga cognitiva. No es que falte soporte. Es que el coste de &#8220;saber d&#243;nde preguntar&#8221; lo paga el usuario. Y ese coste no se ve en ning&#250;n dashboard, pero se nota en cada interrupci&#243;n, en cada pregunta repetida y en cada minuto que inviertes orient&#225;ndote en vez de avanzar.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l6A8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a1ace0e-87ff-49ed-b9ce-43b9dbed608d_1582x1078.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l6A8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a1ace0e-87ff-49ed-b9ce-43b9dbed608d_1582x1078.png 424w, https://substackcdn.com/image/fetch/$s_!l6A8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a1ace0e-87ff-49ed-b9ce-43b9dbed608d_1582x1078.png 848w, https://substackcdn.com/image/fetch/$s_!l6A8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a1ace0e-87ff-49ed-b9ce-43b9dbed608d_1582x1078.png 1272w, https://substackcdn.com/image/fetch/$s_!l6A8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a1ace0e-87ff-49ed-b9ce-43b9dbed608d_1582x1078.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l6A8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a1ace0e-87ff-49ed-b9ce-43b9dbed608d_1582x1078.png" width="1456" height="992" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a1ace0e-87ff-49ed-b9ce-43b9dbed608d_1582x1078.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:992,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:170428,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/186200882?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a1ace0e-87ff-49ed-b9ce-43b9dbed608d_1582x1078.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!l6A8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a1ace0e-87ff-49ed-b9ce-43b9dbed608d_1582x1078.png 424w, https://substackcdn.com/image/fetch/$s_!l6A8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a1ace0e-87ff-49ed-b9ce-43b9dbed608d_1582x1078.png 848w, https://substackcdn.com/image/fetch/$s_!l6A8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a1ace0e-87ff-49ed-b9ce-43b9dbed608d_1582x1078.png 1272w, https://substackcdn.com/image/fetch/$s_!l6A8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a1ace0e-87ff-49ed-b9ce-43b9dbed608d_1582x1078.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Varios fallos de los que solo me di cuenta al intentar hacer la <em>build</em> y desplegar mi servicio.</figcaption></figure></div><p>Lo mismo me ocurri&#243; con el <em>onboarding</em>. Se asum&#237;an demasiadas cosas: qu&#233; perfil de Spring Boot seleccionar, qu&#233; herramientas tener instaladas y qu&#233; configuraciones locales ya deb&#237;an existir. Y como esas suposiciones no se validaban al principio &#8212; en las plantillas de autoservicio &#8212;, el sistema me dejaba avanzar hasta que, de repente, no pod&#237;a. El resultado fue bastante tonto: cinco o seis idas y vueltas con CI que no eran <em>bugs</em>, sino prerrequisitos disfrazados.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/que-pasa-cuando-cualquiera-puede?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es gratis. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/que-pasa-cuando-cualquiera-puede?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/que-pasa-cuando-cualquiera-puede?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><p>Ah&#237; es donde me vino a la cabeza la idea de <em>leaky abstraction</em>. En teor&#237;a, ten&#237;a una &#8220;plantilla est&#225;ndar&#8221;. En teor&#237;a, esa abstracci&#243;n estaba para que yo no tuviera que pensar en lo de siempre. En plan: genero el servicio, sigo el camino est&#225;ndar y ya est&#225;. Pero ten&#237;a agujeros. Y cada agujero te empujaba a hacer justo lo contrario de lo que promete una plataforma: bajar de nivel, entender qu&#233; hay debajo y probar hasta acertar. Un ejemplo tonto pero real: si no eleg&#237;as ciertas configuraciones o librer&#237;as &#8220;por definici&#243;n&#8221;, el sistema no te lo dec&#237;a pronto ni te guiaba hacia el valor por defecto correcto. Y entonces tocaba investigar, ajustar, volver a probar. En vez de construir, estaba adivinando. Y una plataforma existe precisamente para que no tengas que adivinar.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!37tI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!37tI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png 424w, https://substackcdn.com/image/fetch/$s_!37tI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png 848w, https://substackcdn.com/image/fetch/$s_!37tI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png 1272w, https://substackcdn.com/image/fetch/$s_!37tI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!37tI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png" width="1456" height="792" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:792,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:171168,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/186200882?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!37tI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png 424w, https://substackcdn.com/image/fetch/$s_!37tI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png 848w, https://substackcdn.com/image/fetch/$s_!37tI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png 1272w, https://substackcdn.com/image/fetch/$s_!37tI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F566a7e02-acf8-40a1-89b7-19024dfb1dcd_2254x1226.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">El resultado final. No he mirado ni una l&#237;nea de c&#243;digo. El <em>backend</em> tiene todo testeado.</figcaption></figure></div><p>Hasta aqu&#237;, podr&#237;amos llamarlo fricci&#243;n normal. El punto en el que esto se vuelve interesante es cuando aparece la automatizaci&#243;n.</p><div><hr></div><h1>&#191;Qu&#233; es una plataforma?</h1><p>&#8220;Plataforma&#8221; es una palabra con demasiada carga. En algunas empresas significa &#8220;infra&#8221;.  En otras, es una excusa elegante para decir &#8220;el equipo que no entrega funcionalidades&#8221;.</p><p>A m&#237; me sirve una definici&#243;n m&#225;s operativa: </p><blockquote><p>Una plataforma es <strong>un conjunto de </strong><em><strong>building blocks</strong></em><strong> y caminos recomendados que permiten que equipos aut&#243;nomos construyan y operen software sin tener que negociar cada detalle ni aprenderlo todo desde cero.</strong></p></blockquote><p>La palabra clave ah&#237; no es &#8220;herramientas&#8221;, sino &#8220;coherencia&#8221;. Es una forma de tomar decisiones por adelantado para que no tengas que tomarlas cada vez. De hecho, si lo pensamos, los productos de plataforma que funcionan suelen compartir el mismo patr&#243;n: convierten decisiones repetidas en <em>defaults</em> razonables.</p><p>Un ejemplo gen&#233;rico: imagina que un equipo quiere crear un nuevo servicio. En una empresa sin plataforma, ese equipo tiene que decidir mil cosas: c&#243;mo se despliega, c&#243;mo se observa, c&#243;mo se configura, qu&#233; librer&#237;as son est&#225;ndar, c&#243;mo se gestionan los secretos, qu&#233; implica &#8220;listo para producci&#243;n&#8221;. En una empresa con plataforma, gran parte de eso ya est&#225; resuelto en forma de plantillas, <em>pipelines</em>, <em>guardrails</em> y est&#225;ndares ejecutables. No porque alguien quiera controlar, sino porque repetir esas decisiones una y otra vez es caro y, adem&#225;s, genera entrop&#237;a.</p><p>La plataforma, en el fondo, es el mecanismo que permite la autonom&#237;a sin fragmentaci&#243;n.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><h1>En un mundo post-IA, automatizar deja de ser el problema</h1><p>En el flujo de despliegue hab&#237;a varios puntos que ped&#237;an automatizaci&#243;n a gritos. El ejemplo m&#225;s obvio era el aprovisionamiento de una base de datos. Es el t&#237;pico paso mec&#225;nico que, en cuanto lo haces dos veces, piensas: &#8220;vale, esto deber&#237;a estar automatizado&#8221;.</p><p>Lo interesante es que hace unos a&#241;os, ah&#237;, la conversaci&#243;n sol&#237;a morir. Automatizarlo bien pod&#237;a implicar tocar el <em>tooling</em>, mantener <em>scripts</em>, pelearse con los permisos, integrarlo en la CI o empaquetarlo en un CLI. Y si estabas en un equipo de producto, era f&#225;cil justificar lo contrario: &#8220;esto es una distracci&#243;n, ya lo haremos cuando duela m&#225;s&#8221;. El coste era suficientemente alto como para que, por definici&#243;n, la actitud fuera dejarlo manualmente.</p><p>Ahora el coste ha bajado much&#237;simo. No solo por los LLMs, sino tambi&#233;n porque construir automatizaciones peque&#241;as resulta m&#225;s accesible para m&#225;s gente. El punto ya no es si alguien puede hacerlo. El tema es saber d&#243;nde hacerlo para que sume y no genere una soluci&#243;n paralela.</p><p>Y ah&#237; me qued&#233; bloqueado. Me empec&#233; a preguntar: &#191;Esto vive en un CLI? &#191;En una plantilla? &#191;En el <em>pipeline</em>? &#191;Qu&#233; se considera &#8220;el sitio correcto&#8221; en esta empresa para automatizar este tipo de tareas? Cuando la respuesta no est&#225; clara, el sistema empuja a dos comportamientos muy humanos: o lo dejas manual, o lo automatizas en local &#8220;para salir del paso&#8221;. Y lo gracioso es que, en un mundo donde automatizar es barato, ambos caminos salen caros. Uno, porque desperdicia capacidad, y el otro, porque fragmenta. Empiezan a aparecer <em>golden paths</em> privados, scripts que funcionan &#8220;en mi m&#225;quina&#8221; y automatizaciones que no encajan con el resto de la plataforma.</p><p>En cambio, cuando hay direcci&#243;n y principios expl&#237;citos, el efecto es el contrario. Si el est&#225;ndar es algo tan concreto como: &#8220;los <em>golden paths</em> de aprovisionamiento se construyen con Scaffolder en Backstage&#8221;, de repente la empresa entera puede empujar en la misma direcci&#243;n. No hace falta coordinar a veinte equipos. Hace falta que la regla sea clara, el camino sea f&#225;cil y los <em>guardrails</em> est&#233;n donde toca.</p><p>Ese es, para m&#237;, el cambio grande post-IA: la capacidad de crear automatizaci&#243;n se dispara, pero solo se convierte en velocidad real cuando la plataforma ofrece un sitio, un patr&#243;n y l&#237;mites. Ah&#237; es cuando pasas de tener automatizaciones sueltas a contar con una plataforma que acumula automatizaciones, refuerza los <em>defaults</em> y reduce el coste de moverse r&#225;pido sin romper cosas.</p><div><hr></div><h1>Las plataformas m&#225;s importantes que antes, no menos</h1><p>Durante a&#241;os hemos hablado de plataformas internas como una inversi&#243;n para acelerar la ingenier&#237;a: reducir el <em>toil</em>, estandarizar buenas pr&#225;cticas y permitir que los equipos de producto entreguen sin pelearse con la infraestructura. Eso ten&#237;a sentido porque el cuello de botella era la escasez de ingenier&#237;a y el coste de construcci&#243;n.</p><p>Si ese cuello de botella se debilita, podr&#237;as pensar que las plataformas pierden relevancia. Pues no. Es justo lo contrario.</p><p>Cuando se va a crear mucho m&#225;s <em>software</em>, desde muchos m&#225;s sitios, el problema principal deja de ser la velocidad de un equipo y pasa a ser la coherencia del conjunto. La plataforma se convierte en el mecanismo que hace que un aumento de la capacidad de creaci&#243;n se traduzca en valor y no en un mosaico de automatizaciones incompatibles, decisiones repetidas y deuda organizativa.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/que-pasa-cuando-cualquiera-puede?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es gratis. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/que-pasa-cuando-cualquiera-puede?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/que-pasa-cuando-cualquiera-puede?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><h1>&#191;C&#243;mo cambia el trabajo de los equipos de plataforma?</h1><p>Aqu&#237; es donde creo que muchos equipos de plataforma se van a equivocar por inercia. No nos enga&#241;emos. Somos ingenieros y la respuesta f&#225;cil es construir m&#225;s cosas. M&#225;s <em>tooling</em>, m&#225;s features en la plataforma, m&#225;s abstracciones. Eso tranquiliza porque se parece a lo que siempre hemos hecho: &#8220;vemos fricci&#243;n, construimos una herramienta&#8221;.</p><p>Pero el trabajo cr&#237;tico no es &#8220;hacer m&#225;s&#8221;. Es hacer que otros puedan hacerlo sin desalinearse. El resultado no es solo <em>software</em>. Es claridad operativa.</p><ul><li><p><em><strong>Building blocks</strong></em> s&#243;lidos y reutilizables para que la empresa no tenga que reinventar lo b&#225;sico cada vez.</p></li><li><p><em><strong>Golden paths</strong></em> que no sean &#8220;recomendaciones&#8221;, sino caminos que el sistema haga naturalmente f&#225;ciles, porque ya incluyen los <em>defaults</em> correctos.</p></li><li><p><em><strong>Guardrails</strong></em><strong> ejecutables</strong> all&#237; donde de verdad importe la consistencia, porque si algo depende de que la gente lea un documento, en la pr&#225;ctica depende del azar.</p></li><li><p><strong>Principios y l&#237;mites</strong> expl&#237;citos: qu&#233; se automatiza, d&#243;nde se ubica esa automatizaci&#243;n y qu&#233; significa &#8220;bien&#8221; en ese contexto.</p></li></ul><p>En el fondo, lo que la empresa necesita no es m&#225;s libertad para crear. Eso ya est&#225; llegando. Lo que necesita es un marco en el que esa libertad no genere entrop&#237;a.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Suscr&#237;bete gratis para recibir nuevos art&#237;culos y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h1>Cerrando el c&#237;rculo</h1><p>S&#237;, al final desplegu&#233; el servicio. Pero lo que m&#225;s me interesaba no era &#8220;si se pod&#237;a&#8221;, sino qu&#233; hice despu&#233;s de ver d&#243;nde estaban los agujeros. Porque ah&#237; es donde, para m&#237;, se decide si esto se queda en una an&#233;cdota o se convierte en plataforma. Hice dos cosas: </p><ol><li><p><strong>Abr&#237; dos </strong><em><strong>Pull Requests</strong></em> (PRs) para mejorar los <em>guardrails</em> del camino est&#225;ndar. No eran cambios heroicos. Eran los t&#237;picos <em>checks</em> que evitan que el sistema te deje avanzar con una configuraci&#243;n incompleta y estrellarte diez minutos despu&#233;s en CI. Total, hoy puedes ponerte a iterar r&#225;pido &#8212; s&#237;, incluso con Claude en un <em>tab</em> del terminal &#8212; y convertir ambig&#252;edades en <em>defaults</em> ejecutables.</p></li><li><p><strong>Document&#233; un conjunto de recomendaciones</strong> para los equipos que mantienen la plataforma. No en plan &#8220;hay que rehacerlo todo&#8221;, sino en plan &#8220;estos son los sitios donde el sistema est&#225; exportando carga cognitiva, y estas son las decisiones que convendr&#237;a cerrar para que la empresa entera pueda empujar en la misma direcci&#243;n&#8221;.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HZZK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f23c06-e38f-430e-b376-7cce88217d36_1384x946.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HZZK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f23c06-e38f-430e-b376-7cce88217d36_1384x946.png 424w, https://substackcdn.com/image/fetch/$s_!HZZK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f23c06-e38f-430e-b376-7cce88217d36_1384x946.png 848w, https://substackcdn.com/image/fetch/$s_!HZZK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f23c06-e38f-430e-b376-7cce88217d36_1384x946.png 1272w, https://substackcdn.com/image/fetch/$s_!HZZK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f23c06-e38f-430e-b376-7cce88217d36_1384x946.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HZZK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f23c06-e38f-430e-b376-7cce88217d36_1384x946.png" width="1384" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2f23c06-e38f-430e-b376-7cce88217d36_1384x946.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1384,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:168698,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/186200882?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f23c06-e38f-430e-b376-7cce88217d36_1384x946.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HZZK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f23c06-e38f-430e-b376-7cce88217d36_1384x946.png 424w, https://substackcdn.com/image/fetch/$s_!HZZK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f23c06-e38f-430e-b376-7cce88217d36_1384x946.png 848w, https://substackcdn.com/image/fetch/$s_!HZZK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f23c06-e38f-430e-b376-7cce88217d36_1384x946.png 1272w, https://substackcdn.com/image/fetch/$s_!HZZK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f23c06-e38f-430e-b376-7cce88217d36_1384x946.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>En resumen: pude desplegar el servicio. Tambi&#233;n pude abrir dos PRs para mejorar los <em>guardrails</em> del camino est&#225;ndar. Eso, hoy, es barato. Lo caro es seguir dejando que cada persona pague el coste de orientarse, de probar hasta acertar y de reinventar el est&#225;ndar en local.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/que-pasa-cuando-cualquiera-puede?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/que-pasa-cuando-cualquiera-puede?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p><div><hr></div><h1>Vale&#8230; &#191;y ahora qu&#233;?</h1><p>Cuando &#8220;hacer <em>software</em>&#8221; deja de ser una actividad rara y cara, la pregunta deja de ser &#8220;&#191;c&#243;mo hacemos para construir m&#225;s?&#8221;. Pasa a ser: &#8220;&#191;c&#243;mo hacemos para que lo que se construye no se convierta en un puzzle imposible?&#8221;.</p><p>En ese mundo, las plataformas no desaparecen. Se convierten en el sitio donde decides qu&#233; va a escalar en tu empresa: la capacidad de creaci&#243;n o la complejidad de mantenimiento.</p><p>Y lo m&#225;s frustrante es que no se decide con un gran redise&#241;o ni con una migraci&#243;n &#233;pica. Se decide cerrar unas pocas cosas, hacerlas expl&#237;citas y convertirlas en caminos y guardrails ejecutables. Lo suficiente como para que automatizar sea barato, s&#237;, pero tambi&#233;n acumulativo.</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[El doble clic #11 — Semana del 19 de enero]]></title><description><![CDATA[IA en proyectos reales, agentes que funcionan cuando sabes qu&#233; medir y una oferta de trabajo para construir producto desde cero]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-11-semana-del-19-de</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-11-semana-del-19-de</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 26 Jan 2026 06:18:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mmqn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a la cuarta edici&#243;n de &#8220;<strong>El doble clic&#8221;</strong>, en 2026<em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><div><hr></div><p>&#127466;&#127480; (8&#8217;) En un art&#237;culo muy interesante, Alex Vaughtton <strong><a href="https://x.com/vaughtton/status/2012074312358826453">cuenta su primer a&#241;o haciendo proyectos reales con IA desde NocodeHackers</a></strong> y c&#243;mo eso les oblig&#243; a cambiar por completo su forma de trabajar. Explica que la IA ha reducido mucho los tiempos de desarrollo, pero ha hecho m&#225;s dif&#237;cil estimar, definir procesos y elegir herramientas, porque todav&#237;a no hay buenas pr&#225;cticas claras. Tambi&#233;n destaca que ahora el perfil clave no es solo t&#233;cnico, sino tambi&#233;n gente aut&#243;noma, con criterio, capaz de tratar con clientes y de dar buen contexto a la IA. La conclusi&#243;n es bastante directa: la IA acelera mucho, pero no elimina la complejidad, solo la mueve hacia la toma de decisiones, la gesti&#243;n del proyecto y la responsabilidad sobre lo que se entrega.</p><div><hr></div><p>&#127468;&#127463; (6&#8217;) <a href="https://www.linkedin.com/in/buytaert/">Dries Buytaert</a>, creador de Drupal, escribi&#243; un art&#237;culo sobre <strong><a href="https://dri.es/software-as-clay-on-the-wheel">c&#243;mo los agentes de IA empiezan a ser realmente &#250;tiles cuando el &#233;xito est&#225; muy bien definido</a></strong> desde el principio. A partir de ejemplos llamativos (dejar a una IA programando durante horas mientras uno hace su vida), explica que la clave no es la &#8220;magia&#8221; del modelo, sino tener criterios claros para saber si algo est&#225; bien o mal, normalmente a trav&#233;s de tests. Cuando eso existe, la IA puede iterar sola y avanzar mucho; cuando no, sigue siendo imprescindible el juicio humano. La idea de fondo es potente y bastante intuitiva: el valor del trabajo se est&#225; desplazando de la ejecuci&#243;n a la decisi&#243;n sobre qu&#233; significa hacerlo bien.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Esta publicaci&#243;n es gratis. Suscr&#237;bete y no te pierdas el mejor contenido tech en espa&#241;ol</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>&#128075; Hola, soy Jo&#227;o. Hoy estreno una peque&#241;a novedad en esta newsletter semanal: una minisecci&#243;n llamada <em>el ofert&#243;n</em>. La idea es sencilla: destacar cada semana una oferta de trabajo en una empresa europea que merezca la pena, bien pagada y que construya tecnolog&#237;a interesante.</p><p><a href="https://www.linkedin.com/in/nachog/">Nacho Gonz&#225;lez</a>, fundador de InfoJobs, Mailtrack y Hireflix, <strong><a href="https://www.linkedin.com/jobs/view/4362422213/?refId=DHDlAHkRQGWmGHqkExAaWA%3D%3D&amp;trackingId=DHDlAHkRQGWmGHqkExAaWA%3D%3D">busca su primer ingeniero full-stack</a></strong> para construir Hirevoice desde cero, con <em>ownership</em> y uso intensivo de IA en el d&#237;a a d&#237;a.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/jobs/view/4362422213/?refId=DHDlAHkRQGWmGHqkExAaWA%3D%3D&amp;trackingId=DHDlAHkRQGWmGHqkExAaWA%3D%3D&quot;,&quot;text&quot;:&quot;&#161;Me interesa!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/jobs/view/4362422213/?refId=DHDlAHkRQGWmGHqkExAaWA%3D%3D&amp;trackingId=DHDlAHkRQGWmGHqkExAaWA%3D%3D"><span>&#161;Me interesa!</span></a></p><p>&#128176; 60k&#8211;80k |&#128205; Barcelona (3 d&#237;as en la oficina) | &#129489;&#8205;&#128187; Python/React</p><div><hr></div><p>&#127468;&#127463; (2&#8217;) <a href="https://www.linkedin.com/in/aleixmorgadas/">Aleix Morgadas</a> reflexiona sobre <strong>una frase muy com&#250;n en retrospectivas: &#8220;la pr&#243;xima vez hay que planificar mejor&#8221;</strong> y cuestiona la idea de que siempre se puede saber todo de antemano. A partir de su experiencia, defiende que el verdadero aprendizaje llega haciendo, avanzando con informaci&#243;n imperfecta y aceptando cierta fricci&#243;n como parte del proceso.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:184938109,&quot;url&quot;:&quot;https://learnings.aleixmorgadas.dev/p/we-just-need-to-plan-it-better-next&quot;,&quot;publication_id&quot;:356759,&quot;publication_name&quot;:&quot;Engineering Strategy&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Jclx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b983592-e8a9-4295-8dbb-61e4de81a493_1280x1280.png&quot;,&quot;title&quot;:&quot;\&quot;We just need to plan it better next time\&quot;&quot;,&quot;truncated_body_text&quot;:&quot;I heard this sentence multiple times during my career, and sometimes said by myself.&quot;,&quot;date&quot;:&quot;2026-01-18T09:54:18.204Z&quot;,&quot;like_count&quot;:2,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:15961258,&quot;name&quot;:&quot;Aleix Morgadas&quot;,&quot;handle&quot;:&quot;aleixmorgadas&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4257b02b-4e15-4eac-aaff-581f6cf68ba0_3264x2700.png&quot;,&quot;bio&quot;:&quot;Everything about Engineering Strategy and Leadership.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-05-11T19:15:13.689Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-10-04T16:58:51.622Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:278740,&quot;user_id&quot;:15961258,&quot;publication_id&quot;:356759,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:356759,&quot;name&quot;:&quot;Engineering Strategy&quot;,&quot;subdomain&quot;:&quot;aleixmorgadas&quot;,&quot;custom_domain&quot;:&quot;learnings.aleixmorgadas.dev&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Sharing my learnings on Engineering Strategy and Leadership&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b983592-e8a9-4295-8dbb-61e4de81a493_1280x1280.png&quot;,&quot;author_id&quot;:15961258,&quot;primary_user_id&quot;:15961258,&quot;theme_var_background_pop&quot;:&quot;#67BDFC&quot;,&quot;created_at&quot;:&quot;2021-05-08T09:05:07.893Z&quot;,&quot;email_from_name&quot;:&quot;Aleix Morgadas&quot;,&quot;copyright&quot;:&quot;Aleix Morgadas&quot;,&quot;founding_plan_name&quot;:&quot;Founding Member&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;paused&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;aleixmorgadas&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://learnings.aleixmorgadas.dev/p/we-just-need-to-plan-it-better-next?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!Jclx!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b983592-e8a9-4295-8dbb-61e4de81a493_1280x1280.png" loading="lazy"><span class="embedded-post-publication-name">Engineering Strategy</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">"We just need to plan it better next time"</div></div><div class="embedded-post-body">I heard this sentence multiple times during my career, and sometimes said by myself&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">3 months ago &#183; 2 likes &#183; Aleix Morgadas</div></a></div><div><hr></div><p>&#127468;&#127463; (8&#8217;) <a href="https://www.linkedin.com/in/chrisgregori/">Chris Gregori</a> plantea que, aunque hoy crear c&#243;digo es m&#225;s f&#225;cil y barato que nunca gracias a la IA, <strong><a href="https://www.chrisgregori.dev/opinion/code-is-cheap-now-software-isnt">construir software que de verdad funcione, perdure y aporte valor sigue siendo dif&#237;cil</a></strong>. Describe un cambio claro hacia el &#8220;software personal&#8221;: herramientas peque&#241;as, hechas para resolver un problema concreto y a veces pensadas para usarse y tirarse, frente al modelo cl&#225;sico de SaaS. En ese contexto, la programaci&#243;n deja de ser el cuello de botella y lo importante pasa a ser entender bien el problema, tomar buenas decisiones y asumir la responsabilidad de lo que se construye y ah&#237; la experiencia, el criterio y el gusto siguen siendo insustituibles.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-11-semana-del-19-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico y gratuito. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-11-semana-del-19-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-11-semana-del-19-de?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><p>&#127468;&#127463; (30&#8217;) <a href="https://www.linkedin.com/in/martingarciamonterde/">Mart&#237;n Garc&#237;a</a> nos cuenta <strong><a href="https://magarcia.io/air-gapped-webrtc-breaking-the-qr-limit/">c&#243;mo pasar el progreso de un juego de un m&#243;vil a otro, sin cuentas ni servidores</a></strong>, le llev&#243; a una odisea de un d&#237;a entero que termin&#243; revelando algo m&#225;s profundo. El verdadero l&#237;mite no era el software, sino la realidad f&#237;sica de c&#243;mo se comunican los dispositivos. A trav&#233;s de la prueba y el error, con muchas ideas descartadas, acaba creando una forma ingeniosa de conectar dos tel&#233;fonos cara a cara usando solo c&#243;digos QR, demostrando que entender bien el problema y cuestionar las &#8220;buenas pr&#225;cticas&#8221; pueden abrir la puerta a soluciones.</p><div><hr></div><h1>Publicaciones en X</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mmqn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mmqn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png 424w, https://substackcdn.com/image/fetch/$s_!mmqn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png 848w, https://substackcdn.com/image/fetch/$s_!mmqn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png 1272w, https://substackcdn.com/image/fetch/$s_!mmqn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mmqn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png" width="1435" height="2966" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2966,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1370522,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/185664547?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mmqn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png 424w, https://substackcdn.com/image/fetch/$s_!mmqn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png 848w, https://substackcdn.com/image/fetch/$s_!mmqn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png 1272w, https://substackcdn.com/image/fetch/$s_!mmqn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8abe316-7d6d-4c43-bfc2-c0f9b6393b8b_1435x2966.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A16Z nos explica, con datos, el <em>boom</em> de las aplicaciones m&#243;viles en la era de la programaci&#243;n con agentes de IA. <a href="https://x.com/a16z/status/2014717695166710269">Fuente</a>.</figcaption></figure></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7qsb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fefdef9-f4ca-4252-a478-623d12457e06_1435x698.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7qsb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fefdef9-f4ca-4252-a478-623d12457e06_1435x698.png 424w, https://substackcdn.com/image/fetch/$s_!7qsb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fefdef9-f4ca-4252-a478-623d12457e06_1435x698.png 848w, https://substackcdn.com/image/fetch/$s_!7qsb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fefdef9-f4ca-4252-a478-623d12457e06_1435x698.png 1272w, https://substackcdn.com/image/fetch/$s_!7qsb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fefdef9-f4ca-4252-a478-623d12457e06_1435x698.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7qsb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fefdef9-f4ca-4252-a478-623d12457e06_1435x698.png" width="1435" height="698" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9fefdef9-f4ca-4252-a478-623d12457e06_1435x698.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:698,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:164725,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/185664547?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fefdef9-f4ca-4252-a478-623d12457e06_1435x698.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7qsb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fefdef9-f4ca-4252-a478-623d12457e06_1435x698.png 424w, https://substackcdn.com/image/fetch/$s_!7qsb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fefdef9-f4ca-4252-a478-623d12457e06_1435x698.png 848w, https://substackcdn.com/image/fetch/$s_!7qsb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fefdef9-f4ca-4252-a478-623d12457e06_1435x698.png 1272w, https://substackcdn.com/image/fetch/$s_!7qsb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fefdef9-f4ca-4252-a478-623d12457e06_1435x698.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Ethan Ding explicando que ciertas empresas grandes est&#225;n reevaluando el retorno de la inversi&#243;n en IA para agentes de programaci&#243;n. <a href="https://x.com/TheEthanDing/status/2013465333714055670">Fuente</a>.</figcaption></figure></div><p>Nos vemos <strong>el pr&#243;ximo jueves 29</strong>, con mi art&#237;culo semanal. Recuerda: si te ha gustado la <em>newsletter</em>, dale al &#8220;<em>like</em>&#8221; y suscr&#237;bete.</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[El decálogo de desastres en microservicios]]></title><description><![CDATA[C&#243;mo las buenas intenciones t&#233;cnicas pueden acabar en complejidad incontrolable.]]></description><link>https://enespanol.joaoqalves.net/p/el-decalogo-de-desastres-en-microservicios</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-decalogo-de-desastres-en-microservicios</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Thu, 22 Jan 2026 13:16:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_tvw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Cuando Martin Fowler public&#243; su famoso <a href="https://www.martinfowler.com/articles/microservices.html">art&#237;culo</a> sobre microservicios en 2014, muchos equipos ya estaban construyendo arquitecturas orientadas a servicios. Pero aquel post &#8212; y el <em>hype</em> que le sigui&#243; &#8212; se col&#243; en pr&#225;cticamente todos los equipos de software del planeta. El &#8220;<em><a href="https://netflixtechblog.com/netflix-oss-and-spring-boot-coming-full-circle-4855947713a0">stack</a></em><a href="https://netflixtechblog.com/netflix-oss-and-spring-boot-coming-full-circle-4855947713a0"> de Netflix</a>&#8221; era lo m&#225;s cool de la &#233;poca: una forma de aprovechar las lecciones aprendidas por Netflix sobre sistemas distribuidos. M&#225;s de una d&#233;cada despu&#233;s, casi todas las ofertas de ingenier&#237;a de software mencionan &#8220;arquitectura de microservicios&#8221; como si fuera la norma.</p><div><hr></div><p>Este art&#237;culo es una traducci&#243;n y adaptaci&#243;n de otros dos que escrib&#237;, en ingl&#233;s:</p><ul><li><p>&#8220;<a href="https://world.hey.com/joaoqalves/disasters-i-ve-seen-in-a-microservices-world-a9137a51">Disasters I&#8217;ve seen in a microservices World</a>&#8221; (2021)</p></li><li><p>&#8220;<a href="https://world.hey.com/joaoqalves/disasters-i-ve-seen-in-a-microservices-world-part-ii-9e6826bf">Disasters I&#8217;ve seen in a microservices World, part II</a>&#8221; (2025)</p></li></ul><div><hr></div><h1><em>Hype Driven Development</em></h1><p>A principios de la d&#233;cada de 2010, muchas organizaciones estaban desesperadas por mejorar su ciclo de desarrollo. Los equipos con decenas o cientos de ingenieros sufr&#237;an entornos pesados, pruebas lentas y despliegues programados. El libro &#8220;<em><a href="https://martinfowler.com/books/continuousDelivery.html">Continuous Delivery</a>&#8221;</em> de Fowler ayud&#243; a poner luz sobre esos problemas y muchos se dieron cuenta de que sus monolitos majestuosos estaban generando cuellos de botella organizativos.</p><p>Los microservicios sonaban a soluci&#243;n perfecta: m&#225;s peque&#241;os, m&#225;s &#225;giles, m&#225;s modernos. Era m&#225;s f&#225;cil empezar con una entrega continua desde cero que intentar introducirla en un monstruo de 200.000 l&#237;neas de c&#243;digo.</p><p>As&#237;, los equipos comenzaron a dividir sus sistemas en tres, diez o cien microservicios. Casi todos hablaban entre s&#237; usando &#8220;JSON sobre HTTP&#8221; (otros lo llamaban RESTful &#128521;). Parec&#237;a sencillo y, de repente, pod&#237;an desplegar en producci&#243;n en menos de 15 minutos. Se acab&#243; aquello de &#8220;el equipo A ha roto la CI y no puedo desplegar&#8221;. Pura felicidad.</p><p>Hasta que lleg&#243; el ba&#241;o de realidad. Resolver un problema organizativo a nivel de arquitectura tambi&#233;n introduc&#237;a complejidad. Una distinta. Las <a href="https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing">falacias de los sistemas distribuidos</a> empezaron a hacerse muy reales: latencias, ca&#237;das parciales, consistencia eventual, logs imposibles de seguir. Lo que antes era un &#250;nico sistema estable se convert&#237;a en un ecosistema de piezas que fallaban por separado. Y, como no, todas a la vez.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Suscr&#237;bete gratis para recibir nuevos art&#237;culos y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h1>#1 Servicios demasiado peque&#241;os</h1><p>La posibilidad de crear nuevos servicios cada d&#237;a desat&#243; la creatividad.Una nueva funcionalidad: &#161;bam! Un servicio nuevo. En poco tiempo, equipos de 20 personas manten&#237;an 50 microservicios. Uno por cabeza&#8230; y algunos sobraban.</p><p>Cada servicio ten&#237;a su propio ciclo de vida, dependencias, versiones y frameworks. Propagar una actualizaci&#243;n de librer&#237;as o <em>frameworks</em> era una pesadilla. Peor a&#250;n: algunos servicios depend&#237;an de que otros se desplegaran a la vez. Y hubo quien incluso escribi&#243; microservicios solo para generar CSV. S&#237;, un <em>network hop</em> para un fichero de texto.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_tvw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_tvw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!_tvw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!_tvw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!_tvw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_tvw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8165349,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/177840574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_tvw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!_tvw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!_tvw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!_tvw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2972ae2-cafd-470d-9b9b-6008f288fd17_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Cuando se resuelven problemas organizativos a nivel de arquitectura, se introduce una complejidad distinta. Imagen generada con Gemini / NanoBanana.</figcaption></figure></div><p>Lo llamamos <em>servicitis</em>: una fiebre que multiplica servicios sin control y hace imposible razonar sobre el sistema. Abrir el IDE ya no bastaba. Hab&#237;a que tener seis proyectos abiertos para entender algo.</p><div><hr></div><h1>#2 Entornos de desarrollo imposibles</h1><p>&#191;Qui&#233;n no ha escuchado esto?</p><blockquote><p>&#8220;Oye, necesitamos arreglar los entornos de desarrollo, la gente se est&#225; quejando todo el tiempo.&#8221;</p></blockquote><p>En sistemas distribuidos, los entornos de desarrollo son una pesadilla cara y fr&#225;gil:</p><ul><li><p>&#191;Cu&#225;nto cuesta levantar 200 servicios en la nube?</p></li><li><p>&#191;Y mantenerlos sincronizados con producci&#243;n?</p></li><li><p>&#191;Qu&#233; pasa con los datos de prueba, coherentes entre los servicios?</p></li><li><p>&#191;Y con las <em>feature flags</em> y las configuraciones por regi&#243;n?</p></li></ul><p>Hacerlo bien requiere una infraestructura de lujo que pocas empresas pueden permitirse. Y hacerlo mal significa frustrar a los equipos d&#237;a s&#237;, d&#237;a tambi&#233;n.</p><div><hr></div><h1>#3 Los test <em>end-to-end</em></h1><p>Antes, con un monolito, bastaba con un entorno de staging y un par de bater&#237;as de pruebas de Selenium para dormir tranquilo. Con microservicios, eso muri&#243;. Ahora solo puedes afirmar que &#8220;una combinaci&#243;n concreta de versiones y configuraciones funciona hoy&#8221;. Ma&#241;ana, qui&#233;n sabe.</p><p>Era muy dif&#237;cil convencer a la gente de que no pod&#237;amos tener m&#225;s que un par de estas pruebas. Encima, muchos equipos segu&#237;an corri&#233;ndolas en CI, una vez al d&#237;a, como si eso sirviera de algo. La realidad es que deber&#237;an ejecutarse de forma continua, incluso en producci&#243;n, como defend&#237;a Cindy Sridharan en su m&#237;tico art&#237;culo &#8220;<em><a href="https://copyconstruct.medium.com/testing-in-production-the-safe-way-18ca102d0ef1">Testing in production, the safe way</a>&#8221;</em>.</p><div><hr></div><h1>#4 La gran base de datos compartida</h1><p>El paso l&#243;gico para &#8220;romper el monolito sin romper los datos&#8221; fue mantener una base de datos com&#250;n. Parec&#237;a lo m&#225;s f&#225;cil: menos carga operativa, consistencia asegurada&#8230; hasta que no. &#191;Un usuario por servicio? &#191;Permisos granulares por tabla? &#191;Qu&#233; pasa si alguien borra un &#237;ndice? &#191;O si un servicio empieza a escribir donde no debe?</p><p>La base de datos compartida se convirti&#243; en un cuello de botella y, muchas veces, en el verdadero monolito escondido. Migrar o desentrelazar todo eso, a&#241;os despu&#233;s, fue una pesadilla en diferido.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-decalogo-de-desastres-en-microservicios?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es gratis. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-decalogo-de-desastres-en-microservicios?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-decalogo-de-desastres-en-microservicios?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><h1>#5 El API <em>Gateway</em> como el nuevo monolito</h1><p>El <em>API Gateway</em> suele presentarse como una capa &#8220;neutral&#8221;: autenticar, enrutar y poco m&#225;s. En la pr&#225;ctica, acaba siendo el lugar donde <strong>todo el mundo pone lo que no sabe d&#243;nde encajar</strong>.</p><p>Y llegan las agregaciones espec&#237;ficas para el <em>frontend</em>, las excepciones &#8220;temporales&#8221; que nunca se van,  los versionados <em>ad hoc</em>, etc. Cada equipo empuja un poco porque es m&#225;s barato hacerlo ah&#237; que tocar su servicio. El resultado no es solo t&#233;cnico, es <strong>organizativo</strong>:</p><ul><li><p>Un equipo central que se convierte en cuello de botella, o un <em>gateway</em> &#8220;de todos&#8221; que en la pr&#225;ctica no es de nadie</p></li><li><p>Cambios que requieren alineamiento transversal, pero sin un responsable claro de aceptar el riesgo</p></li><li><p>Un sistema cuyo ritmo de evoluci&#243;n queda limitado por el riesgo percibido de modificar el <em>gateway</em></p><p></p></li></ul><p><strong>Lo que deb&#237;a ser una capa ligera terminaba convirti&#233;ndose en un cuello de botella</strong> cr&#237;tico. Y, por supuesto, en un &#250;nico punto de fallo.</p><div><hr></div><h1>#6 El <em>gateway</em> como <em>hotspot</em> operativo</h1><p>Autenticaci&#243;n, autorizaci&#243;n, validaci&#243;n de tokens, <em>multitenancy</em>, <em>rate limiting</em>, traducci&#243;n de protocolos. Cada request ejecuta l&#243;gica cara, a menudo con criptograf&#237;a, sobre <em>runtimes</em> generalistas y configuraciones por defecto.</p><p>Aqu&#237; el problema no es el ownership, es la <strong>f&#237;sica del sistema</strong>:</p><ul><li><p><em>thread pools</em> que se agotan</p></li><li><p>I/O bloqueante en el peor sitio posible</p></li><li><p><em>Timeouts</em> mal calibrados que provocan fallos en cascada</p></li></ul><p>He visto gateways caer sin un solo bug. Simplemente lleg&#243; m&#225;s tr&#225;fico del esperado y nadie hab&#237;a tocado la configuraci&#243;n. El sistema no fall&#243;: hizo exactamente lo que le pedimos hasta que ya no pudo m&#225;s.</p><p>Construir gateways fiables no es cuesti&#243;n de YAML ni de declaraciones de intenci&#243;n. Es entender c&#243;mo se comporta el sistema cuando la presi&#243;n no baja: qu&#233; pasa con las colas, d&#243;nde se acumulan las esperas y c&#243;mo reacciona el <em>runtime</em> cuando todo va justo. Y eso, casi siempre, se descubre demasiado tarde.</p><div><hr></div><h1>#7 <em>Timeouts</em>, reintentos y resiliencia</h1><p>Los sistemas distribuidos est&#225;n en estado de fallo parcial constante. Cuando el servicio A no puede comunicarse con el B, la reacci&#243;n natural es &#8220;hagamos un reintento&#8221;. Pero ese peque&#241;o gesto te mete en la madriguera del conejo.Aumentar los timeouts, ignorar colas saturadas o malconfigurar los thread pools puede convertir un fallo puntual en un colapso total.</p><p>He visto equipos generar sus propias denegaciones de servicio distribuidas (DDoS) desde los m&#243;viles de los usuarios porque sus reintentos de conexi&#243;n no ten&#237;an <em>backoff</em> ni <em>jitter</em>. Y s&#237;, todo empez&#243; con &#8220;solo vamos a reintentar tres veces&#8221;.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><h1>#8 M&#225;s servicios que ingenieros</h1><p>He perdido la cuenta de los equipos con m&#225;s servicios que personas. Y no me refiero a &#8220;un poco m&#225;s&#8221;, sino a cuatro o cinco servicios por ingeniero. Sobre el papel suena bien: &#8220;hemos modularizado todo&#8221;. En la pr&#225;ctica, significa que cada persona es due&#241;a, operadora y responsable de media docena de sistemas distribuidos.</p><p>En gigantes como Google o Uber, con plataformas internas potentes y automatizaci&#243;n avanzada, puede funcionar. En el resto del mundo, es un desastre a c&#225;mara lenta: cada nuevo servicio a&#241;ade sobrecarga cognitiva, pipelines, dashboards, alerts, secrets y dependencias. Cuando llega una reorg, esos servicios se quedan hu&#233;rfanos, corriendo solos en la oscuridad.</p><div><hr></div><h1>#9 El zoo tecnol&#243;gico</h1><p>Muchas empresas dicen valorar la autonom&#237;a de ingenier&#237;a, pero pocas se detienen a definir qu&#233; significa en la pr&#225;ctica y qu&#233; l&#237;mites tiene en su contexto. Cuando se ejerce sin fricci&#243;n ni criterios compartidos, la autonom&#237;a no suele traducirse en decisiones expl&#237;citas, sino en acumulaci&#243;n: un servicio en Kotlin porque era lo m&#225;s c&#243;modo en ese momento, otro en Go por rendimiento, otro en Node por rapidez, varias bases de datos distintas y, con el tiempo, sistemas que solo una persona sabe operar con soltura.</p><p>No es dejadez ni falta de profesionalidad, sino una consecuencia natural de equipos bienintencionados que optimizan localmente. El problema es que cada <em>stack</em> nuevo a&#241;ade carga operativa, superficie de ataque y coste de incorporaci&#243;n, y ese coste rara vez es visible al principio.</p><p>Suele aparecer m&#225;s tarde, cuando hay que rotar equipos, integrar a gente nueva o modificar servicios que llevan a&#241;os funcionando sin tocar. Es entonces cuando esos sistemas, que parec&#237;an razonables de forma aislada, se convierten en puntos fr&#225;giles del conjunto.</p><p>Con el tiempo, muchas organizaciones han empezado a introducir mecanismos de contenci&#243;n como cat&#225;logos internos, revisiones de arquitectura o <em>tech radars</em>. No eliminan la entrop&#237;a, pero ayudan a hacerla visible antes de que se convierta en un problema sist&#233;mico.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-decalogo-de-desastres-en-microservicios?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-decalogo-de-desastres-en-microservicios?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p><div><hr></div><h1>#10 Cuando el organigrama dicta la arquitectura</h1><p>Relacionado con el anterior, pero a&#250;n m&#225;s perverso: dise&#241;ar tu arquitectura en funci&#243;n del organigrama. Imagina la situaci&#243;n: tenemos un equipo de &#8220;Pagos&#8221; con su namespace en Kubernetes, su stack de Terraform y sus alarmas en su canal de Slack. Todo limpio&#8230; hasta la pr&#243;xima reorg.</p><p>Entra un nuevo VP con nuevas ideas y una nueva estructura. De repente, &#8220;Pagos&#8221; y &#8220;Suscripciones&#8221; se separan, pero toda la infraestructura sigue compartida. Opciones: compartirlo todo (y crear un infierno de dependencias) o migrarlo todo (un proyecto de seis meses sin valor para el usuario).</p><p>As&#237; nace una de las deudas t&#233;cnicas m&#225;s costosas: el <em>drift</em> arquitect&#243;nico provocado por la evoluci&#243;n organizativa. Y s&#237;, suele triplicar cualquier presupuesto no planificado.</p><div><hr></div><h1>La nueva normalidad</h1><p>Han pasado m&#225;s de diez a&#241;os y muchos de los problemas se repiten. Cambian los <em>frameworks</em> y el <em>tooling</em>, pero no la naturaleza del sistema. Seguimos construyendo sistemas distribuidos y siguen comport&#225;ndose como tales.</p><p>Ahora el foco est&#225; en los agentes de IA: componentes con estado, que toman decisiones y se comunican entre s&#237;. El paralelismo es evidente. De nuevo aparecen los mismos puntos ciegos: latencia, consistencia, observabilidad, comportamiento no determinista. El hecho de que el componente &#8220;razone&#8221; no elimina ninguno de ellos.</p><p>El patr&#243;n suele ser el mismo: entusiasmo inicial, soluciones creativas para problemas reales y, con el tiempo, una acumulaci&#243;n de complejidad dif&#237;cil de revertir. No es una cuesti&#243;n de modas, sino de l&#237;mites.</p><p>Seguiremos aprendiendo, como siempre. Y, como casi siempre, lo haremos despu&#233;s de que los sistemas fallen de formas que ahora mismo parecen obvias.</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[El doble clic #10 — Semana del 19 de enero]]></title><description><![CDATA[C&#243;mo adoptar IA en una empresa regulada, generando tus propias oportunidades de carrera y &#161;mucho m&#225;s!]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-10-semana-del-19-de</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-10-semana-del-19-de</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 19 Jan 2026 06:14:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!EPUT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a &#8220;<strong>El doble clic&#8221;</strong>, tercera edici&#243;n de 2026<em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><div><hr></div><p>&#127466;&#127480; (8&#8217;) <a href="https://www.linkedin.com/in/flopezluis/">F&#233;lix L&#243;pez</a>, VP of Engineering de Technosylva, nos trae una propuesta muy pr&#225;ctica para impulsar la adopci&#243;n de IA en una empresa grande y regulada: facilitar pruebas r&#225;pidas con reglas claras, presupuesto limitado y aprendizaje documentado, y acompa&#241;arlo con <em>champions</em> por departamento que acerquen la IA a cada contexto de trabajo. El enfoque se completa con procesos simples para escalar herramientas, visibilidad compartida y un <em>AI Board</em> que vela por que la adopci&#243;n sea real, &#250;til y sostenible.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:182842958,&quot;url&quot;:&quot;https://flopezluis.substack.com/p/nuestra-estrategia-para-la-adopcion&quot;,&quot;publication_id&quot;:266068,&quot;publication_name&quot;:&quot;Ask me Engineering Manager edition&quot;,&quot;publication_logo_url&quot;:null,&quot;title&quot;:&quot;Nuestra estrategia para la adopci&#243;n de AI&quot;,&quot;truncated_body_text&quot;:&quot;Inspirado por el post de Lethain sobre la estrategia para fomentar la adopci&#243;n de AI que han desarrollado en su empresa he decidido contar c&#243;mo lo estamos haciendo nosotros.&quot;,&quot;date&quot;:&quot;2025-12-29T15:11:22.668Z&quot;,&quot;like_count&quot;:14,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:25366941,&quot;name&quot;:&quot;F&#233;lix L&#243;pez&quot;,&quot;handle&quot;:&quot;flopezluis&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4e1ce2d4-8d97-4029-9f20-e4fe3dc0ef4b_400x400.jpeg&quot;,&quot;bio&quot;:&quot;Vp of Engineering @tinybirdco ex @eventbrite @google. Management, critical thinking &amp; psychology https://t.co/VtZFrTYYfj&quot;,&quot;profile_set_up_at&quot;:&quot;2023-03-31T06:59:47.612Z&quot;,&quot;reader_installed_at&quot;:null,&quot;publicationUsers&quot;:[{&quot;id&quot;:192777,&quot;user_id&quot;:25366941,&quot;publication_id&quot;:266068,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:266068,&quot;name&quot;:&quot;Ask me Engineering Manager edition&quot;,&quot;subdomain&quot;:&quot;flopezluis&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Dudas sobre Engineering management &quot;,&quot;logo_url&quot;:null,&quot;author_id&quot;:25366941,&quot;primary_user_id&quot;:25366941,&quot;theme_var_background_pop&quot;:&quot;#FF81CD&quot;,&quot;created_at&quot;:&quot;2021-01-19T19:17:58.238Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;F&#233;lix L&#243;pez&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:&quot;en&quot;,&quot;explicit&quot;:false,&quot;homepage_type&quot;:null,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;flopezluis&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:false,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://flopezluis.substack.com/p/nuestra-estrategia-para-la-adopcion?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><span></span><span class="embedded-post-publication-name">Ask me Engineering Manager edition</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Nuestra estrategia para la adopci&#243;n de AI</div></div><div class="embedded-post-body">Inspirado por el post de Lethain sobre la estrategia para fomentar la adopci&#243;n de AI que han desarrollado en su empresa he decidido contar c&#243;mo lo estamos haciendo nosotros&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">3 months ago &#183; 14 likes &#183; F&#233;lix L&#243;pez</div></a></div><div><hr></div><p>&#127468;&#127463; (10&#8217;) <a href="https://www.linkedin.com/in/alrocar/">Alberto Romeu</a> y <a href="https://www.linkedin.com/in/pabloabellavallina/">Pablo Abella</a>, de Tinybird, nos cuentan <a href="https://www.tinybird.co/blog/how-we-built-tinybird-wrapped">c&#243;mo han creado su propio </a><em><a href="https://www.tinybird.co/blog/how-we-built-tinybird-wrapped">Wrapped</a></em> &#8212; al estilo de Spotify &#8212; para que cada cliente pueda ver un resumen anual de su uso de la plataforma. Explican c&#243;mo aprovechan los datos que ya ten&#237;an, los integran desde distintas regiones y los presentan de forma r&#225;pida, segura y visualmente atractiva, convirtiendo una idea de producto muy reconocible en una funcionalidad real construida en apenas unos d&#237;as.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Esta publicaci&#243;n es gratis. Suscr&#237;bete y no te pierdas el mejor contenido tech en espa&#241;ol</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>&#127468;&#127463; (5&#8217;) <a href="https://www.linkedin.com/in/fabi%C3%A1n-sell%C3%A9s-rosa-37108b27/">Fabi&#225;n Sell&#233;s</a>, de<strong> </strong>Adevinta<strong>, </strong>explica c&#243;mo <a href="https://medium.com/learnings-from-the-paas/a-tale-of-expired-iam-credentials-9f0ef885a770">una actualizaci&#243;n de Kubernetes destap&#243; un problema latente en KIAM</a>: unos <em>tokens</em> de servicio que dejaron de renovarse como antes y provocaron fallos intermitentes en pods cr&#237;ticos. Un buen ejemplo de c&#243;mo cambios aparentemente menores en la plataforma pueden romper dependencias antiguas y de por qu&#233; la deuda t&#233;cnica en componentes de autenticaci&#243;n e infraestructura acaba pasando factura.</p><div><hr></div><p>&#127468;&#127463; (4&#8217;) <a href="https://www.linkedin.com/in/matheuslima/">Matheus Lima</a> defiende que el crecimiento profesional no siempre llega de la mano de proyectos &#8220;estrella&#8221; asignados por tu <em>manager</em>, sino de saber transformar tareas normales en oportunidades de mayor impacto. A partir de un ejemplo muy concreto, argumenta que el trabajo con m&#225;s palanca suele ser visible, ayuda a otros y compone en el tiempo, y que buscar ese tipo de mejoras en tu jornada es una de las formas m&#225;s efectivas de avanzar en tu carrera.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-10-semana-del-19-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico y gratuito. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-10-semana-del-19-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-10-semana-del-19-de?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><p>&#127468;&#127463; (10&#8217;) <a href="https://www.linkedin.com/in/piffio/">Sergio Visinoni</a>, autor de &#8220;<a href="https://makemeacto.substack.com/">Sudo make me a CTO</a>&#8221;, propone un enfoque m&#225;s intencional y realista para planificar el a&#241;o, alej&#225;ndose de los prop&#243;sitos cl&#225;sicos y apostando por pocos objetivos bien elegidos repartidos entre distintas &#225;reas de la vida, no solo el trabajo. La idea es revisar el a&#241;o anterior, definir una prioridad clara por &#225;mbito, reducir esos objetivos a hitos trimestrales y respaldarlos con un sistema sencillo de h&#225;bitos y revisiones peri&#243;dicas, de forma que el progreso sea sostenible y no se quede en buenas intenciones.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:183532421,&quot;url&quot;:&quot;https://makemeacto.substack.com/p/setting-your-2026-goals&quot;,&quot;publication_id&quot;:932543,&quot;publication_name&quot;:&quot;Sudo Make Me a CTO&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!3h_I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35aaf2d1-461d-4765-a380-bd6b2daf4c23_800x800.png&quot;,&quot;title&quot;:&quot;Setting your 2026 goals&quot;,&quot;truncated_body_text&quot;:&quot;I do believe in planning, as that&#8217;s how we become increasingly intentional with the use of our time.&quot;,&quot;date&quot;:&quot;2026-01-07T06:00:55.569Z&quot;,&quot;like_count&quot;:12,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:35867886,&quot;name&quot;:&quot;Sergio Visinoni&quot;,&quot;handle&quot;:&quot;makemeacto&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1efd454b-1c23-4445-a7a5-2316b811649c_2536x2890.png&quot;,&quot;bio&quot;:&quot;Born in Italy before the Internet, I lived across many countries and settled in the greater Barcelona area a few years ago. As a father of two, I spend my time between family, my Engineering / Tech Leader job, and building stuff with my hands.&quot;,&quot;profile_set_up_at&quot;:&quot;2022-06-09T08:56:51.945Z&quot;,&quot;reader_installed_at&quot;:&quot;2023-04-27T19:18:56.010Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:875842,&quot;user_id&quot;:35867886,&quot;publication_id&quot;:932543,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:932543,&quot;name&quot;:&quot;Sudo Make Me a CTO&quot;,&quot;subdomain&quot;:&quot;makemeacto&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Insights and tips for aspiring, current and experienced Engineering Leaders drawn from more than 15 years operating at this capacity&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35aaf2d1-461d-4765-a380-bd6b2daf4c23_800x800.png&quot;,&quot;author_id&quot;:35867886,&quot;primary_user_id&quot;:35867886,&quot;theme_var_background_pop&quot;:&quot;#B599F1&quot;,&quot;created_at&quot;:&quot;2022-06-12T19:43:20.717Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Sergio Visinoni&quot;,&quot;founding_plan_name&quot;:&quot;Founding Member&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;piffio&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:1,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;subscriber&quot;,&quot;tier&quot;:1,&quot;accent_colors&quot;:null},&quot;paidPublicationIds&quot;:[1638029,1744395],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://makemeacto.substack.com/p/setting-your-2026-goals?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!3h_I!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35aaf2d1-461d-4765-a380-bd6b2daf4c23_800x800.png" loading="lazy"><span class="embedded-post-publication-name">Sudo Make Me a CTO</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Setting your 2026 goals</div></div><div class="embedded-post-body">I do believe in planning, as that&#8217;s how we become increasingly intentional with the use of our time&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">3 months ago &#183; 12 likes &#183; Sergio Visinoni</div></a></div><div><hr></div><h1>Publicaciones en X</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EPUT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EPUT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png 424w, https://substackcdn.com/image/fetch/$s_!EPUT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png 848w, https://substackcdn.com/image/fetch/$s_!EPUT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png 1272w, https://substackcdn.com/image/fetch/$s_!EPUT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EPUT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png" width="1358" height="751" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:751,&quot;width&quot;:1358,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:175408,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/184154031?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EPUT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png 424w, https://substackcdn.com/image/fetch/$s_!EPUT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png 848w, https://substackcdn.com/image/fetch/$s_!EPUT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png 1272w, https://substackcdn.com/image/fetch/$s_!EPUT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6836a739-f31b-4d1a-b3e3-56e34cbf1885_1358x751.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Mitchell Hashimoto comenta el estado actual del volumen de <em>Pull Requests</em> generadas por IA que ciertos proyectos de c&#243;digo abierto reciben. <a href="https://x.com/mitchellh/status/2011819428061855915?s=20">Fuente</a>.</figcaption></figure></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MN07!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8591687-0962-4556-8552-2964d39f5088_1132x2306.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MN07!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8591687-0962-4556-8552-2964d39f5088_1132x2306.png 424w, https://substackcdn.com/image/fetch/$s_!MN07!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8591687-0962-4556-8552-2964d39f5088_1132x2306.png 848w, https://substackcdn.com/image/fetch/$s_!MN07!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8591687-0962-4556-8552-2964d39f5088_1132x2306.png 1272w, https://substackcdn.com/image/fetch/$s_!MN07!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8591687-0962-4556-8552-2964d39f5088_1132x2306.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MN07!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8591687-0962-4556-8552-2964d39f5088_1132x2306.png" width="1132" height="2306" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8591687-0962-4556-8552-2964d39f5088_1132x2306.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2306,&quot;width&quot;:1132,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:543908,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/184154031?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8591687-0962-4556-8552-2964d39f5088_1132x2306.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MN07!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8591687-0962-4556-8552-2964d39f5088_1132x2306.png 424w, https://substackcdn.com/image/fetch/$s_!MN07!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8591687-0962-4556-8552-2964d39f5088_1132x2306.png 848w, https://substackcdn.com/image/fetch/$s_!MN07!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8591687-0962-4556-8552-2964d39f5088_1132x2306.png 1272w, https://substackcdn.com/image/fetch/$s_!MN07!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8591687-0962-4556-8552-2964d39f5088_1132x2306.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Un <em>post</em> con un tono humor&#237;stico sobre la consultor&#237;a y el sector p&#250;blico en Espa&#241;a. <a href="https://x.com/XMihura/status/2011737784277500186?s=20">Fuente</a>.</figcaption></figure></div><p>&#161;Esto es todo! Nos vemos <strong>el pr&#243;ximo jueves 22</strong>, con mi art&#237;culo semanal. Recuerda: si te ha gustado la <em>newsletter</em>, dale al &#8220;<em>like</em>&#8221; y suscr&#237;bete.</p><p>&#8212; Jo&#227;o</p><p></p>]]></content:encoded></item><item><title><![CDATA[Antipatrones de un Tech Lead]]></title><description><![CDATA[Cinco formas en las que un TL pierde impacto sin notarlo]]></description><link>https://enespanol.joaoqalves.net/p/antipatrones-de-un-tech-lead</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/antipatrones-de-un-tech-lead</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Thu, 15 Jan 2026 08:21:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UGBO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hay una frase que he o&#237;do demasiadas veces en boca de <em>Tech Leads</em> (TL). Para este art&#237;culo, vamos a hablar de Cristian (nombre ficticio):</p><blockquote><p>Yo ya he dicho lo que pensaba y no ha cuajado. All&#225; ellos.</p></blockquote><p>Seguramente Cristian lo ha dicho en una reuni&#243;n, lo ha dejado por escrito en un documento y lo ha explicado en Slack, con contexto y argumentos. Y aun as&#237;, el equipo &#8212; u otros Staff Engineers, arquitectos, etc. &#8212; ha seguido otro camino o no ha hecho nada.</p><p>Desde dentro, eso se vive como frustraci&#243;n. Desde fuera, muchas veces, como ruido. La mayor&#237;a de los TL no llega a esta situaci&#243;n por dejadez ni por falta de criterio. Llega porque se implica, ve riesgos y siente responsabilidad tanto por el sistema como por el equipo. Precisamente por eso, esta situaci&#243;n duele tanto.</p><p>Aqu&#237; hay una distinci&#243;n inc&#243;moda que cuesta aceptar: <strong>decir lo que piensas no es ejercer el liderazgo t&#233;cnico</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UGBO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UGBO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!UGBO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!UGBO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!UGBO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UGBO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1423007,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/183918950?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UGBO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!UGBO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!UGBO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!UGBO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F117bcee0-77ac-448b-8915-ea04d76a92ec_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Entre tener raz&#243;n y mover al equipo hay algo m&#225;s. Imagen generada con Gemini 3 / NanoBanana.</figcaption></figure></div><p>Ni tener raz&#243;n, ni advertir riesgos, ni opinar con criterio son suficientes. Y cuando un TL siente que la aguja no se mueve, empieza a compensar. Ah&#237; es donde aparecen los antipatrones: no como fallos evidentes ni como malas intenciones, sino como respuestas razonables a una frustraci&#243;n real que se va acumulando cuando el criterio no consigue mover nada.</p><p><strong>Nota</strong>: en este punto el plan era hablar de <em>cinco</em> antipatrones. Luego <a href="https://www.linkedin.com/in/fabi%C3%A1n-sell%C3%A9s-rosa-37108b27/">Fabi&#225;n</a> &#8212; <em>Tech Lead</em> y c&#243;mplice habitual en estas revisiones &#8212; me se&#241;al&#243; uno m&#225;s. Ten&#237;a raz&#243;n y, por lo tanto, esto empieza en el #0. Aprovecho para agradecer su revisi&#243;n del art&#237;culo.</p><div><hr></div><h1>#0 El que no ejerce el rol</h1><p>Antes de los antipatrones visibles, suele haber otro que lo sea menos. A veces no hay fricci&#243;n ni conflictos visibles. El equipo entrega, las reuniones se llevan a cabo y las decisiones se toman. Precisamente por eso, este escenario pasa desapercibido durante demasiado tiempo.</p><p>El problema no es lo que ocurre hoy, sino lo que no ocurre. Nadie est&#225; mirando el sistema en su conjunto. Nadie est&#225; empujando una direcci&#243;n t&#233;cnica clara. Nadie est&#225; convirtiendo las decisiones locales en coherencia global.</p><p>Suele pasar cuando el TL anterior se fue y nadie ha ocupado realmente ese espacio. O cuando el ingeniero m&#225;s senior hered&#243; el t&#237;tulo sin que se redefiniera el rol. O en fases de crecimiento r&#225;pido, cuando se promociona a quien m&#225;s produce porque &#8220;ya conoce el sistema&#8221;.</p><p>En el d&#237;a a d&#237;a, el TL est&#225; presente, pero no ejerce direcci&#243;n. No empuja principios, no anticipa riesgos y no articula decisiones t&#233;cnicas que vayan m&#225;s all&#225; de lo inmediato. No bloquea, pero tampoco desbloquea. No es que decida mal. Simplemente, no decide.</p><p>El efecto no es inmediato. Cada ingeniero empieza a optimizar en su parcela. Las decisiones se toman de forma local y el criterio se fragmenta. Y cuando aparece un problema estructural, nadie siente que le corresponda asumirlo.</p><p>Esto suele confundirse con la autonom&#237;a, pero en realidad es un vac&#237;o. El equipo no depende del TL, pero tampoco crece en torno a una direcci&#243;n compartida. Avanza, pero sin acumular criterio ni velocidad a largo plazo.</p><div><hr></div><h1>#1 El opinador, sin <em>ownership</em></h1><p>Hay un momento muy reconocible en el que empieza este antipatr&#243;n. Cristian sigue participando en las conversaciones, se&#241;alando riesgos y aportando criterio.</p><p>Cristian empieza a refugiarse en una idea tranquilizadora: <em>&#8220;Yo ya he cumplido con mi parte&#8221;</em>. Ha dado su opini&#243;n, ha dejado constancia y ha advertido de los riesgos. Si la decisi&#243;n sale mal, no ser&#225; por falta de aviso. Ese razonamiento es comprensible, pero peligroso.</p><p>A partir de ese punto, Cristian deja de empujar decisiones y se limita a emitir diagn&#243;sticos. Su criterio sigue siendo bueno, pero ya no genera movimiento. Est&#225; presente en la conversaci&#243;n, pero no en el resultado.</p><p>Ese desfase entre c&#243;mo Cristian se ve a s&#237; mismo y c&#243;mo empieza a percibirse suele aflorar en conversaciones inc&#243;modas. A veces, en un 1:1:</p><blockquote><p><strong>J</strong>o&#227;o: Oye, &#191;c&#243;mo ves al equipo &#250;ltimamente?</p><p><strong>C</strong>ristian: Bien, m&#225;s o menos como siempre. Yo ya he dicho lo que pensaba sobre el tema de la latencia y el dise&#241;o nuevo. Si luego se decide otra cosa&#8230;</p><p>J: Ya. El problema es que, desde fuera, da la sensaci&#243;n de que opinas mucho, pero que no est&#225;s empujando nada en concreto.</p><p>C: &#191;C&#243;mo que no empujo? Si llevo semanas avisando de los riesgos.</p><p>J: S&#237;, pero avisar no es lo mismo que liderar una decisi&#243;n. El equipo sale de las reuniones sabiendo lo que no te convence, pero sin saber qu&#233; har&#237;as t&#250; distinto ni qu&#233; est&#225;s dispuesto a priorizar para cambiarlo.</p><p>C: &#8230; (se le ve enfadado)</p><p>J: No te lo digo como reproche. De hecho, tu criterio es bueno. Pero ahora mismo tu opini&#243;n no est&#225; ayudando a que el equipo decida m&#225;s r&#225;pido. Al contrario, les deja en una especie de tierra de nadie.</p></blockquote><p>Con el tiempo, pasan dos cosas:</p><ol><li><p>Por un lado, <strong>las decisiones se toman </strong><em><strong>a pesar</strong></em><strong> de Cristian</strong>, no <em>con</em> Cristian. Su opini&#243;n se escucha, pero pierde peso. Por otro lado, la frustraci&#243;n aumenta, porque siente que su criterio no cambia nada</p></li><li><p><strong>Aqu&#237; el rol empieza a degradarse</strong> sin que nadie lo haya decidido expl&#237;citamente. Al asumir que su responsabilidad termina en la opini&#243;n, Cristian reduce su impacto sin darse cuenta. Su criterio deja de ser una palanca y pasa a ser un comentario m&#225;s</p></li></ol><p>Este suele ser el primer paso. Cuando opinar deja de funcionar, la tentaci&#243;n es compensar de otras formas. Y ah&#237; es donde empieza a aparecer el resto de problemas.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><p>&#128075; Hola, soy Jo&#227;o. Este es el segundo art&#237;culo de una serie pensada para <em>Tech Leads</em> y <em>Engineering Managers</em> que quieren liderar con m&#225;s claridad e intenci&#243;n:</p><ol><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead">Se&#241;ales de un buen </a><em><a href="https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead">Tech Lead</a></em>&#8221;</p></li><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/soy-tech-lead-y-no-me-hacen-caso">Soy Tech Lead y no me hacen caso. &#191;Qu&#233; hago?</a>&#8221;</p></li><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/excelencia-operacional-la-palanca">Excelencia Operacional, la palanca del </a><em><a href="https://enespanol.joaoqalves.net/p/excelencia-operacional-la-palanca">Tech Lead</a></em>&#8221;</p></li><li><p>&#8220;Antipatrones de un Tech Lead&#8221; &#8592; Este art&#237;culo</p></li><li><p>Continuar&#225;&#8230; &#8592; Suscr&#237;bete para no perderlo.</p></li></ol><p>Estoy escribiendo &#8220;El Manual del Tech Lead&#8221;, cuyo lanzamiento est&#225; previsto para la primera mitad de 2026. Las ideas de esta serie ser&#225;n su base.</p><p><strong>Si quieres unirte a la lista de espera, recibir&#225;s un 25 % de descuento</strong> en el lanzamiento. Ya hay m&#225;s de 100 <em>Tech Leads</em> y <em>Engineering Managers</em> en la lista de espera.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://forms.gle/oh1gLjiEqyt6SEEb9&quot;,&quot;text&quot;:&quot;Unirme a la lista de espera&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://forms.gle/oh1gLjiEqyt6SEEb9"><span>Unirme a la lista de espera</span></a></p><div><hr></div><h1>#2 El TL como cuello de botella</h1><p>Si opinar deja de funcionar, el siguiente paso parece l&#243;gico: <em>hacer</em>. Cristian ya no se limita a se&#241;alar problemas y empieza a involucrarse m&#225;s, a revisar m&#225;s cosas y a estar en m&#225;s decisiones. No porque quiera control, sino porque quiere que las cosas salgan bien.</p><p>Al principio, funciona. Las decisiones mejoran y los riesgos disminuyen. Los incidentes se reducen. El equipo respira y podr&#237;a percibirse como un liderazgo efectivo.</p><p>Pero hay una trampa. Cada vez m&#225;s decisiones pasan por Cristian. Cada vez m&#225;s contexto vive en su cabeza. Cada vez m&#225;s conversaciones esperan su validaci&#243;n para avanzar. Sin darse cuenta, Cristian se convierte en el punto por el que todo tiene que pasar.</p><p>El equipo se adapta r&#225;pido y aprende qu&#233; decisiones puedes tomar por cuenta propia y cu&#225;les no. Aprende cu&#225;ndo merece la pena esperar y cu&#225;ndo no. Y poco a poco, deja de decidir en los m&#225;rgenes.</p><p>Desde la perspectiva de Cristian, el d&#237;a a d&#237;a se vuelve agotador. Siempre est&#225; ocupado. Siempre hay algo urgente o alguien esperando. Y aun as&#237;, la sensaci&#243;n de fondo es que el sistema no acelera.</p><p>Aqu&#237; est&#225; la paradoja: cuanto m&#225;s intenta Cristian desbloquear al equipo, m&#225;s lo ralentiza. Las se&#241;ales suelen aparecer tarde:</p><ul><li><p><em>Pull Requests</em> que esperan revisi&#243;n &#8220;cuando Cristian tenga un momento&#8221;</p></li><li><p>Decisiones t&#233;cnicas que se posponen porque &#8220;hay que comentarlo con &#233;l&#8221;</p></li><li><p>Incidentes que nadie se atreve a cerrar sin su visto bueno</p></li></ul><p><strong>Cuando el TL se convierte en un cuello de botella, el problema deja de ser t&#233;cnico. Es sist&#233;mico</strong>. El equipo ha externalizado la toma de decisiones y la organizaci&#243;n ha concentrado el riesgo en una sola persona.</p><p>Y lo m&#225;s inc&#243;modo: Cristian empieza a ser imprescindible. Y eso, lejos de ser una fortaleza, es una fragilidad. Cuanto m&#225;s depende el equipo de &#233;l para decidir y avanzar, menos tiempo tiene Cristian para realizar trabajo de <a href="https://world.hey.com/joaoqalves/lessons-from-two-failed-promotions-and-what-changed-after-zirp-d8de7b30">nivel N+1</a>: mejorar el sistema, reducir la incertidumbre o crear las condiciones para que otros decidan mejor. Su agenda se llena de urgencias y el rol deja de escalar.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Suscr&#237;bete gratis para recibir nuevos art&#237;culos y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h1>#3 El criterio vive en la cabeza del TL</h1><p>Un d&#237;a, alguien pregunta: &#8220;&#191;esto est&#225; bien hecho?&#8221; Y nadie sabe responder sin mirar a Cristian. La revisi&#243;n se convierte en el centro de gravedad. <em>Pull requests</em>, dise&#241;os y detalles de implementaci&#243;n acaban pasando por &#233;l. No porque el equipo sea inseguro, sino porque no existe una referencia clara de qu&#233; significa &#8220;bien hecho&#8221; sin su visto bueno.</p><p>Cristian revisa con buena intenci&#243;n. Quiere mantener el nivel y evitar errores. Pero el feedback empieza a variar seg&#250;n el contexto, el momento o el cansancio del d&#237;a. Algo que ayer era aceptable hoy se cuestiona. Lo que en un servicio se tolera, en otro se discute.</p><p>El equipo aprende r&#225;pido. No hay reglas expl&#237;citas. Hay que esperar a ver qu&#233; dice Cristian. Y aqu&#237; ocurre algo sutil pero muy da&#241;ino: <strong>la gente deja de pensar en cu&#225;l es la mejor soluci&#243;n y empieza a pensar en cu&#225;l va a pasar la revisi&#243;n</strong>. Se arriesga menos, se proponen menos alternativas y se pregunta m&#225;s de la cuenta.</p><p>El problema no es que haya est&#225;ndares. Es que no est&#225;n escritos ni compartidos. Viven en su cabeza y solo aparecen cuando revisa. Mientras Cristian est&#225;, el sistema funciona. Cuando no est&#225;, el equipo duda.</p><div><hr></div><p>&#127873; <strong>&#191;Te suena este punto? No es casualidad.</strong></p><p>Muchos de estos antipatrones aparecen cuando el criterio no est&#225; expl&#237;cito y el equipo no tiene una definici&#243;n compartida de &#8220;qu&#233; significa hacerlo bien&#8221;.</p><p>Para ayudar a salir de ah&#237;, he preparado un toolkit de alineaci&#243;n gratuito con herramientas pr&#225;cticas que ya usan otros equipos:</p><ul><li><p>Para <em><strong>Tech Leads</strong></em>: un sem&#225;foro de autoevaluaci&#243;n para identificar d&#243;nde est&#225;s aportando valor y d&#243;nde te est&#225;s convirtiendo, sin quererlo, en un cuello de botella.</p></li><li><p>Para <em><strong>Engineering Managers</strong></em>: un sem&#225;foro de evaluaci&#243;n para dar <em>feedback</em> basado en comportamientos observables, no en sensaciones.</p></li><li><p>Para el <strong>equipo</strong>: un template de principios operativos para sacar el criterio del TL y dejar de discutir las mismas decisiones cada semana.</p></li></ul><p><strong>Nota</strong>: Si ya est&#225;s suscrito y has pedido el <em>toolkit</em> anteriormente, lo tienes en el mismo documento.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/survey/5292642?token=&quot;,&quot;text&quot;:&quot;Quiero el toolkit GRATUITO de alineaci&#243;n TL/EM&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/survey/5292642?token="><span>Quiero el toolkit GRATUITO de alineaci&#243;n TL/EM</span></a></p><div><hr></div><p>Ah&#237; se cierra otra trampa<strong>. Cuanto m&#225;s tiempo dedica a revisar, menos tiene para hacer el trabajo que realmente har&#237;a crecer al equipo: aclarar principios, reducir ambig&#252;edades y construir un sistema que funcione sin su presencia constante</strong>. La revisi&#243;n sustituye la claridad.</p><div><hr></div><h1>#4 El h&#233;roe</h1><p>A ver&#8230; Cristian no se levanta un d&#237;a pensando que quiere ser un h&#233;roe. Simplemente empieza a notar que hay situaciones en las que su presencia marca la diferencia.</p><p>Empieza a darse cuenta de que, en los problemas m&#225;s complejos, suelen contar con &#233;l. Que las decisiones delicadas se esperan a que est&#233; presente. Y que, cuando algo sale bien, a menudo ha pasado por sus manos.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YYOB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd59dd06-f36f-46c0-8d8d-eca54a2d20eb_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YYOB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd59dd06-f36f-46c0-8d8d-eca54a2d20eb_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!YYOB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd59dd06-f36f-46c0-8d8d-eca54a2d20eb_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!YYOB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd59dd06-f36f-46c0-8d8d-eca54a2d20eb_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!YYOB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd59dd06-f36f-46c0-8d8d-eca54a2d20eb_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YYOB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd59dd06-f36f-46c0-8d8d-eca54a2d20eb_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd59dd06-f36f-46c0-8d8d-eca54a2d20eb_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1640105,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/183918950?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd59dd06-f36f-46c0-8d8d-eca54a2d20eb_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YYOB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd59dd06-f36f-46c0-8d8d-eca54a2d20eb_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!YYOB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd59dd06-f36f-46c0-8d8d-eca54a2d20eb_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!YYOB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd59dd06-f36f-46c0-8d8d-eca54a2d20eb_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!YYOB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd59dd06-f36f-46c0-8d8d-eca54a2d20eb_1024x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">El h&#233;roe est&#225; en todas partes, pero impacta poco. Imagen generada con Gemini 3 / NanoBanana.</figcaption></figure></div><p>Eso se siente bien. Es la confirmaci&#243;n de que su trabajo importa. En un rol en el que el impacto no siempre es visible, esa sensaci&#243;n pesa m&#225;s de lo que parece.</p><p>Poco a poco, Cristian empieza a apoyarse en ella. Ahora, <strong>su identidad profesional se va ligando a estar presente, a ser quien desbloquea, a ser quien &#8220;salva&#8221; la situaci&#243;n cuando todo se complica</strong>. Delegar se vuelve inc&#243;modo, no por desconfianza en el equipo, sino porque implica desaparecer un poco del centro de la acci&#243;n.</p><p>Documentar decisiones se va dejando para m&#225;s adelante. Dar espacio para que otros lideren una iniciativa genera una incomodidad dif&#237;cil de explicar. No hay una intenci&#243;n clara de acaparar nada. Simplemente, siempre est&#225; ah&#237;&#8230; por si acaso.</p><p>El sistema sigue funcionando, pero empieza a hacerlo alrededor de su figura. Y mientras tanto, el rol de Cristian deja de evolucionar. El siguiente nivel exige justo lo contrario: aceptar que muchas cosas funcionen sin su intervenci&#243;n directa, ceder protagonismo y medir el impacto de otra forma.</p><p>Este es el punto en el que el crecimiento se frena, porque todo el trabajo importante pasa por estar presente. Cristian se mantiene ocupado, &#250;til y visible, pero cada vez con menos margen para redefinir su rol.</p><p>El problema empieza por confundir el impacto con la presencia. Y cuando eso ocurre, el TL deja de crecer. </p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/antipatrones-de-un-tech-lead?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es gratis. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/antipatrones-de-un-tech-lead?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/antipatrones-de-un-tech-lead?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><h1>#5 Ganar todas las discusiones y perder al equipo</h1><p>Este antipatr&#243;n no empieza con un conflicto ni con una discusi&#243;n dura. Empieza con una sensaci&#243;n de calma. Las reuniones se vuelven m&#225;s cortas, las decisiones parecen fluir y las conversaciones se cierran r&#225;pido. Cristian expone su punto de vista y, la mayor&#237;a de las veces, nadie lo cuestiona. Todo puede incluso parecer alineado y eficiente.</p><p>Dentro del equipo, sin embargo, algo ha cambiado. Las alternativas aparecen cada vez menos y las preguntas inc&#243;modas casi no se formulan. No porque no existan, sino porque el resultado de la conversaci&#243;n se percibe como previsible. El equipo aprende, de forma impl&#237;cita, qu&#233; merece la pena discutir y qu&#233; no. Cristian no es consciente de este cambio. Para &#233;l, las cosas simplemente funcionan mejor que antes. La primera vez que lo escucha formulado es en una conversaci&#243;n que no esperaba:</p><blockquote><p>J: Hay algo que me ronda desde hace unas semanas y quer&#237;a contrastarlo: &#191;el equipo habla muy poco, no? Las reuniones son muy tranquilas.</p><p>C: &#191;Y eso es malo? Al final, ir r&#225;pido tambi&#233;n es buena se&#241;al.</p><p>J: A veces s&#237;. El problema es cuando la calma no viene de tenerlo claro, sino de asumir que la discusi&#243;n ya est&#225; cerrada antes de empezar.</p><p><em>[Cristian se muestra confundido]</em></p><p>C: No creo que nadie se est&#233; cortando.</p><p>J: No es que se corten. Es que saben c&#243;mo va a acabar la conversaci&#243;n. Y cuando eso pasa, la gente deja de traer alternativas.</p><p>C: &#8230;</p><p>J: Tienes muy buen criterio y el equipo lo respeta. Pero ahora mismo da la sensaci&#243;n de que tu punto de vista pesa tanto que ocupa casi todo el espacio.</p><p>[<em>Cristian asiente despacio</em>]</p><p>J: Cuando el equipo deja de pensar en voz alta, algo se est&#225; perdiendo. Y suele pasar sin que nadie se d&#233; cuenta.</p></blockquote><p>El equipo sigue entregando y todo (aparentemente) funciona. Pero ya no piensa en voz alta. La responsabilidad por las decisiones se diluye y la implicaci&#243;n se vuelve m&#225;s superficial. Se ejecuta bien, pero se cuestiona poco.</p><p><strong>Ganar todas las discusiones tiene un precio. Cuando el TL se convierte, aunque sea sin quererlo, en la &#250;nica voz que importa, el rol deja de cumplir su funci&#243;n</strong>. Porque el liderazgo t&#233;cnico no consiste en tener siempre raz&#243;n, sino en crear el espacio necesario para que otros tambi&#233;n puedan desarrollarla.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><h1>Cuando el TL ocupa demasiado espacio</h1><p>Al releer estos antipatrones, hay una tentaci&#243;n: pensar que son &#8220;errores&#8221; y ya est&#225;. No lo son. La mayor&#237;a aparecen, por el contrario, por implicaci&#243;n, por criterio y por una sensaci&#243;n real de responsabilidad cuando el sistema y el equipo parecen ir hacia un sitio peligroso.</p><p>El problema es que cuando un TL siente que su voz no mueve nada, empieza a compensar con el comportamiento. Opina con m&#225;s fuerza, se mete en todo y revisa m&#225;s. En resumen: se vuelve imprescindible y, sin quererlo, ocupa tanto espacio que el equipo deja de pensar en voz alta.</p><p>Si algo une a todos estos escenarios es esto: el liderazgo t&#233;cnico no se mide por cu&#225;ntas veces tuviste raz&#243;n, sino por cu&#225;nto criterio y autonom&#237;a gana el equipo a tu alrededor.</p><p>Y ah&#237; est&#225; la pregunta inc&#243;moda que merece la pena hacerse de vez en cuando, sobre todo cuando te descubres diciendo &#8220;yo ya lo dije&#8221;: &#191;estoy ayudando a que el equipo dependa menos de m&#237; o estoy construyendo un sistema que solo funciona cuando yo estoy?</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[El doble clic #9 — Semana del 12 de enero]]></title><description><![CDATA[La dificultad de monetizar TailwindCSS, historias de incidentes en Kubernetes, experimentando con Claude Code, y &#161;mucho m&#225;s!]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-9-semana-del-12-de</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-9-semana-del-12-de</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 12 Jan 2026 05:52:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1cPE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a &#8220;<strong>El doble clic&#8221;</strong>, segunda edici&#243;n de 2026<em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><div><hr></div><p><strong>Nota</strong>: esta semana sale el cuarto art&#237;culo de la serie &#8220;Tech Lead&#8221;. Puedes repasar la serie en estos enlaces</p><ul><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead">Se&#241;ales de un buen tech lead</a>&#8221;</p></li><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/soy-tech-lead-y-no-me-hacen-caso">Soy Tech Lead y no me hacen caso. &#191;Qu&#233; hago?</a>&#8221;</p></li><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/excelencia-operacional-la-palanca">Excelencia operacional, la palanca del Tech Lead</a>&#8221;</p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Esta publicaci&#243;n es gratis. Suscr&#237;bete y no te pierdas el mejor contenido tech en espa&#241;ol</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>&#127466;&#127480; (5&#8217;) <a href="https://www.linkedin.com/in/pasmontesinos/">Pascual Montesinos</a>, de Mercadona Tech, explica, de forma muy clara y pr&#225;ctica, <strong><a href="https://pasmontesinos.com/es/posts/patrones-integracion-ia-adapter-actor/">dos maneras de integrar IA en una aplicaci&#243;n</a></strong> &#8212; usar un LLM como una pieza m&#225;s de infraestructura o tratarlo como un actor con autonom&#237;a dentro del sistema &#8212; y por qu&#233; esa decisi&#243;n cambia por completo c&#243;mo dise&#241;as, pruebas y evolucionas tu arquitectura.</p><div><hr></div><p>&#127468;&#127463; (7&#8217;)<em> Doblete </em>de <a href="https://www.linkedin.com/in/tanatloke/">Tanat</a> :) Dos semanas seguidas. Hoy nos cuenta c&#243;mo <strong><a href="https://medium.com/learnings-from-the-paas/the-night-docker-hub-changed-and-exposed-our-containerd-misconfiguration-d104fdb7eebc">una ca&#237;da aparentemente absurda</a></strong> &#8212; <em>pods</em> que dejaban de arrancar de la noche a la ma&#241;ana&#8212; acab&#243; destapando una configuraci&#243;n fr&#225;gil que llevaba a&#241;os &#8220;funcionando&#8221; por pura tolerancia del sistema externo.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nhsn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa3357cd-6f8d-4254-84dc-cd931f246ffe_1410x626.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nhsn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa3357cd-6f8d-4254-84dc-cd931f246ffe_1410x626.png 424w, https://substackcdn.com/image/fetch/$s_!nhsn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa3357cd-6f8d-4254-84dc-cd931f246ffe_1410x626.png 848w, https://substackcdn.com/image/fetch/$s_!nhsn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa3357cd-6f8d-4254-84dc-cd931f246ffe_1410x626.png 1272w, https://substackcdn.com/image/fetch/$s_!nhsn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa3357cd-6f8d-4254-84dc-cd931f246ffe_1410x626.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nhsn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa3357cd-6f8d-4254-84dc-cd931f246ffe_1410x626.png" width="1410" height="626" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa3357cd-6f8d-4254-84dc-cd931f246ffe_1410x626.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:626,&quot;width&quot;:1410,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:124770,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/184150865?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa3357cd-6f8d-4254-84dc-cd931f246ffe_1410x626.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nhsn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa3357cd-6f8d-4254-84dc-cd931f246ffe_1410x626.png 424w, https://substackcdn.com/image/fetch/$s_!nhsn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa3357cd-6f8d-4254-84dc-cd931f246ffe_1410x626.png 848w, https://substackcdn.com/image/fetch/$s_!nhsn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa3357cd-6f8d-4254-84dc-cd931f246ffe_1410x626.png 1272w, https://substackcdn.com/image/fetch/$s_!nhsn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa3357cd-6f8d-4254-84dc-cd931f246ffe_1410x626.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Tanat es un gran contador de historias de incidentes. Aqu&#237; nos explica, paso a paso, c&#243;mo ha depurado. <a href="https://medium.com/learnings-from-the-paas/the-night-docker-hub-changed-and-exposed-our-containerd-misconfiguration-d104fdb7eebc">Fuente</a>.</figcaption></figure></div><div><hr></div><p>&#127468;&#127463; (33&#8217;) <a href="https://x.com/adamwathan">Adam Wathan</a>, fundador de <a href="https://tailwindcss.com/">Tailwind CSS</a>, comparte en este audio <strong><a href="https://adams-morning-walk.transistor.fm/episodes/we-had-six-months-left">una reflexi&#243;n muy personal sobre uno de los momentos m&#225;s duros de su carrera</a></strong>: una crisis financiera prolongada que les ha llevado a despedir a la mayor parte del equipo, replantear el negocio desde cero y asumir que la popularidad del open source ya no garantiza la sostenibilidad.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QC_j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d2285f-a988-4cc2-9e92-b633f9cf3594_1814x1252.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QC_j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d2285f-a988-4cc2-9e92-b633f9cf3594_1814x1252.png 424w, https://substackcdn.com/image/fetch/$s_!QC_j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d2285f-a988-4cc2-9e92-b633f9cf3594_1814x1252.png 848w, https://substackcdn.com/image/fetch/$s_!QC_j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d2285f-a988-4cc2-9e92-b633f9cf3594_1814x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!QC_j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d2285f-a988-4cc2-9e92-b633f9cf3594_1814x1252.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QC_j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d2285f-a988-4cc2-9e92-b633f9cf3594_1814x1252.png" width="1456" height="1005" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66d2285f-a988-4cc2-9e92-b633f9cf3594_1814x1252.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1005,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:473122,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/184150865?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d2285f-a988-4cc2-9e92-b633f9cf3594_1814x1252.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QC_j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d2285f-a988-4cc2-9e92-b633f9cf3594_1814x1252.png 424w, https://substackcdn.com/image/fetch/$s_!QC_j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d2285f-a988-4cc2-9e92-b633f9cf3594_1814x1252.png 848w, https://substackcdn.com/image/fetch/$s_!QC_j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d2285f-a988-4cc2-9e92-b633f9cf3594_1814x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!QC_j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d2285f-a988-4cc2-9e92-b633f9cf3594_1814x1252.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Adam explica la tensi&#243;n entre mantener un proyecto open source popular y sostener un negocio en plena disrupci&#243;n provocada por la IA. <a href="https://github.com/tailwindlabs/tailwindcss.com/pull/2388#issuecomment-3717222957">Fuente</a>.</figcaption></figure></div><p>De mientras, explora una paradoja inc&#243;moda: la IA es a la vez una amenaza directa para su modelo de ingresos y una herramienta imprescindible para que el proyecto sobreviva con un equipo m&#237;nimo.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><p>&#127466;&#127480; (8&#8217;) <a href="https://substack.com/@simonmunoz">Sim&#243;n Mu&#241;oz</a> comparte una experiencia probando Claude Code y concluye que, aunque hoy impresiona al resolver gran parte del trabajo y apunta a un cambio profundo en c&#243;mo se construye software, sigue chocando con ese &#250;ltimo 10% dif&#237;cil que separa una demo de algo realmente usable.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:184146426,&quot;url&quot;:&quot;https://www.estrategiadeproducto.com/p/claude-code-y-la-ilusion-del-90&quot;,&quot;publication_id&quot;:293081,&quot;publication_name&quot;:&quot;Estrategia de Producto&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!r-mH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24b19691-0a67-46ad-8fa1-1886839eee30_1280x1280.png&quot;,&quot;title&quot;:&quot;Claude Code y la ilusi&#243;n del 90%&quot;,&quot;truncated_body_text&quot;:&quot;Si tuviese que elegir un t&#233;rmino que ha destacado con fuerza en el sector tecnol&#243;gico durante el par&#243;n navide&#241;o, sin duda escoger&#237;a &#8220;Claude Code&#8220;.&quot;,&quot;date&quot;:&quot;2026-01-11T07:01:47.505Z&quot;,&quot;like_count&quot;:21,&quot;comment_count&quot;:10,&quot;bylines&quot;:[{&quot;id&quot;:10706709,&quot;name&quot;:&quot;Sim&#243;n Mu&#241;oz&quot;,&quot;handle&quot;:&quot;simonmunoz&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/dfbaa0c8-7e4d-4976-a0e0-fd99e9b4c9ef_4000x4000.jpeg&quot;,&quot;bio&quot;:&quot;De formaci&#243;n ingeniero de software, y con background emprendedor, llevo m&#225;s de 20 a&#241;os haciendo del lado del producto digital. Mis &#250;ltimas dos aventuras han sido como Director en Flywire, y ahora como Principal Product Manager en Voicemod. &quot;,&quot;profile_set_up_at&quot;:&quot;2021-05-23T16:14:12.791Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-03-09T16:30:18.932Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:251300,&quot;user_id&quot;:10706709,&quot;publication_id&quot;:293081,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:293081,&quot;name&quot;:&quot;Estrategia de Producto&quot;,&quot;subdomain&quot;:&quot;simonmunoz&quot;,&quot;custom_domain&quot;:&quot;www.estrategiadeproducto.com&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Un nuevo post cada domingo sobre producto y tecnolog&#237;a. Por Sim&#243;n Mu&#241;oz.&quot;,&quot;logo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/24b19691-0a67-46ad-8fa1-1886839eee30_1280x1280.png&quot;,&quot;author_id&quot;:10706709,&quot;primary_user_id&quot;:10706709,&quot;theme_var_background_pop&quot;:&quot;#9D6FFF&quot;,&quot;created_at&quot;:&quot;2021-02-21T19:07:03.339Z&quot;,&quot;email_from_name&quot;:&quot;Estrategia de Producto&quot;,&quot;copyright&quot;:&quot;Sim&#243;n Mu&#241;oz&quot;,&quot;founding_plan_name&quot;:&quot;Miembro fundador&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:&quot;es&quot;,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;simonvlc&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:1,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;subscriber&quot;,&quot;tier&quot;:1,&quot;accent_colors&quot;:null},&quot;paidPublicationIds&quot;:[1373231],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://www.estrategiadeproducto.com/p/claude-code-y-la-ilusion-del-90?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!r-mH!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24b19691-0a67-46ad-8fa1-1886839eee30_1280x1280.png" loading="lazy"><span class="embedded-post-publication-name">Estrategia de Producto</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Claude Code y la ilusi&#243;n del 90%</div></div><div class="embedded-post-body">Si tuviese que elegir un t&#233;rmino que ha destacado con fuerza en el sector tecnol&#243;gico durante el par&#243;n navide&#241;o, sin duda escoger&#237;a &#8220;Claude Code&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">3 months ago &#183; 21 likes &#183; 10 comments &#183; Sim&#243;n Mu&#241;oz</div></a></div><p>El autor defiende que lo que desplaza el valor de &#8220;escribir c&#243;digo&#8221; hacia el criterio, la definici&#243;n del problema, la validaci&#243;n, la calidad y la distribuci&#243;n. Sim&#243;n tambi&#233;n nos recuerda que en un mundo donde construir es cada vez m&#225;s f&#225;cil, decidir bien qu&#233; construir sigue siendo lo verdaderamente escaso.</p><div><hr></div><p>&#127468;&#127463; (3&#8217;) <a href="https://www.linkedin.com/in/andrew-graham-yooll-%F0%9F%8F%84-623771141/">Andrew Graham-Yooll</a> comparte el <strong><a href="https://andrew.grahamyooll.com/blog/Try-to-Take-My-Position/">mejor consejo de promoci&#243;n que ha recibido</a></strong>: &#8220;no esperes el t&#237;tulo, empieza a hacer el trabajo&#8221; y explica que crecer profesionalmente va de asumir responsabilidades antes de que te las pidan, pensar en los problemas del equipo y traer propuestas con soluci&#243;n, de forma consistente, porque los managers no promocionan momentos brillantes sino patrones sostenidos de comportamiento.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-9-semana-del-12-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico y gratuito. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-9-semana-del-12-de?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-9-semana-del-12-de?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><h1>Publicaciones en X</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1cPE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1cPE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png 424w, https://substackcdn.com/image/fetch/$s_!1cPE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png 848w, https://substackcdn.com/image/fetch/$s_!1cPE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png 1272w, https://substackcdn.com/image/fetch/$s_!1cPE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1cPE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png" width="1245" height="635" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:635,&quot;width&quot;:1245,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:130555,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/184150865?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1cPE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png 424w, https://substackcdn.com/image/fetch/$s_!1cPE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png 848w, https://substackcdn.com/image/fetch/$s_!1cPE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png 1272w, https://substackcdn.com/image/fetch/$s_!1cPE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab522f87-b053-4cf1-9b10-f3ce6c08e3f1_1245x635.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">David Golden, contestando a un hilo sobre lo f&#225;cil que es a&#241;adir nuevas funcionalidades, usando IA ag&#233;ntica. <a href="https://x.com/xdg/status/2009724888987128293">Fuente</a>.</figcaption></figure></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FyXQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bee2182-9b24-4808-9ab7-b159114a1b6b_566x905.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FyXQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bee2182-9b24-4808-9ab7-b159114a1b6b_566x905.png 424w, https://substackcdn.com/image/fetch/$s_!FyXQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bee2182-9b24-4808-9ab7-b159114a1b6b_566x905.png 848w, https://substackcdn.com/image/fetch/$s_!FyXQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bee2182-9b24-4808-9ab7-b159114a1b6b_566x905.png 1272w, https://substackcdn.com/image/fetch/$s_!FyXQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bee2182-9b24-4808-9ab7-b159114a1b6b_566x905.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FyXQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bee2182-9b24-4808-9ab7-b159114a1b6b_566x905.png" width="566" height="905" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3bee2182-9b24-4808-9ab7-b159114a1b6b_566x905.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:905,&quot;width&quot;:566,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:331342,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/184150865?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bee2182-9b24-4808-9ab7-b159114a1b6b_566x905.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FyXQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bee2182-9b24-4808-9ab7-b159114a1b6b_566x905.png 424w, https://substackcdn.com/image/fetch/$s_!FyXQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bee2182-9b24-4808-9ab7-b159114a1b6b_566x905.png 848w, https://substackcdn.com/image/fetch/$s_!FyXQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bee2182-9b24-4808-9ab7-b159114a1b6b_566x905.png 1272w, https://substackcdn.com/image/fetch/$s_!FyXQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bee2182-9b24-4808-9ab7-b159114a1b6b_566x905.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Josh Cohenzadeh nos trae un <em>leak</em> del email del CEO de Sentry a la plantilla, en el que pone m&#225;s &#233;nfasis en el uso de agentes de IA. <a href="https://x.com/jshchnz/status/2009372836419248263">Fuente</a>.</figcaption></figure></div><p>&#161;Esto es todo! Nos vemos <strong>el pr&#243;ximo jueves 15</strong> con otro art&#237;culo de la serie de <em>Tech Leads</em>. Recuerda: si te ha gustado la <em>newsletter</em>, dale al &#8220;<em>like</em>&#8221; y suscr&#237;bete.</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[El doble clic — Semana del 5 de enero]]></title><description><![CDATA[21 aprendizajes de un ingeniero de Google, trabajando con Claude Code Action, escalar pipelines de datos descentralizados y &#161;mucho m&#225;s!]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-5-de-enero</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-5-de-enero</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 05 Jan 2026 07:05:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4Oaw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe28bea-c3a2-4f50-8167-5a7a0e62d045_700x316.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a la primera edici&#243;n de 2026 de &#8220;<strong>El doble clic&#8221;</strong><em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><div><hr></div><p><strong>Nota</strong>: debido a la Navidad, las siguientes publicaciones ser&#225;n:</p><ul><li><p>El doble clic &#8594; hoy y el 12 de enero</p></li><li><p>El art&#237;culo del jueves, de la serie de los Tech Leads &#8594; 15 de enero. Puedes repasar la serie en estos enlaces:</p><ul><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead">Se&#241;ales de un buen tech lead</a>&#8221;</p></li><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/soy-tech-lead-y-no-me-hacen-caso">Soy Tech Lead y no me hacen caso. &#191;Qu&#233; hago?</a>&#8221;</p></li><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/excelencia-operacional-la-palanca">Excelencia operacional, la palanca del Tech Lead</a>&#8221;</p></li></ul></li></ul><p>Para el 2026, he decidido compartir con vosotros mis objetivos y prop&#243;sitos. Puedes verlos <a href="https://herramient.as/apps/objetivos/2026/joaoqalves">aqu&#237;</a>. La consistencia es dur&#237;sima. Espero estar a la altura.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Esta publicaci&#243;n es gratis. Suscr&#237;bete y no te pierdas el mejor contenido tech en espa&#241;ol</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>&#127468;&#127463; (10&#8217;) <a href="https://www.linkedin.com/in/tanatloke/">Tanat Lokejaroenlarb</a>, SRE en Adevinta, cuenta c&#243;mo <strong><a href="https://medium.com/learnings-from-the-paas/supercharge-your-development-workflow-with-claude-code-action-0c649b29545e">Claude Code Action convierte a un asistente de IA en un colaborador activo en el repositorio</a></strong>. No solo revisa c&#243;digo, sino que responde a issues o comentarios, crea ramas, aplica cambios, ejecuta tests y deja todo listo para la revisi&#243;n humana. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Oaw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe28bea-c3a2-4f50-8167-5a7a0e62d045_700x316.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Oaw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe28bea-c3a2-4f50-8167-5a7a0e62d045_700x316.png 424w, https://substackcdn.com/image/fetch/$s_!4Oaw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe28bea-c3a2-4f50-8167-5a7a0e62d045_700x316.png 848w, https://substackcdn.com/image/fetch/$s_!4Oaw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe28bea-c3a2-4f50-8167-5a7a0e62d045_700x316.png 1272w, https://substackcdn.com/image/fetch/$s_!4Oaw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe28bea-c3a2-4f50-8167-5a7a0e62d045_700x316.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Oaw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe28bea-c3a2-4f50-8167-5a7a0e62d045_700x316.png" width="700" height="316" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/efe28bea-c3a2-4f50-8167-5a7a0e62d045_700x316.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:316,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!4Oaw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe28bea-c3a2-4f50-8167-5a7a0e62d045_700x316.png 424w, https://substackcdn.com/image/fetch/$s_!4Oaw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe28bea-c3a2-4f50-8167-5a7a0e62d045_700x316.png 848w, https://substackcdn.com/image/fetch/$s_!4Oaw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe28bea-c3a2-4f50-8167-5a7a0e62d045_700x316.png 1272w, https://substackcdn.com/image/fetch/$s_!4Oaw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe28bea-c3a2-4f50-8167-5a7a0e62d045_700x316.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">El art&#237;culo baja a tierra c&#243;mo integrarlo en entornos <em>enterprise</em> y recorre casos de uso muy pr&#225;cticos: revisiones autom&#225;ticas de PRs, peque&#241;os fixes a partir de comentarios o la implementaci&#243;n de issues completos. <a href="https://medium.com/learnings-from-the-paas/supercharge-your-development-workflow-with-claude-code-action-0c649b29545e">Fuente</a>.</figcaption></figure></div><div><hr></div><p>&#127468;&#127463; (12&#8217;) <a href="https://www.linkedin.com/in/oscar-ligthart/">Oscar Ligthart</a> y <a href="https://www.linkedin.com/in/rrloredo/">Rodrigo Loredo</a> explican c&#243;mo, en Vinted, han conseguido <strong><a href="https://vinted.engineering/2025/12/29/orchestrating-success/">escalar pipelines de datos realmente descentralizados</a></strong> sin que la coordinaci&#243;n entre equipos se convierta en un infierno. El texto cuenta el viaje desde un modelo muy aut&#243;nomo pero fr&#225;gil hasta una soluci&#243;n basada en la estandarizaci&#243;n.</p><div><hr></div><p>&#127468;&#127463; (10&#8217;) <a href="https://x.com/addyosmani">Addy Osmani</a>, director de ingenier&#237;a en Google, nos comparte <strong><a href="https://addyosmani.com/blog/21-lessons/">21 aprendizajes</a></strong> que no van de tecnolog&#237;a, sino de c&#243;mo tener impacto real en organizaciones grandes: obsesi&#243;n por el problema del usuario, claridad por encima de la brillantez, quitar trabajo antes que a&#241;adir complejidad y entender que el c&#243;digo no se defiende solo. Un texto f&#225;cil de leer, lleno de ideas que resuenan con la experiencia. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fZ44!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00972c5-6454-4d99-b836-f9420739770e_735x296.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fZ44!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00972c5-6454-4d99-b836-f9420739770e_735x296.png 424w, https://substackcdn.com/image/fetch/$s_!fZ44!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00972c5-6454-4d99-b836-f9420739770e_735x296.png 848w, https://substackcdn.com/image/fetch/$s_!fZ44!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00972c5-6454-4d99-b836-f9420739770e_735x296.png 1272w, https://substackcdn.com/image/fetch/$s_!fZ44!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00972c5-6454-4d99-b836-f9420739770e_735x296.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fZ44!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00972c5-6454-4d99-b836-f9420739770e_735x296.png" width="735" height="296" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e00972c5-6454-4d99-b836-f9420739770e_735x296.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:296,&quot;width&quot;:735,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:57320,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/183452085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00972c5-6454-4d99-b836-f9420739770e_735x296.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fZ44!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00972c5-6454-4d99-b836-f9420739770e_735x296.png 424w, https://substackcdn.com/image/fetch/$s_!fZ44!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00972c5-6454-4d99-b836-f9420739770e_735x296.png 848w, https://substackcdn.com/image/fetch/$s_!fZ44!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00972c5-6454-4d99-b836-f9420739770e_735x296.png 1272w, https://substackcdn.com/image/fetch/$s_!fZ44!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00972c5-6454-4d99-b836-f9420739770e_735x296.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Me gustan especialmente la 2 y la 14, ambas sobre lo caro que sale &#8220;ganar&#8221; debates sin construir un alineamiento real. <a href="https://addyosmani.com/blog/21-lessons/">Fuente</a>.</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Compartir Desde mi terminal&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Compartir Desde mi terminal</span></a></p><div><hr></div><p>&#127468;&#127463; (5&#8217;) Desde Leboncoin, <a href="https://www.linkedin.com/in/pauld0123456789/">Paul Drappier</a> y <a href="https://www.linkedin.com/in/alexis-destrez/?locale=en">Alexis Destrez</a> explican c&#243;mo <strong><a href="https://medium.com/leboncoin-tech-blog/deep-dive-in-open-telemetry-metrics-with-two-stories-at-leboncoin-tech-1-2-aad66a0b17f6">una migraci&#243;n a OpenTelemetry que parec&#237;a correcta empez&#243; a perder m&#233;tricas</a></strong> de forma silenciosa al escalar en producci&#243;n.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UsPl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e833af-ff1d-480a-8ab5-d4b03b92a783_700x350.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UsPl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e833af-ff1d-480a-8ab5-d4b03b92a783_700x350.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UsPl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e833af-ff1d-480a-8ab5-d4b03b92a783_700x350.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UsPl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e833af-ff1d-480a-8ab5-d4b03b92a783_700x350.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UsPl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e833af-ff1d-480a-8ab5-d4b03b92a783_700x350.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UsPl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e833af-ff1d-480a-8ab5-d4b03b92a783_700x350.jpeg" width="700" height="350" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84e833af-ff1d-480a-8ab5-d4b03b92a783_700x350.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:350,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!UsPl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e833af-ff1d-480a-8ab5-d4b03b92a783_700x350.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UsPl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e833af-ff1d-480a-8ab5-d4b03b92a783_700x350.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UsPl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e833af-ff1d-480a-8ab5-d4b03b92a783_700x350.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UsPl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e833af-ff1d-480a-8ab5-d4b03b92a783_700x350.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">El problema no afect&#243; a los usuarios, pero s&#237; a la visibilidad interna, y surgi&#243; de un detalle aparentemente menor en la forma de agregar los datos. <a href="https://medium.com/leboncoin-tech-blog/deep-dive-in-open-telemetry-metrics-with-two-stories-at-leboncoin-tech-1-2-aad66a0b17f6">Fuente</a>.</figcaption></figure></div><p>El valor del art&#237;culo est&#225; en la lecci&#243;n: en observabilidad, peque&#241;os matices pueden llevar a decisiones equivocadas si no se entienden bien, y contar abiertamente estos fallos ayuda a que otros equipos no caigan en la misma trampa.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><p>&#127468;&#127463; (8&#8217;) En el blog de ingenier&#237;a de Zalando, <a href="https://www.linkedin.com/in/cjbooms/">Conor Gallagher</a> nos cuenta c&#243;mo, al operar <em>streaming</em> de eventos a gran escala, se toparon con un <strong><a href="https://engineering.zalando.com/posts/2025/12/contributing-to-debezium.html">problema silencioso que pod&#237;a llenar discos y bloquear sistemas</a></strong> sin que nadie lo notara. En lugar de aplicar parches internos, decidieron ir a la ra&#237;z y colaborar con la comunidad de Debezium, aportando mejoras que hoy benefician a cualquiera que use replicaci&#243;n l&#243;gica con PostgreSQL.</p><h1>Publicaciones en X </h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Tkjp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17607f16-b9a0-49da-b419-22827022a8a9_1245x635.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Tkjp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17607f16-b9a0-49da-b419-22827022a8a9_1245x635.png 424w, https://substackcdn.com/image/fetch/$s_!Tkjp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17607f16-b9a0-49da-b419-22827022a8a9_1245x635.png 848w, https://substackcdn.com/image/fetch/$s_!Tkjp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17607f16-b9a0-49da-b419-22827022a8a9_1245x635.png 1272w, https://substackcdn.com/image/fetch/$s_!Tkjp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17607f16-b9a0-49da-b419-22827022a8a9_1245x635.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Tkjp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17607f16-b9a0-49da-b419-22827022a8a9_1245x635.png" width="1245" height="635" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17607f16-b9a0-49da-b419-22827022a8a9_1245x635.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:635,&quot;width&quot;:1245,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:141647,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/183452085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17607f16-b9a0-49da-b419-22827022a8a9_1245x635.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Tkjp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17607f16-b9a0-49da-b419-22827022a8a9_1245x635.png 424w, https://substackcdn.com/image/fetch/$s_!Tkjp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17607f16-b9a0-49da-b419-22827022a8a9_1245x635.png 848w, https://substackcdn.com/image/fetch/$s_!Tkjp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17607f16-b9a0-49da-b419-22827022a8a9_1245x635.png 1272w, https://substackcdn.com/image/fetch/$s_!Tkjp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17607f16-b9a0-49da-b419-22827022a8a9_1245x635.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Jaana, Principal Engineer en Google, nos cuenta c&#243;mo Claude Code fue capaz de, en una hora, desarrollar una soluci&#243;n (MVP) similar a la de orquestradores de agentes de IA de hace un a&#241;o. <a href="https://x.com/rakyll/status/2007239758158975130?s=20">Fuente</a>.</figcaption></figure></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-5-de-enero?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-5-de-enero?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-5-de-enero?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tnnp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0044330-66fa-4b05-9c42-e44f5269e439_1245x1810.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tnnp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0044330-66fa-4b05-9c42-e44f5269e439_1245x1810.png 424w, https://substackcdn.com/image/fetch/$s_!tnnp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0044330-66fa-4b05-9c42-e44f5269e439_1245x1810.png 848w, https://substackcdn.com/image/fetch/$s_!tnnp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0044330-66fa-4b05-9c42-e44f5269e439_1245x1810.png 1272w, https://substackcdn.com/image/fetch/$s_!tnnp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0044330-66fa-4b05-9c42-e44f5269e439_1245x1810.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tnnp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0044330-66fa-4b05-9c42-e44f5269e439_1245x1810.png" width="1245" height="1810" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0044330-66fa-4b05-9c42-e44f5269e439_1245x1810.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1810,&quot;width&quot;:1245,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2018510,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/183452085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0044330-66fa-4b05-9c42-e44f5269e439_1245x1810.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tnnp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0044330-66fa-4b05-9c42-e44f5269e439_1245x1810.png 424w, https://substackcdn.com/image/fetch/$s_!tnnp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0044330-66fa-4b05-9c42-e44f5269e439_1245x1810.png 848w, https://substackcdn.com/image/fetch/$s_!tnnp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0044330-66fa-4b05-9c42-e44f5269e439_1245x1810.png 1272w, https://substackcdn.com/image/fetch/$s_!tnnp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0044330-66fa-4b05-9c42-e44f5269e439_1245x1810.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">David Moss, de Tesla, nos ense&#241;a c&#243;mo Estados Unidos, de costa a costa, ha logrado 100% del tiempo con Tesla en &#8220;Full Self-Driving&#8221; (conducci&#243;n aut&#243;noma). <a href="https://x.com/DavidMoss/status/2006255297212358686">Fuente</a>.</figcaption></figure></div><p>&#161;Esto es todo! Nos vemos <strong>el pr&#243;ximo lunes 12</strong>  en &#8220;El doble Clic&#8221;. Recuerda: si te ha gustado la <em>newsletter</em>, dale al &#8220;<em>like</em>&#8221; y suscr&#237;bete.</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[El doble clic — Semana del 29 de diciembre]]></title><description><![CDATA[El octavo a&#241;o como CTO de Miguel Carranza, comunicar en remoto, y tres recomendaciones para el 2026]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-29-de-diciembre</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-29-de-diciembre</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 29 Dec 2025 05:57:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/3Y1G9najGiI" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a la &#250;ltima edici&#243;n del a&#241;o de &#8220;<strong>El doble clic&#8221;</strong><em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><p>Hoy el formato es algo diferente. En lugar de cinco art&#237;culos y dos posts de X, traigo:</p><ul><li><p>Tres art&#237;culos/charlas que me han gustado esta semana. </p></li><li><p>Mis recomendaciones para este 2025: un art&#237;culo, una charla y un blog.</p></li></ul><div><hr></div><p><strong>Nota</strong>: debido a la Navidad, las siguientes publicaciones ser&#225;n:</p><ul><li><p>El doble clic &#8594; hoy, 29 de diciembre y 5 de enero de 2026</p></li><li><p>El art&#237;culo del jueves, de la serie de los Tech Leads &#8594; 15 de enero de 2026. Puedes repasar la serie en estos enlaces:</p><ul><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead">Se&#241;ales de un buen tech lead</a>&#8221;</p></li><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/soy-tech-lead-y-no-me-hacen-caso">Soy Tech Lead y no me hacen caso. &#191;Qu&#233; hago?</a>&#8221;</p></li><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/excelencia-operacional-la-palanca">Excelencia operacional, la palanca del Tech Lead</a>&#8221;</p></li></ul></li></ul><p>Para el 2026, he decidido compartir con vosotros mis objetivos y prop&#243;sitos. Puedes verlos <a href="https://herramient.as/apps/objetivos/2026/joaoqalves">aqu&#237;</a>. La consistencia es dur&#237;sima. Espero estar a la altura.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Hoy en d&#237;a somos 99 suscriptores. Si te gusta el contenido, ayudame a llegar a los 100 :)</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>&#127468;&#127463; (20&#8217;) <a href="https://x.com/elwatto/">Miguel Carranza</a>, CTO de RevenueCat, nos trae una <strong><a href="https://miguelcarranza.es/cto-year-8">reflexi&#243;n muy honesta sobre lo que supone decidir no vender</a></strong> cuando todo invita a hacerlo. Miguel cuenta por qu&#233; eligi&#243; ir a largo plazo con RevenueCat, c&#243;mo intent&#243; tomar esa decisi&#243;n de manera sostenible a nivel personal y de equipo, y qu&#233; ha aprendido sobre contrataci&#243;n, cultura, liderazgo y foco en un contexto de crecimiento acelerado. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UzX2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0a08f4-bd06-4062-b66b-454a72dde4fd_800x542.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UzX2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0a08f4-bd06-4062-b66b-454a72dde4fd_800x542.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UzX2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0a08f4-bd06-4062-b66b-454a72dde4fd_800x542.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UzX2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0a08f4-bd06-4062-b66b-454a72dde4fd_800x542.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UzX2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0a08f4-bd06-4062-b66b-454a72dde4fd_800x542.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UzX2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0a08f4-bd06-4062-b66b-454a72dde4fd_800x542.jpeg" width="800" height="542" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a0a08f4-bd06-4062-b66b-454a72dde4fd_800x542.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:542,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Speaking at NSSpain&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Speaking at NSSpain" title="Speaking at NSSpain" srcset="https://substackcdn.com/image/fetch/$s_!UzX2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0a08f4-bd06-4062-b66b-454a72dde4fd_800x542.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UzX2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0a08f4-bd06-4062-b66b-454a72dde4fd_800x542.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UzX2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0a08f4-bd06-4062-b66b-454a72dde4fd_800x542.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UzX2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0a08f4-bd06-4062-b66b-454a72dde4fd_800x542.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Miguel Carranza dando una charla en una de las varias conferencias a las que asisti&#243; en 2025. <a href="https://miguelcarranza.es/cto-year-8">Fuente</a>.</figcaption></figure></div><p>Me ha gustado especialmente la ausencia de una &#233;pica f&#225;cil &#8212; hay cansancio, errores y concesiones &#8212; y la idea de que construir algo duradero no es romanticismo, sino una elecci&#243;n consciente que hay que volver a validar cada a&#241;o.</p><div><hr></div><p>&#127466;&#127480; (15&#8217;) <a href="https://www.linkedin.com/in/cristian-estarlich-a6a78273/">Cristian Estarlich</a>, Tech Lead en TennisPoint, escribi&#243; <strong><a href="https://crisoncode.dev/posts/comunicacion-efectiva-trabajando-en-remoto">un art&#237;culo muy pr&#225;ctico que me ha recordado que comunicar bien en ingenier&#237;a no es algo &#8220;blando&#8221;</a></strong>, sino una habilidad cr&#237;tica que se puede &#8212; &#161;y se debe! &#8212; dise&#241;ar. El autor conecta la ret&#243;rica cl&#225;sica con el trabajo diario en equipos de <em>software</em>, especialmente en el trabajo remoto, y pone la teor&#237;a a prueba con un marco claro: pensar siempre en el prop&#243;sito, la urgencia, el canal y la audiencia antes de hablar o escribir. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9OSp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc072665f-a9f3-4b9b-b1d1-0b2066743f34_1009x806.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9OSp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc072665f-a9f3-4b9b-b1d1-0b2066743f34_1009x806.png 424w, https://substackcdn.com/image/fetch/$s_!9OSp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc072665f-a9f3-4b9b-b1d1-0b2066743f34_1009x806.png 848w, https://substackcdn.com/image/fetch/$s_!9OSp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc072665f-a9f3-4b9b-b1d1-0b2066743f34_1009x806.png 1272w, https://substackcdn.com/image/fetch/$s_!9OSp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc072665f-a9f3-4b9b-b1d1-0b2066743f34_1009x806.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9OSp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc072665f-a9f3-4b9b-b1d1-0b2066743f34_1009x806.png" width="1009" height="806" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c072665f-a9f3-4b9b-b1d1-0b2066743f34_1009x806.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:806,&quot;width&quot;:1009,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:119315,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/180590858?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc072665f-a9f3-4b9b-b1d1-0b2066743f34_1009x806.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9OSp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc072665f-a9f3-4b9b-b1d1-0b2066743f34_1009x806.png 424w, https://substackcdn.com/image/fetch/$s_!9OSp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc072665f-a9f3-4b9b-b1d1-0b2066743f34_1009x806.png 848w, https://substackcdn.com/image/fetch/$s_!9OSp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc072665f-a9f3-4b9b-b1d1-0b2066743f34_1009x806.png 1272w, https://substackcdn.com/image/fetch/$s_!9OSp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc072665f-a9f3-4b9b-b1d1-0b2066743f34_1009x806.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Cristian nos explica diferentes situaciones, con ejemplos de qu&#233; hacer y qu&#233; no. <a href="https://crisoncode.dev/posts/comunicacion-efectiva-trabajando-en-remoto">Fuente</a>.</figcaption></figure></div><p>Me ha gustado mucho c&#243;mo aterriza esto con situaciones reales &#8212; bloqueos con otros equipos, cambios t&#233;cnicos que afectan al planning, <em>feedback</em> delicado entre compa&#241;eros &#8212; y c&#243;mo insiste en algo que todos hemos sufrido: en remoto, si no queda por escrito, no existe. Una lectura muy recomendable para cualquiera que quiera que los proyectos fluyan menos por hero&#237;smo t&#233;cnico y m&#225;s por una comunicaci&#243;n consciente y bien pensada.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-29-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es gratis. &#161;Comp&#225;rtelo y ay&#250;dame a alcanzar los 100 suscriptores!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-29-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-29-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><p>&#127468;&#127463; (47&#8217;) Solo esta semana he tenido la oportunidad de ver esta aut&#233;ntica charlaza de <a href="https://marimon-clos.com/">Ignasi Marimon-Clos</a>. En ella, defiende que la documentaci&#243;n no es un mal necesario, sino una habilidad que se aprende y se practica con m&#233;todo, y que emplea una narrativa muy bien hilada para explicar c&#243;mo escribir mejores docs pensando en qui&#233;n las va a leer. Me quedo con varias ideas potentes: </p><ol><li><p>Documentar tambi&#233;n es comunicar. Escribirla antes de programar ayuda a pensar mejor el sistema.</p></li><li><p>Separar claramente tutoriales, gu&#237;as, explicaciones y referencia evita muchos malentendidos.</p></li></ol><div id="youtube2-G1FxJCAlEVA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;G1FxJCAlEVA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/G1FxJCAlEVA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>La charla desmonta, con ejemplos reales, los argumentos cl&#225;sicos contra la documentaci&#243;n y deja claro algo que todos hemos vivido: el c&#243;digo dice qu&#233; hace algo, pero la documentaci&#243;n explica por qu&#233;, cu&#225;ndo y con qu&#233; matices. Muy recomendable si quieres tomarte en serio la documentaci&#243;n como parte del trabajo de ingenier&#237;a, no como un extra opcional.</p><div><hr></div><h1>Lo mejor de 2025</h1><p>Tengo la sensaci&#243;n de que todo el mundo me recomienda demasiadas cosas. Por eso, estas recomendaciones son <strong>muy selectivas</strong>, pero pensadas. Siempre habr&#225; buenos art&#237;culos, charlas y blogs que se quedar&#225;n fuera. Si hay valor en algo, muchas veces est&#225; precisamente en priorizar y decidir compartir solo una cosa bien elegida, en lugar de muchas sin contexto.</p><h2>El blog</h2><p>Simon Willison, creador de Django, tiene hoy en d&#237;a el que considero el <strong><a href="https://simonwillison.net/">mejor blog</a></strong> sobre inteligencia artificial aplicada a la ingenier&#237;a de software. Tambi&#233;n me gusta toda la panoplia de <a href="https://tools.simonwillison.net/">herramientas</a> que ha creado con &#8220;<em>vibe coding&#8221;</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bj5x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe86fd6da-852b-44eb-bfd8-2d5f20fd78cd_278x566.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bj5x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe86fd6da-852b-44eb-bfd8-2d5f20fd78cd_278x566.png 424w, https://substackcdn.com/image/fetch/$s_!Bj5x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe86fd6da-852b-44eb-bfd8-2d5f20fd78cd_278x566.png 848w, https://substackcdn.com/image/fetch/$s_!Bj5x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe86fd6da-852b-44eb-bfd8-2d5f20fd78cd_278x566.png 1272w, https://substackcdn.com/image/fetch/$s_!Bj5x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe86fd6da-852b-44eb-bfd8-2d5f20fd78cd_278x566.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bj5x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe86fd6da-852b-44eb-bfd8-2d5f20fd78cd_278x566.png" width="278" height="566" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e86fd6da-852b-44eb-bfd8-2d5f20fd78cd_278x566.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:566,&quot;width&quot;:278,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77701,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/180590858?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe86fd6da-852b-44eb-bfd8-2d5f20fd78cd_278x566.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Bj5x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe86fd6da-852b-44eb-bfd8-2d5f20fd78cd_278x566.png 424w, https://substackcdn.com/image/fetch/$s_!Bj5x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe86fd6da-852b-44eb-bfd8-2d5f20fd78cd_278x566.png 848w, https://substackcdn.com/image/fetch/$s_!Bj5x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe86fd6da-852b-44eb-bfd8-2d5f20fd78cd_278x566.png 1272w, https://substackcdn.com/image/fetch/$s_!Bj5x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe86fd6da-852b-44eb-bfd8-2d5f20fd78cd_278x566.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Simon ha sido extremadamente consistente durante 2025. Ha escrito 118 art&#237;culos. <a href="https://simonwillison.net/2025/">Fuente</a>.</figcaption></figure></div><div><hr></div><h2>La charla</h2><p>En su &#250;ltima keynote en re:Invent, <a href="https://x.com/Werner">Werner Vogels</a>, CTO de Amazon, se despide dejando una idea muy clara: la IA no sustituye al ingeniero de software, pero s&#237; obliga a evolucionar hacia lo que &#233;l llama el <em>Renaissance Developer</em>.</p><div id="youtube2-3Y1G9najGiI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;3Y1G9najGiI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/3Y1G9najGiI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>La charla recorre c&#243;mo hemos sobrevivido a cada gran cambio en las herramientas y propone cinco pilares muy bien aterrizados: curiosidad, pensamiento sist&#233;mico, comunicaci&#243;n clara frente al &#8220;<em>vibe coding</em>&#8221;. Tambi&#233;n habla de <em>ownership</em> y de una mentalidad <em>T-shaped, </em>poniendo el foco en algo que me parece clave: con IA escribiremos menos c&#243;digo, pero tendremos que revisar, entender y responsabilizarnos mucho m&#225;s del resultado. Es una reflexi&#243;n madura, nada alarmista, sobre el orgullo profesional, los mecanismos frente a buenas intenciones y la excelencia operativa como se&#241;a de identidad del buen ingeniero. Muy recomendable para empezar el a&#241;o 2026 con una perspectiva sobre la IA y el desarrollo de <em>software</em>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-29-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-29-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p><div><hr></div><h2>El art&#237;culo</h2><p><a href="https://x.com/samwhoo">Sam Rose</a> al&#237;a la escritura con excelentes visualizaciones interactivas para <strong><a href="https://samwho.dev/big-o/">explicarnos la notaci&#243;n </a></strong><em><strong><a href="https://samwho.dev/big-o/">Big O</a></strong></em>. No es nada revolucionario, pero s&#237; un art&#237;culo claro. Tambi&#233;n nos explica qu&#233; implica <em>cachear</em> resultados o por qu&#233; el peor caso importa m&#225;s de lo que creemos. Me gusta especialmente que insista en que <em>Big O</em> no habla de tiempos absolutos, sino de crecimiento, y que no hay atajos m&#225;gicos sin <em>trade-offs</em>. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6gF7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673882e-5433-473f-9183-f91d325f3cf5_779x425.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6gF7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673882e-5433-473f-9183-f91d325f3cf5_779x425.png 424w, https://substackcdn.com/image/fetch/$s_!6gF7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673882e-5433-473f-9183-f91d325f3cf5_779x425.png 848w, https://substackcdn.com/image/fetch/$s_!6gF7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673882e-5433-473f-9183-f91d325f3cf5_779x425.png 1272w, https://substackcdn.com/image/fetch/$s_!6gF7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673882e-5433-473f-9183-f91d325f3cf5_779x425.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6gF7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673882e-5433-473f-9183-f91d325f3cf5_779x425.png" width="779" height="425" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d673882e-5433-473f-9183-f91d325f3cf5_779x425.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:425,&quot;width&quot;:779,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49605,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/180590858?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673882e-5433-473f-9183-f91d325f3cf5_779x425.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6gF7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673882e-5433-473f-9183-f91d325f3cf5_779x425.png 424w, https://substackcdn.com/image/fetch/$s_!6gF7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673882e-5433-473f-9183-f91d325f3cf5_779x425.png 848w, https://substackcdn.com/image/fetch/$s_!6gF7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673882e-5433-473f-9183-f91d325f3cf5_779x425.png 1272w, https://substackcdn.com/image/fetch/$s_!6gF7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd673882e-5433-473f-9183-f91d325f3cf5_779x425.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">En su art&#237;culo, Sam habla de las cuatro categor&#237;as de <em>big O</em>: constante, logar&#237;tmica, lineal y cuadr&#225;tica. <a href="https://samwho.dev/big-o/">Fuente</a>.</figcaption></figure></div><p>Un recurso muy recomendable si quieres afinar el criterio t&#233;cnico y escribir c&#243;digo m&#225;s consciente, o repasar tus clases de algoritmos y estructuras de datos de la universidad.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><p>&#161;Hasta aqu&#237; hemos llegado! Espero que disfrutes de estos art&#237;culos, charlas y blogs recomendados, tanto como yo disfruto de leerlos y de curar contenido semanalmente. </p><p>Nos vemos <strong>el pr&#243;ximo lunes</strong> para la primera edici&#243;n de 2026 de &#8220;El doble Clic&#8221;. Recuerda: si te ha gustado la <em>newsletter</em>, dale al &#8220;<em>like</em>&#8221; y suscr&#237;bete.</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[El doble clic — Semana del 22 de diciembre]]></title><description><![CDATA[Un deep dive en el c&#243;digo de Fizzy, reflexiones sobre estrategia de ingenier&#237;a, c&#243;mo Cabify combate experiencias degradadas y &#161;mucho m&#225;s!]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-22-de-diciembre</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-22-de-diciembre</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 22 Dec 2025 09:25:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PtXR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a la sexta y pen&#250;ltima edici&#243;n del a&#241;o de &#8220;<strong>El doble clic&#8221;</strong><em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><div><hr></div><p><strong>Nota</strong>: debido a la Navidad, har&#233; una pausa en los art&#237;culos largos. Esta secci&#243;n (&#8220;El doble clic&#8221;) seguir&#225; activa. Las siguientes publicaciones ser&#225;n:</p><ul><li><p>El doble clic &#8594; 22 y 29 de diciembre, y 5 de enero de 2026</p></li><li><p>El art&#237;culo del jueves, de la serie de los Tech Leads &#8594; 8 de enero de 2026. Puedes repasar la serie en estos enlaces:</p><ul><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead">Se&#241;ales de un buen tech lead</a>&#8221;</p></li><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/soy-tech-lead-y-no-me-hacen-caso">Soy Tech Lead y no me hacen caso. &#191;Qu&#233; hago?</a>&#8221;</p></li><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/excelencia-operacional-la-palanca">Excelencia operacional, la palanca del Tech Lead</a>&#8221;</p></li></ul></li></ul><div><hr></div><p>&#127468;&#127463; (38&#8217;) <a href="https://x.com/jorgemanru">Jorge Manrubia</a>, Principal Engineer en 37Signals (Basecamp, HEY, etc.), nos trae un v&#237;deo en el que nos hace un <em><strong><a href="https://drive.google.com/file/d/14KcTKnKMVHCSRFjlyyvfFfiyPdTD2H3B/view?usp=sharing">deep dive</a></strong></em><strong><a href="https://drive.google.com/file/d/14KcTKnKMVHCSRFjlyyvfFfiyPdTD2H3B/view?usp=sharing"> en el c&#243;digo de Fizzy</a></strong>, su nuevo producto.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PtXR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PtXR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png 424w, https://substackcdn.com/image/fetch/$s_!PtXR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png 848w, https://substackcdn.com/image/fetch/$s_!PtXR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png 1272w, https://substackcdn.com/image/fetch/$s_!PtXR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PtXR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png" width="1456" height="820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:759325,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181318106?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PtXR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png 424w, https://substackcdn.com/image/fetch/$s_!PtXR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png 848w, https://substackcdn.com/image/fetch/$s_!PtXR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png 1272w, https://substackcdn.com/image/fetch/$s_!PtXR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08af37ab-219a-48fe-8295-3d492363fd8a_1912x1077.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Jorge nos hace un <em>deep dive</em> en Fizzy. <a href="https://x.com/jorgemanru/status/1999545001441730601?s=20">Fuente</a>.</figcaption></figure></div><p>Jorge defiende mantener la l&#243;gica de negocio dentro de los modelos &#8212; criticando el abuso de los <em>Service Objects</em> y los modelos an&#233;micos &#8212; y usar <em>Concerns</em> para organizar comportamientos y reutilizar c&#243;digo sin perder claridad. Todo ello, combinado con clases bien nombradas y callbacks usados con criterio, para reducir la complejidad, mantener el c&#243;digo expresivo y hacer que la arquitectura refleje directamente el problema de negocio.</p><div><hr></div><p>&#127468;&#127463; (5&#8217;) Alex Ferrer, de ManoMano, nos trae un art&#237;culo en el que explica c&#243;mo han creado un <strong><a href="https://medium.com/manomano-tech/scaling-authentication-in-manomano-mobile-app-a-story-of-bugs-logs-and-lessons-3401d8d6b907">middleware para gestionar tokens</a></strong>, evitar cierres de sesi&#243;n y mejorar su soluci&#243;n de autenticaci&#243;n para la app m&#243;vil.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!84HK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f39f0b1-064b-441f-aa9c-674d25262cb8_3712x1152.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!84HK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f39f0b1-064b-441f-aa9c-674d25262cb8_3712x1152.webp 424w, https://substackcdn.com/image/fetch/$s_!84HK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f39f0b1-064b-441f-aa9c-674d25262cb8_3712x1152.webp 848w, https://substackcdn.com/image/fetch/$s_!84HK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f39f0b1-064b-441f-aa9c-674d25262cb8_3712x1152.webp 1272w, https://substackcdn.com/image/fetch/$s_!84HK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f39f0b1-064b-441f-aa9c-674d25262cb8_3712x1152.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!84HK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f39f0b1-064b-441f-aa9c-674d25262cb8_3712x1152.webp" width="1456" height="452" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f39f0b1-064b-441f-aa9c-674d25262cb8_3712x1152.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:452,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:111224,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181318106?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f39f0b1-064b-441f-aa9c-674d25262cb8_3712x1152.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!84HK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f39f0b1-064b-441f-aa9c-674d25262cb8_3712x1152.webp 424w, https://substackcdn.com/image/fetch/$s_!84HK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f39f0b1-064b-441f-aa9c-674d25262cb8_3712x1152.webp 848w, https://substackcdn.com/image/fetch/$s_!84HK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f39f0b1-064b-441f-aa9c-674d25262cb8_3712x1152.webp 1272w, https://substackcdn.com/image/fetch/$s_!84HK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f39f0b1-064b-441f-aa9c-674d25262cb8_3712x1152.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Un middleware &#250;nico para la autenticaci&#243;n: gesti&#243;n centralizada de <em>tokens, peticiones en cola durante el refresco, reintentos autom&#225;ticos y cierre de sesi&#243;n unificado</em>. <a href="https://medium.com/manomano-tech/scaling-authentication-in-manomano-mobile-app-a-story-of-bugs-logs-and-lessons-3401d8d6b907">Fuente</a>.</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Suscr&#237;bete gratis para recibir nuevos art&#237;culos y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>&#127468;&#127463; (2&#8217;) Aleix Morgadas nos trae una <strong><a href="https://learnings.aleixmorgadas.dev/p/engineering-strategy-beyond-tech?utm_campaign=post&amp;utm_medium=web">reflexi&#243;n sobre la estrategia de ingenier&#237;a</a></strong>, que suele entenderse de forma demasiado limitada &#8212; centrada solo en la tecnolog&#237;a y en lo que el equipo cree que controla&#8212; cuando, en realidad, su impacto va mucho m&#225;s all&#225;. Afrontar retos de negocio relevantes exige pensar tambi&#233;n en organizaci&#243;n, contrataci&#243;n, colaboraci&#243;n con producto y dise&#241;o, e incluso en aspectos legales, y usar la estrategia como palanca de influencia para cuestionar y relajar restricciones. A partir de ah&#237;, el verdadero trabajo del estratega es colaborar, alinear y decidir, incluso cuando la mejor soluci&#243;n no es t&#233;cnica.</p><div><hr></div><p>&#127468;&#127463; (6&#8217;) Eldred nos explica <strong><a href="https://eldred.fr/blog/forge-migration/?utm_source=desdemiterminal">c&#243;mo ha migrado sus repos de GitHub a Codeberg</a></strong> debido a su desacuerdo con el rumbo de la plataforma &#8212; la presi&#243;n por productos de IA y las decisiones &#233;ticas cuestionables &#8212; y describe el proceso. C&#243;mo mover repos sin romper <em>issues</em> ni <em>Pull Requests</em>, actualizar todos los enlaces y los remotos, portar el CI y mucho m&#225;s.</p><div><hr></div><p>&#127468;&#127463; (2&#8217;) <a href="https://www.linkedin.com/in/jorgeacortes/en/?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base%3BzDnAdQgySxKTt1Uqnw8oFA%3D%3D">Jorge Cort&#233;s</a>, de Cabify, nos <strong><a href="https://tech.cabify.com/blog/engineering/degraded-experiences">introduce en el concepto de &#8220;experiencias degradadas&#8221;</a></strong> (<em>degraded experiences</em>): situaciones en las que los sistemas &#8220;funcionan&#8221; y cumplen los SLOs, pero lo hacen a costa de un mayor gasto o de una peor experiencia de usuario mediante fallbacks invisibles.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nYOW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9fdb821-4947-48b1-a9a8-ccc9a694035c_1644x908.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nYOW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9fdb821-4947-48b1-a9a8-ccc9a694035c_1644x908.png 424w, https://substackcdn.com/image/fetch/$s_!nYOW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9fdb821-4947-48b1-a9a8-ccc9a694035c_1644x908.png 848w, https://substackcdn.com/image/fetch/$s_!nYOW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9fdb821-4947-48b1-a9a8-ccc9a694035c_1644x908.png 1272w, https://substackcdn.com/image/fetch/$s_!nYOW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9fdb821-4947-48b1-a9a8-ccc9a694035c_1644x908.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nYOW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9fdb821-4947-48b1-a9a8-ccc9a694035c_1644x908.png" width="1456" height="804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9fdb821-4947-48b1-a9a8-ccc9a694035c_1644x908.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1900760,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181318106?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9fdb821-4947-48b1-a9a8-ccc9a694035c_1644x908.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nYOW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9fdb821-4947-48b1-a9a8-ccc9a694035c_1644x908.png 424w, https://substackcdn.com/image/fetch/$s_!nYOW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9fdb821-4947-48b1-a9a8-ccc9a694035c_1644x908.png 848w, https://substackcdn.com/image/fetch/$s_!nYOW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9fdb821-4947-48b1-a9a8-ccc9a694035c_1644x908.png 1272w, https://substackcdn.com/image/fetch/$s_!nYOW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9fdb821-4947-48b1-a9a8-ccc9a694035c_1644x908.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Panel de &#8220;degradaciones&#8221; en Cabify. <a href="https://tech.cabify.com/blog/engineering/degraded-experiences">Fuente</a>.</figcaption></figure></div><p>El problema es que la monitorizaci&#243;n tradicional suele ignorarlas, lo que hace que estas degradaciones se vuelvan permanentes y ocultas. La propuesta, ejemplificada con el enfoque de Cabify, es tratarlas como ciudadanas de primera clase desde el dise&#241;o: definir degradaciones expl&#237;citas, instrumentarlas con m&#233;tricas y alertas propias y darles visibilidad continua.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-22-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-22-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-22-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><h1>Publicaciones en X</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q4Ni!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf6b3f-4557-481a-b13f-849263c3ea63_1315x1667.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q4Ni!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf6b3f-4557-481a-b13f-849263c3ea63_1315x1667.png 424w, https://substackcdn.com/image/fetch/$s_!q4Ni!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf6b3f-4557-481a-b13f-849263c3ea63_1315x1667.png 848w, https://substackcdn.com/image/fetch/$s_!q4Ni!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf6b3f-4557-481a-b13f-849263c3ea63_1315x1667.png 1272w, https://substackcdn.com/image/fetch/$s_!q4Ni!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf6b3f-4557-481a-b13f-849263c3ea63_1315x1667.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q4Ni!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf6b3f-4557-481a-b13f-849263c3ea63_1315x1667.png" width="1315" height="1667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4eaf6b3f-4557-481a-b13f-849263c3ea63_1315x1667.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1667,&quot;width&quot;:1315,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1048929,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181318106?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf6b3f-4557-481a-b13f-849263c3ea63_1315x1667.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!q4Ni!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf6b3f-4557-481a-b13f-849263c3ea63_1315x1667.png 424w, https://substackcdn.com/image/fetch/$s_!q4Ni!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf6b3f-4557-481a-b13f-849263c3ea63_1315x1667.png 848w, https://substackcdn.com/image/fetch/$s_!q4Ni!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf6b3f-4557-481a-b13f-849263c3ea63_1315x1667.png 1272w, https://substackcdn.com/image/fetch/$s_!q4Ni!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaf6b3f-4557-481a-b13f-849263c3ea63_1315x1667.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Deedy Das nos habla de las capacidades abrumadoras del modelo Gemini 3, para OCR. <a href="https://x.com/deedydas/status/2001850593653244011">Fuente</a>.</figcaption></figure></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!amo6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297c77a7-dd78-471d-9a21-95076939c0a3_1315x3470.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!amo6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297c77a7-dd78-471d-9a21-95076939c0a3_1315x3470.png 424w, https://substackcdn.com/image/fetch/$s_!amo6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297c77a7-dd78-471d-9a21-95076939c0a3_1315x3470.png 848w, https://substackcdn.com/image/fetch/$s_!amo6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297c77a7-dd78-471d-9a21-95076939c0a3_1315x3470.png 1272w, https://substackcdn.com/image/fetch/$s_!amo6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297c77a7-dd78-471d-9a21-95076939c0a3_1315x3470.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!amo6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297c77a7-dd78-471d-9a21-95076939c0a3_1315x3470.png" width="1315" height="3470" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/297c77a7-dd78-471d-9a21-95076939c0a3_1315x3470.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3470,&quot;width&quot;:1315,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:864048,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181318106?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297c77a7-dd78-471d-9a21-95076939c0a3_1315x3470.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!amo6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297c77a7-dd78-471d-9a21-95076939c0a3_1315x3470.png 424w, https://substackcdn.com/image/fetch/$s_!amo6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297c77a7-dd78-471d-9a21-95076939c0a3_1315x3470.png 848w, https://substackcdn.com/image/fetch/$s_!amo6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297c77a7-dd78-471d-9a21-95076939c0a3_1315x3470.png 1272w, https://substackcdn.com/image/fetch/$s_!amo6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297c77a7-dd78-471d-9a21-95076939c0a3_1315x3470.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Abhishek Singh nos ofrece una interesante reflexi&#243;n sobre el rol de ingeniero Staff+. <a href="https://x.com/0xlelouch_/status/2000219449543348261">Fuente</a>.</figcaption></figure></div><p>&#161;Esto es todo! Nos vemos <strong>el pr&#243;ximo lunes</strong>, con una edici&#243;n especial de &#8220;El doble Clic&#8221;. Recuerda: si te ha gustado la <em>newsletter</em>, dale al &#8220;<em>like</em>&#8221; y suscr&#237;bete. &#161;Ya sabes c&#243;mo funcionan los algoritmos de estas plataformas!</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[Excelencia Operacional, la palanca del Tech Lead]]></title><description><![CDATA[C&#243;mo usar KPIs, SLIs y SLOs para convertir m&#233;tricas en decisiones]]></description><link>https://enespanol.joaoqalves.net/p/excelencia-operacional-la-palanca</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/excelencia-operacional-la-palanca</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Thu, 18 Dec 2025 08:53:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YFLz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7994d53f-2ef0-4eb9-b7df-6a7f586a0839_639x392.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p>Me gusta tu art&#237;culo, pero no hablas de KPIs, SLOs&#8230;</p></blockquote><p>Este fue parte del <em>feedback</em> de <a href="https://www.linkedin.com/in/fabi%C3%A1n-sell%C3%A9s-rosa-37108b27/">Fabi&#225;n</a> sobre el primer art&#237;culo de la serie de <em>Tech Leads</em> (TL). Y ten&#237;a raz&#243;n. Faltaba la pregunta inc&#243;moda: &#191;c&#243;mo sabemos si vamos bien?</p><p>Si eres <em>Tech Lead</em>, en alg&#250;n momento te van a pedir &#8220;m&#225;s velocidad&#8221;. M&#225;s <em>features</em>, m&#225;s proyectos, m&#225;s impacto. Y t&#250; vas a ver, en paralelo, m&#225;s incidencias, m&#225;s ruido de alertas, m&#225;s incertidumbre, m&#225;s tiempo perdido en investigar cosas que &#8220;no deber&#237;an pasar&#8221;. </p><p>Puedes tener buen criterio e impulsar est&#225;ndares de calidad. Pero <strong>si no puedes medir el estado del sistema ni el coste real de operarlo, operas a ciegas</strong>. Y cuando operas a ciegas, todo acaba en discusiones eternas: &#8220;yo creo que est&#225; bien&#8221;, &#8220;yo creo que no&#8221;, &#8220;esto siempre ha sido as&#237;&#8221;. Para m&#237;, eso es exactamente lo que evita la excelencia operacional.</p><p><strong>La excelencia operacional es la capacidad del equipo para entregar valor de forma sostenida</strong>, sin degradar la confianza del usuario, sin quemar al equipo y sin que cada incidente reinicie el contador. Es una disciplina, no un proyecto. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Suscr&#237;bete gratis para recibir nuevos art&#237;culos y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h1>Tres tipos de m&#233;tricas, tres intenciones distintas</h1><p>Lo primero es separar por intenci&#243;n. Si mezclas intenciones, acabar&#225;s con <em>dashboards</em> bonitos y cero decisiones.</p><h2>1) KPIs</h2><p>Empecemos separando conceptos. Los <em>Key Performance Indicators</em> (KPIs) no son solo m&#233;tricas de negocio. Hay KPIs de negocio &#8212; conversi&#243;n, retenci&#243;n, ingresos, adopci&#243;n &#8212; y KPIs internos de equipo (lead time, frecuencia de despliegue, volumen de incidentes, coste por petici&#243;n, ruido de la guardia). Ambos importan, pero responden a preguntas distintas.</p><ul><li><p>Los KPIs de negocio indican si la organizaci&#243;n est&#225; obteniendo valor.</p></li><li><p>Los KPIs internos indican a qu&#233; costes operativos y humanos se asocia ese valor.</p></li></ul><p>Un <em>Tech Lead</em> opera principalmente en este segundo plano. No porque ignore el negocio, sino porque su palanca es hacer que el sistema t&#233;cnico sea sostenible mientras el negocio crece. </p><h2>2) SLIs: &#8220;&#191;c&#243;mo se comporta el sistema?&#8221;</h2><p>Un SLI (<strong>Service Level Indicato</strong>r) es una medida observable del comportamiento de tu servicio. Ejemplos t&#237;picos:</p><ul><li><p>Disponibilidad (peticiones correctas vs. total).</p></li><li><p>Latencia (p50, p95, p99).</p></li><li><p>Tasa de errores (por tipo, por endpoint, por causa).</p></li><li><p>Frescura de datos (si hay colas, procesos en <em>batch</em>, replicaci&#243;n).</p></li><li><p>Saturaci&#243;n (CPU, memoria, <em>pool</em> de conexiones, cola, l&#237;mites de peticiones).</p></li></ul><p>Los SLIs describen la realidad. No te dicen si esa realidad es aceptable.</p><h2>3) SLOs: &#8220;&#191;qu&#233; significa &#8216;suficientemente bueno&#8217; para el usuario?&#8221;</h2><p>Un SLO (<strong>Service Level Objective</strong>) es un objetivo expl&#237;cito sobre un SLI en una ventana de tiempo. Ejemplo:</p><blockquote><p><strong>En 30 d&#237;as, el 99,9 % de las peticiones</strong> del flujo de <em>checkout</em> deben completarse correctamente en menos de 300 milissegundos.</p></blockquote><p>Los SLOs son una forma de contrato. No legal. Operativo. Un &#8220;esto es lo que garantizamos como equipo&#8221;. Una parte importante: los SLOs no son binarios. No se trata de &#8220;cumples o fallas&#8221;. Aqu&#237; entra el concepto clave: el &#8220;presupuesto de errores&#8221; (<em>error budget</em>).</p><p>Si tu SLO es del 99,9 %, est&#225;s aceptando expl&#237;citamente que el 0,1 % de las peticiones puede fallar o tardar dentro de esa ventana. Es un fallo permitido por el dise&#241;o, no un accidente. Mientras el consumo de ese &#8220;presupuesto&#8221; est&#233; bajo control, el sistema est&#225; &#8220;dentro de SLO&#8221;, aunque haya incidentes. Un incidente no significa autom&#225;ticamente que est&#233;s fuera de <em>budget</em>.</p><h3>Una buena herramienta de negociaci&#243;n </h3><p>En mi experiencia, la mayor&#237;a de las fricciones entre TL, <em>Engineering Manager</em> (EM) y <em>Product Manager</em> (PM) nacen de lo mismo: no hay una definici&#243;n compartida de &#8220;bueno&#8221;:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YFLz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7994d53f-2ef0-4eb9-b7df-6a7f586a0839_639x392.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YFLz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7994d53f-2ef0-4eb9-b7df-6a7f586a0839_639x392.png 424w, https://substackcdn.com/image/fetch/$s_!YFLz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7994d53f-2ef0-4eb9-b7df-6a7f586a0839_639x392.png 848w, https://substackcdn.com/image/fetch/$s_!YFLz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7994d53f-2ef0-4eb9-b7df-6a7f586a0839_639x392.png 1272w, https://substackcdn.com/image/fetch/$s_!YFLz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7994d53f-2ef0-4eb9-b7df-6a7f586a0839_639x392.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YFLz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7994d53f-2ef0-4eb9-b7df-6a7f586a0839_639x392.png" width="639" height="392" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7994d53f-2ef0-4eb9-b7df-6a7f586a0839_639x392.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5bedf711-1514-42a7-aa02-7fa4601cc6ba_639x392.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:392,&quot;width&quot;:639,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:42923,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181774032?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bedf711-1514-42a7-aa02-7fa4601cc6ba_639x392.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YFLz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7994d53f-2ef0-4eb9-b7df-6a7f586a0839_639x392.png 424w, https://substackcdn.com/image/fetch/$s_!YFLz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7994d53f-2ef0-4eb9-b7df-6a7f586a0839_639x392.png 848w, https://substackcdn.com/image/fetch/$s_!YFLz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7994d53f-2ef0-4eb9-b7df-6a7f586a0839_639x392.png 1272w, https://substackcdn.com/image/fetch/$s_!YFLz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7994d53f-2ef0-4eb9-b7df-6a7f586a0839_639x392.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Cada rol tiene su propia definici&#243;n de &#8220;bueno&#8221;. Para un EM, hacerlo de forma sostenida a nivel de equipo. Para el PM, el <em>timing</em> de la entrega. Y el TL, con foco en la sostenibilidad de la soluci&#243;n.</figcaption></figure></div><p>Las tres son leg&#237;timas. El problema es que si no hay un mecanismo, la discusi&#243;n se convierte en pol&#237;tica. Los SLO y los <em>error budgets </em>forman parte de ese mecanismo. Si el consumo es bajo, el equipo tiene margen para asumir riesgos, implementar cambios y impulsar nuevas funcionalidades. Si el <em>error budget</em> se quema r&#225;pido, es una se&#241;al clara de que hay que parar, estabilizar y pagar deuda.</p><p>Desde la perspectiva del Tech Lead, los SLOs y el presupuesto de errores son una de las palancas m&#225;s potentes para negociar velocidad, alcance y calidad sin recurrir a opiniones ni a la jerarqu&#237;a.</p><p>Esto no elimina las conversaciones dif&#237;ciles, pero s&#237; les da un poco de orden.</p><div><hr></div><h1>No es hacer m&#225;s <em>ops</em>, es reducir incertidumbre</h1><p>Aqu&#237; viene la parte importante para un <em>Tech Lead</em>: la excelencia operacional no es &#8220;ser SRE&#8221; ni &#8220;vivir en Grafana&#8221;. Es dise&#241;ar un sistema operativo para el equipo que minimice la incertidumbre.</p><p>Un TL lidera excelencia operacional cuando consigue que:</p><ul><li><p>Detectar problemas sea r&#225;pido.</p></li><li><p>Diagnosticar sea menos artesanal.</p></li><li><p>Mitigar sea repetible.</p></li><li><p>Aprender sea real (no un <em>incident review</em> que nadie ejecuta).</p></li><li><p>La carga de <em>on-call</em> sea sostenible.</p></li><li><p>Los <em>trade-offs</em> se deciden con datos.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><p>&#128075; Hola, soy Jo&#227;o. Este es el segundo art&#237;culo de una serie pensada para <em>Tech Leads</em> y <em>Engineering Managers</em> que quieren liderar con m&#225;s claridad e intenci&#243;n:</p><ol><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead">Se&#241;ales de un buen </a><em><a href="https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead">Tech Lead</a></em>&#8221;</p></li><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/soy-tech-lead-y-no-me-hacen-caso">Soy Tech Lead y no me hacen caso. &#191;Qu&#233; hago?</a>&#8221;</p></li><li><p>&#8220;Excelencia Operacional, la palanca del <em>Tech Lead</em>&#8221;. &#8592; Este art&#237;culo</p></li><li><p>&#8220;Antipatrones de un Tech Lead&#8221; &#8592; enero de 2026. Suscr&#237;bete para no perderlo.</p></li><li><p>Continuar&#225;&#8230;</p></li></ol><p>Estoy escribiendo &#8220;El Manual del Tech Lead&#8221;, cuyo lanzamiento est&#225; previsto para la primera mitad de 2026. Las ideas de esta serie ser&#225;n su base.</p><p><strong>Si quieres unirte a la lista de espera, recibir&#225;s un 25 % de descuento</strong> en el lanzamiento.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://forms.gle/KcoFyuJ8zV4FUFJu6&quot;,&quot;text&quot;:&quot;Unirme a la lista de espera&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://forms.gle/KcoFyuJ8zV4FUFJu6"><span>Unirme a la lista de espera</span></a></p><div><hr></div><h1>&#191;Qu&#233; debe liderar? &#191;Qu&#233; debe influir?</h1><p>Aqu&#237; conviene ser n&#237;tido, porque si no, el TL intenta abarcarlo todo y se convierte en un cuello de botella.</p><h3>El TL deber&#237;a liderar</h3><ul><li><p><strong>Definici&#243;n de SLIs y SLOs</strong> que representen la experiencia de usuario, no de m&#233;tricas de vanidad.</p></li><li><p><strong>Filosof&#237;a de alertas</strong>: alertar por s&#237;ntomas visibles para el usuario, no por causas internas del sistema<strong>.</strong></p></li><li><p><strong>Instrumentaci&#243;n m&#237;nima</strong>: <em>logs</em>, trazas, m&#233;tricas y est&#225;ndares de diagn&#243;stico.</p></li><li><p><strong>Higiene en la gesti&#243;n de incidentes</strong>:<strong> </strong><em>runbooks</em> claros, alertas con contexto e <em>incident reviews</em> estructuradas.</p></li><li><p><strong>Cadencias</strong>: revisi&#243;n peri&#243;dica de los SLOs y de las acciones.</p></li></ul><h3>El TL deber&#237;a influir</h3><ul><li><p>Pol&#237;tica de <em>error budget</em> y c&#243;mo afecta al roadmap (con PM/EM).</p></li><li><p>Priorizaci&#243;n: cu&#225;nto tiempo se dedica a la fiabilidad vs. a las nuevas funcionalidades (con EM/PM).</p></li><li><p>Definici&#243;n de KPIs t&#233;cnicamente medibles y no &#8220;deseos&#8221; (con PM).</p></li><li><p>Inversi&#243;n en herramientas (con EM y el equipo de plataforma correspondiente, si corresponde).</p></li></ul><h3>El TL no deber&#237;a cargar solo</h3><ul><li><p>Gesti&#243;n de rotaciones y l&#237;mites de guardias (EM).</p></li><li><p>Comunicaci&#243;n externa, decisiones sobre el <em>roadmap</em> y la narrativa de producto (PM).</p></li><li><p>Acuerdos transversales a toda la organizaci&#243;n, negociaci&#243;n pol&#237;tica con <em>stakeholders </em>de otros equipos (EM/PM, seg&#250;n contexto).</p></li></ul><p>El TL participa en todo. Pero no &#8220;posee&#8221; todo.</p><div><hr></div><h2>Diferentes tipos de equipo, el mismo rol</h2><p>Hasta ahora he hablado de KPIs, SLIs y SLOs de forma relativamente abstracta. En la pr&#225;ctica, su dise&#241;o depende en gran medida del tipo de equipo en el que est&#233;s. M&#225;s concretamente: &#191;d&#243;nde est&#225; el centro de gravedad del equipo?</p><p>No suele haber equipos &#8220;puros&#8221;. La mayor&#237;a opera en un punto intermedio. De hecho, si usas el marco de <em>Team Topologies</em>, lo que suele cambiar no es tanto el tipo de equipo, sino su centro de gravedad: algunos equipos est&#225;n m&#225;s orientados a construir y operar plataformas y otros a entregar valor directo al producto. El marco es el mismo. Lo que cambia es el foco.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Suscr&#237;bete gratis para recibir nuevos art&#237;culos y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h3>Equipos de Plataforma</h3><p>En equipos de Plataforma &#8212; infraestructura en la nube, componentes compartidos, servicios <em>multi-tenant</em> &#8212; , tu usuario principal suele ser otro equipo. Eso cambia c&#243;mo defines &#8220;bueno&#8221;.</p><p>Empezando por SLIs y SLOs. Un SLI agregado a nivel global suele ocultar problemas reales. Necesitas visibilidad por <em>tenant</em>, por cl&#250;ster o por una partici&#243;n l&#243;gica del sistema.</p><p>Adem&#225;s, el soporte forma parte expl&#237;citamente del servicio. El tiempo de primera respuesta o de resoluci&#243;n puede ser SLO perfectamente leg&#237;timo. Lo mismo ocurre con la documentaci&#243;n y el <em>self-serve</em>: reducen los <em>tickets</em>, las interrupciones y la incertidumbre. Tambi&#233;n forman parte de la fiabilidad.</p><p>En este contexto, los KPIs que m&#225;s palanca le dan a un TL suelen ser <strong>internos y operativos</strong>:</p><ul><li><p>N&#250;mero de equipos o integraciones activas.</p></li><li><p>Volumen de tickets y capacidad de deflexi&#243;n (cu&#225;nto se resuelve sin intervenci&#243;n humana).</p></li><li><p>Coste unitario: por petici&#243;n, por tenant o por operaci&#243;n clave.</p></li><li><p>Ruido operativo: incidencias recurrentes, alertas, carga de guardias.</p></li></ul><p>Estos KPIs no miden directamente el &#233;xito de negocio. Miden si la plataforma es <strong>escalable y sostenible</strong> a medida que la organizaci&#243;n crece.</p><h3><strong>Antipatr&#243;n habitual</strong></h3><p>Optimizar la estabilidad y el coste sin una se&#241;al clara de adopci&#243;n ni de valor real para los equipos usuarios. El sistema funciona, pero nadie lo usa. La excelencia operacional sin impacto tambi&#233;n es deuda.</p><h3>Equipos de Producto</h3><p>En equipos de Producto &#8212; que lanzan y mantienen funcionalidades orientadas al usuario final &#8212;, el foco se desplaza hacia la experiencia de ese usuario.</p><p>Aqu&#237;, los SLOs (p.ej., disponibilidad) no deber&#237;an definirse por servicios o endpoints, sino por <strong>flujos cr&#237;ticos</strong>: buscar, pagar, publicar, reservar. La latencia media importa poco si el paso clave del <em>funnel</em> es lento o falla. La correcci&#243;n tambi&#233;n se define a nivel de negocio. Un HTTP 200 no sirve de mucho si el resultado es incorrecto.</p><p>Esto no significa que en los equipos de Producto no existan KPIs internos. Los hay, y son igual de importantes. Desde la perspectiva del TL, conviven aqu&#237; dos planos.</p><p>Por un lado, <strong>KPIs internos operativos</strong>:</p><ul><li><p>N&#250;mero y severidad de incidencias.</p></li><li><p>Ruido de alertas y de carga de guardias.</p></li><li><p><em>Lead time</em>, frecuencia de despliegue y fallos en producci&#243;n. (ej. m&#233;tricas <a href="https://cloud.google.com/blog/products/devops-sre/using-the-four-keys-to-measure-your-devops-performance">DORA</a> )</p></li><li><p>Coste operativo por petici&#243;n o por usuario.</p></li></ul><p>Por otro, <strong>se&#241;ales t&#233;cnicas muy cercanas al producto</strong>:</p><ul><li><p>Sesiones sin <em>crashes</em>.</p></li><li><p>Rendimiento por dispositivo, versi&#243;n o segmento.</p></li><li><p>Errores funcionales que no generan fallos t&#233;cnicos evidentes.</p></li></ul><p>Estos KPIs internos no sustituyen a los KPIs de negocio, pero los condicionan. Si el sistema es lento, inestable o caro de operar, la conversi&#243;n, la retenci&#243;n y los experimentos acaban degrad&#225;ndose, aunque al principio no lo sea.</p><p>Aqu&#237; conviene ser expl&#237;cito sobre los l&#237;mites del rol: el PM persigue el resultado. El TL garantiza que el sistema puede perseguirlo sin que se rompa.</p><h3><strong>Antipatr&#243;n habitual</strong></h3><p>Optimizar la conversi&#243;n y la experimentaci&#243;n mientras los KPIs internos se degradan. Al principio todo parece ir bien. Luego la velocidad cae en picado y cada cambio cuesta el doble.</p><h3>El punto com&#250;n</h3><p>Independientemente del centro de gravedad, el trabajo del Tech Lead es el mismo: definir qu&#233; significa &#8220;bueno&#8221;, medirlo con honestidad y convertir esas se&#241;ales en decisiones.</p><p>Lo que cambia no es el rol del TL, sino el lugar donde la excelencia operacional genera un mayor impacto.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/excelencia-operacional-la-palanca?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/excelencia-operacional-la-palanca?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/excelencia-operacional-la-palanca?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><h2>Un sistema simple que funciona</h2><p>La mayor&#237;a de los equipos no falla por falta de m&#233;tricas. Falla porque esas m&#233;tricas no cambian ninguna decisi&#243;n. No porque no tenga m&#233;tricas, sino porque no consigue que influyan en el trabajo real del equipo. La clave no es la herramienta ni el nivel de sofisticaci&#243;n, sino cerrar el ciclo: <strong>medir, decidir y actuar</strong>.</p><p>En la pr&#225;ctica, los equipos que lo hacen bien comparten un patr&#243;n com&#250;n: pocos indicadores bien elegidos, objetivos expl&#237;citos y una cadencia regular para convertir se&#241;ales en decisiones. Normalmente esto implica:</p><ul><li><p><strong>Un conjunto reducido de SLIs</strong> que representen el comportamiento real del sistema.</p></li><li><p><strong>Uno o dos SLOs</strong> por flujo cr&#237;tico.</p></li><li><p>Alertas que indiquen cu&#225;ndo el sistema de verdad se est&#225; degradando.</p></li><li><p>Una regla clara sobre qu&#233; hacer cuando eso ocurre.</p></li><li><p><strong>Revisiones peri&#243;dicas</strong> que se traduzcan en acciones concretas.</p></li></ul><div><hr></div><p><strong>&#127873; &#191;Quieres aterrizar esto en tu equipo?</strong></p><p>A lo largo del art&#237;culo he hablado de KPIs, SLIs y SLOs, y de c&#243;mo usarlos para tomar mejores decisiones. Pero la diferencia no est&#225; en entender los conceptos, sino en ponerlos a trabajar en el d&#237;a a d&#237;a del equipo. Para eso he preparado dos plantillas pr&#225;cticas que uso con los equipos:</p><ul><li><p>Definir KPIs, SLIs y SLOs y dejar claro qu&#233; significa &#8220;bueno&#8221; en tu contexto.</p></li><li><p>Revisi&#243;n mensual para convertir esas m&#233;tricas en decisiones reales, no en dashboards.</p></li></ul><p>No son <em>frameworks</em> te&#243;ricos ni recetas universales. Son artefactos simples para cerrar el ciclo: medir, decidir y actuar.</p><p>Suscr&#237;bete y rellena este formulario para que te los env&#237;e. Gratis.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/survey/5292642?token=&quot;,&quot;text&quot;:&quot;Descargar gu&#237;a de SLIs, SLOs y revisi&#243;n mensual&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/survey/5292642?token="><span>Descargar gu&#237;a de SLIs, SLOs y revisi&#243;n mensual</span></a></p><p><strong>Nota</strong>: si ya has pedido acceso al <em>toolkit</em> de alineaci&#243;n EM/TL, no es algo nuevo que tengas que descargar. Los templates de KPIs, SLIs y SLOs, y la revisi&#243;n mensual forman parte del mismo documento que ya tienes: el toolkit con el sem&#225;foro de autoevaluaci&#243;n, que acompa&#241;a al plan de 90 d&#237;as para Tech Leads.</p><div><hr></div><h2>La excelencia operacional es c&#243;mo compras velocidad</h2><p>Volviendo a lo que contaba en mytaxi, aprend&#237; algo bastante simple: <strong>tener raz&#243;n no sirve de mucho si no puedes mover al equipo</strong>. Y mover al equipo no consiste en explicar mejor las cosas, sino en cambiar el marco en el que se toman las decisiones.</p><p>Cuando trabajas con SLIs, SLOs y KPIs bien definidos, dejas de pedir fe y de discutir sensaciones. Empiezas a operar con un sistema que hace visibles los <em>trade-offs</em> y facilita la toma de decisiones.</p><p>Ese es, para m&#237;, uno de los mayores aportes de un <em>Tech Lead</em>: convertir conversaciones difusas en decisiones repetibles y decisiones repetibles en una velocidad que se puede sostener.</p><p>Porque el objetivo nunca fue tener menos incidentes por orgullo t&#233;cnico. El objetivo es entregar valor de forma constante, sin quemar al equipo y sin vivir con la sensaci&#243;n de que cualquier lunes a las nueve de la ma&#241;ana puede estallar todo.</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[El doble clic — Semana del 15 de diciembre]]></title><description><![CDATA[Rastrear la procedencia de c&#243;digo generador por IA, c&#243;mo Subito ha incorporado tests de accesibilidad en sus pipeline, cultura de ingenier&#237;a y &#161;mucho m&#225;s!]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-15-de-diciembre</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-15-de-diciembre</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 15 Dec 2025 05:57:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7Iyi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a la quinta edici&#243;n de &#8220;<strong>El doble clic&#8221;</strong><em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><div><hr></div><p><strong>Nota</strong>: debido a la Navidad, har&#233; una pausa en los art&#237;culos largos. Esta secci&#243;n (&#8220;El doble clic&#8221;) seguir&#225; activa. Las siguientes publicaciones ser&#225;n:</p><ul><li><p>El doble clic &#8594; 22 y 29 de diciembre, y 5 de enero de 2026</p></li><li><p>El art&#237;culo del jueves, de la serie de los Tech Leads &#8594; 8 de enero de 2026. Puedes repasar la serie en estos enlaces:</p><ul><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead">Se&#241;ales de un buen tech lead</a>&#8221;</p></li><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/soy-tech-lead-y-no-me-hacen-caso">Soy Tech Lead y no me hacen caso. &#191;Qu&#233; hago?</a>&#8221;</p></li></ul></li></ul><div><hr></div><h1>Lo mejor de la semana</h1><p>&#127466;&#127480; (5&#8217;) <a href="https://x.com/jerolba">Jero</a> nos ofrece una introducci&#243;n pr&#225;ctica sobre <strong><a href="https://www.jerolba.com/integracion-de-spring-batch-con-parquet/">c&#243;mo extender Spring Batch para trabajar directamente con ficheros Parquet</a></strong>. El art&#237;culo explica por qu&#233; este formato columnar encaja mejor con las arquitecturas modernas de <em>Data Lake</em> y c&#243;mo <a href="https://github.com/jerolba/parquet-carpet">Carpet</a> facilita integrarlo en procesos <em>batch</em> en Java sin recurrir a otros stacks.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9P2b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb86bc4a-faa4-4518-b06a-9fd79863907e_809x729.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9P2b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb86bc4a-faa4-4518-b06a-9fd79863907e_809x729.png 424w, https://substackcdn.com/image/fetch/$s_!9P2b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb86bc4a-faa4-4518-b06a-9fd79863907e_809x729.png 848w, https://substackcdn.com/image/fetch/$s_!9P2b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb86bc4a-faa4-4518-b06a-9fd79863907e_809x729.png 1272w, https://substackcdn.com/image/fetch/$s_!9P2b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb86bc4a-faa4-4518-b06a-9fd79863907e_809x729.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9P2b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb86bc4a-faa4-4518-b06a-9fd79863907e_809x729.png" width="809" height="729" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db86bc4a-faa4-4518-b06a-9fd79863907e_809x729.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:729,&quot;width&quot;:809,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:108586,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181315940?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb86bc4a-faa4-4518-b06a-9fd79863907e_809x729.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9P2b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb86bc4a-faa4-4518-b06a-9fd79863907e_809x729.png 424w, https://substackcdn.com/image/fetch/$s_!9P2b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb86bc4a-faa4-4518-b06a-9fd79863907e_809x729.png 848w, https://substackcdn.com/image/fetch/$s_!9P2b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb86bc4a-faa4-4518-b06a-9fd79863907e_809x729.png 1272w, https://substackcdn.com/image/fetch/$s_!9P2b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb86bc4a-faa4-4518-b06a-9fd79863907e_809x729.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Carpet es una librer&#237;a en Java, creada por Jero, que facilita el trabajo con el formato Parquet. <a href="https://carpet.jerolba.com/">Fuente</a>.</figcaption></figure></div><p></p><div><hr></div><p>&#127466;&#127480; (6&#8217;) Un <strong><a href="https://javisantana.substack.com/p/recortes-2025">repaso muy personal del a&#241;o de Javier Santana</a></strong>. Mezcla de lecturas, frases que se le han quedado grabadas y momentos tanto profesionales como emocionales. Destaca aprendizajes sobre liderazgo y energ&#237;a (Snowflake), el equilibrio entre trabajo remoto y eficacia (Vercel), la trampa de trabajar mucho sin preguntarse si es lo correcto (Jason Fried) y la idea de que no se puede competir con quien disfruta de lo que hace.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Suscr&#237;bete gratis para recibir nuevos art&#237;culos y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>&#127468;&#127463; (5&#8217;) Bojan y Alessandro, de Subito, cuentan <strong><a href="https://dev.to/subito/how-we-automate-accessibility-testing-with-playwright-and-axe-3ok5">c&#243;mo han incorporado la accesibilidad en su </a></strong><em><strong><a href="https://dev.to/subito/how-we-automate-accessibility-testing-with-playwright-and-axe-3ok5">pipeline </a></strong></em><strong><a href="https://dev.to/subito/how-we-automate-accessibility-testing-with-playwright-and-axe-3ok5">de tests</a></strong> usando Playwright y Axe: una combinaci&#243;n ligera que aprovecha su bater&#237;a de tests E2E existente para detectar problemas b&#225;sicos en p&#225;ginas cr&#237;ticas y generar informes en cada despliegue. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xYfT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e9273c-4296-48b2-ab87-f80b972d91be_800x637.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xYfT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e9273c-4296-48b2-ab87-f80b972d91be_800x637.webp 424w, https://substackcdn.com/image/fetch/$s_!xYfT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e9273c-4296-48b2-ab87-f80b972d91be_800x637.webp 848w, https://substackcdn.com/image/fetch/$s_!xYfT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e9273c-4296-48b2-ab87-f80b972d91be_800x637.webp 1272w, https://substackcdn.com/image/fetch/$s_!xYfT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e9273c-4296-48b2-ab87-f80b972d91be_800x637.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xYfT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e9273c-4296-48b2-ab87-f80b972d91be_800x637.webp" width="800" height="637" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0e9273c-4296-48b2-ab87-f80b972d91be_800x637.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:637,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:42598,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181315940?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e9273c-4296-48b2-ab87-f80b972d91be_800x637.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xYfT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e9273c-4296-48b2-ab87-f80b972d91be_800x637.webp 424w, https://substackcdn.com/image/fetch/$s_!xYfT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e9273c-4296-48b2-ab87-f80b972d91be_800x637.webp 848w, https://substackcdn.com/image/fetch/$s_!xYfT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e9273c-4296-48b2-ab87-f80b972d91be_800x637.webp 1272w, https://substackcdn.com/image/fetch/$s_!xYfT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e9273c-4296-48b2-ab87-f80b972d91be_800x637.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">En vez de romper <em>builds</em>, los resultados se agrupan en un GitHub Issue que act&#250;a como registro vivo de la deuda de accesibilidad. <a href="https://dev.to/subito/how-we-automate-accessibility-testing-with-playwright-and-axe-3ok5">Fuente</a>.</figcaption></figure></div><p></p><div><hr></div><p>&#127468;&#127463; (5&#8217;) <a href="https://x.com/psluaces">Pablo Santos</a> nos trae un nuevo art&#237;culo que sostiene que, con cada vez m&#225;s c&#243;digo generado por asistentes de IA, <strong><a href="https://medium.com/@psluaces/track-prompt-provenance-in-version-control-8746e2bad3c2">los sistemas de control de versiones deben registrar no solo qu&#233; cambi&#243;</a></strong> y qui&#233;n lo cambi&#243;, sino tambi&#233;n si lo produjo una IA y bajo qu&#233; prompt o intenci&#243;n. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Iyi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Iyi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png 424w, https://substackcdn.com/image/fetch/$s_!7Iyi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png 848w, https://substackcdn.com/image/fetch/$s_!7Iyi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png 1272w, https://substackcdn.com/image/fetch/$s_!7Iyi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Iyi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png" width="665" height="324" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:324,&quot;width&quot;:665,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:50549,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181315940?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7Iyi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png 424w, https://substackcdn.com/image/fetch/$s_!7Iyi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png 848w, https://substackcdn.com/image/fetch/$s_!7Iyi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png 1272w, https://substackcdn.com/image/fetch/$s_!7Iyi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39c51d1-9240-4ae2-9f2d-8e828f2a2271_665x324.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Pablo nos trae una reflexi&#243;n sobre la <em>procedencia del c&#243;digo</em> en la era de la IA generativa. <a href="https://medium.com/@psluaces/track-prompt-provenance-in-version-control-8746e2bad3c2">Fuente</a>.</figcaption></figure></div><p>Esa procedencia (<em>provenance</em> en ingl&#233;s) enriquecer&#237;a el <em><a href="https://git-scm.com/docs/git-annotate">annotate/blame</a></em>, facilitar&#237;a el cumplimiento normativo, permitir&#237;a regenerar c&#243;digo a partir de la intenci&#243;n original con modelos m&#225;s recientes y convertir&#237;a el historial de commits en una base de conocimiento consultable v&#237;a RAG.</p><div><hr></div><p>&#127466;&#127480; (1h 10&#8217;) Os dejo una conversaci&#243;n amplia con <a href="https://x.com/jcesarperez">Julio C&#233;sar P&#233;rez</a> sobre qu&#233; define una buena cultura de ingenier&#237;a: tratar a los ingenieros como solucionadores de problemas, cuidar a las personas y apostar por la mejora continua. Defiende la motivaci&#243;n basada en el prop&#243;sito, la autonom&#237;a y la maestr&#237;a. Julio critica el &#8220;clasismo&#8221; que minusvalora a quienes provienen de consultoras y propone una calidad &#8220;suficiente&#8221; seg&#250;n el contexto del negocio.</p><div id="youtube2-h3-QURUjdr8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;h3-QURUjdr8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/h3-QURUjdr8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Habla tambi&#233;n de liderazgo realista &#8212; entre las presiones del negocio y las necesidades del equipo &#8212;, de procesos de selecci&#243;n m&#225;s humanos y eficaces, y del valor que aportan los juniors incluso en plena era de la IA. Su receta es resolver problemas reales, avanzar en peque&#241;os pasos y no esperar permiso para mejorar las cosas.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-15-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-15-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-15-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><h1>Publicaciones en X</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OAjB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a73da7-4e45-4ed4-a796-7d1dbab1a827_1358x1039.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OAjB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a73da7-4e45-4ed4-a796-7d1dbab1a827_1358x1039.png 424w, https://substackcdn.com/image/fetch/$s_!OAjB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a73da7-4e45-4ed4-a796-7d1dbab1a827_1358x1039.png 848w, https://substackcdn.com/image/fetch/$s_!OAjB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a73da7-4e45-4ed4-a796-7d1dbab1a827_1358x1039.png 1272w, https://substackcdn.com/image/fetch/$s_!OAjB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a73da7-4e45-4ed4-a796-7d1dbab1a827_1358x1039.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OAjB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a73da7-4e45-4ed4-a796-7d1dbab1a827_1358x1039.png" width="1358" height="1039" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0a73da7-4e45-4ed4-a796-7d1dbab1a827_1358x1039.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1039,&quot;width&quot;:1358,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:216506,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181315940?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a73da7-4e45-4ed4-a796-7d1dbab1a827_1358x1039.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OAjB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a73da7-4e45-4ed4-a796-7d1dbab1a827_1358x1039.png 424w, https://substackcdn.com/image/fetch/$s_!OAjB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a73da7-4e45-4ed4-a796-7d1dbab1a827_1358x1039.png 848w, https://substackcdn.com/image/fetch/$s_!OAjB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a73da7-4e45-4ed4-a796-7d1dbab1a827_1358x1039.png 1272w, https://substackcdn.com/image/fetch/$s_!OAjB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a73da7-4e45-4ed4-a796-7d1dbab1a827_1358x1039.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Carlos Santana nos explica que le falta tiempo para hacer todo lo que querr&#237;a con IA. <a href="https://x.com/DotCSV/status/1998432673656664205?s=20">Fuente</a>.</figcaption></figure></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ftr_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e55585c-2c47-4656-87d8-3529b2a6614b_1435x2004.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ftr_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e55585c-2c47-4656-87d8-3529b2a6614b_1435x2004.png 424w, https://substackcdn.com/image/fetch/$s_!Ftr_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e55585c-2c47-4656-87d8-3529b2a6614b_1435x2004.png 848w, https://substackcdn.com/image/fetch/$s_!Ftr_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e55585c-2c47-4656-87d8-3529b2a6614b_1435x2004.png 1272w, https://substackcdn.com/image/fetch/$s_!Ftr_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e55585c-2c47-4656-87d8-3529b2a6614b_1435x2004.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ftr_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e55585c-2c47-4656-87d8-3529b2a6614b_1435x2004.png" width="1435" height="2004" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e55585c-2c47-4656-87d8-3529b2a6614b_1435x2004.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2004,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:462821,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181315940?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e55585c-2c47-4656-87d8-3529b2a6614b_1435x2004.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ftr_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e55585c-2c47-4656-87d8-3529b2a6614b_1435x2004.png 424w, https://substackcdn.com/image/fetch/$s_!Ftr_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e55585c-2c47-4656-87d8-3529b2a6614b_1435x2004.png 848w, https://substackcdn.com/image/fetch/$s_!Ftr_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e55585c-2c47-4656-87d8-3529b2a6614b_1435x2004.png 1272w, https://substackcdn.com/image/fetch/$s_!Ftr_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e55585c-2c47-4656-87d8-3529b2a6614b_1435x2004.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Karri Saarinen, CEO de Linear, nos habla de c&#243;mo equilibra calidad y rapidez al desarrollar productos. Fuente. </figcaption></figure></div><p>&#161;Esto es todo! Nos vemos <strong>el jueves</strong>, con el tercer art&#237;culo de la serie de <em>Tech Leads</em> y la semana que viene. Recuerda: si te ha gustado la <em>newsletter</em>, dale al &#8220;<em>like</em>&#8221; y suscr&#237;bete. &#161;Ya sabes c&#243;mo funcionan los algoritmos de estas plataformas!</p><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[Soy Tech Lead y no me hacen caso. ¿Qué hago?]]></title><description><![CDATA[C&#243;mo ganarte el derecho a influir en tu equipo]]></description><link>https://enespanol.joaoqalves.net/p/soy-tech-lead-y-no-me-hacen-caso</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/soy-tech-lead-y-no-me-hacen-caso</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Thu, 11 Dec 2025 08:51:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5HC-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172e487-7655-472f-99c4-bd595c8a9857_834x544.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>En junio de 2018 entr&#233; como <em>Backend Chapter Lead</em> en mytaxi (<a href="https://www.free-now.com/uk/">FREE NOW</a>), un competitor de Uber en el sector del <em>ride-hailing. </em>Estaba buscando una oportunidad para crecer en el liderazgo t&#233;cnico. La verdad, no sab&#237;a ni muy bien qu&#233; quer&#237;a decir &#8220;<em>Chapter Lead&#8221;</em>. Buscando un poco, vi que era parte del modelo de squads (equipos) y chapters (dominios horizontales como iOS, Android, Backend, Data, etc.) de <a href="https://agile-frameworks.com/_spotify/spotify.html">Spotify</a>. Y <em>tribes </em>(conjuntos de<em> squads </em>organizados en dominios verticales; p. ej., todo lo relacionado con el conductor).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5HC-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172e487-7655-472f-99c4-bd595c8a9857_834x544.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5HC-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172e487-7655-472f-99c4-bd595c8a9857_834x544.png 424w, https://substackcdn.com/image/fetch/$s_!5HC-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172e487-7655-472f-99c4-bd595c8a9857_834x544.png 848w, https://substackcdn.com/image/fetch/$s_!5HC-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172e487-7655-472f-99c4-bd595c8a9857_834x544.png 1272w, https://substackcdn.com/image/fetch/$s_!5HC-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172e487-7655-472f-99c4-bd595c8a9857_834x544.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5HC-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172e487-7655-472f-99c4-bd595c8a9857_834x544.png" width="834" height="544" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a172e487-7655-472f-99c4-bd595c8a9857_834x544.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:544,&quot;width&quot;:834,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:360271,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181222085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172e487-7655-472f-99c4-bd595c8a9857_834x544.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5HC-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172e487-7655-472f-99c4-bd595c8a9857_834x544.png 424w, https://substackcdn.com/image/fetch/$s_!5HC-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172e487-7655-472f-99c4-bd595c8a9857_834x544.png 848w, https://substackcdn.com/image/fetch/$s_!5HC-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172e487-7655-472f-99c4-bd595c8a9857_834x544.png 1272w, https://substackcdn.com/image/fetch/$s_!5HC-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172e487-7655-472f-99c4-bd595c8a9857_834x544.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Modelo de <em>squads</em>, <em>tribes</em>, <em>chapters</em> y <em>guilds</em> popularizado por Spotify. <a href="https://agile-frameworks.com/_spotify/spotify.html">Fuente</a>.</figcaption></figure></div><p>Ese rol ten&#237;a un doble componente:</p><ol><li><p><strong>Liderazgo t&#233;cnico de backend</strong> (TL) mediante buenas pr&#225;cticas y con &#233;nfasis en la mejora continua. En esa &#233;poca, mytaxi crec&#237;a bastante en tr&#225;fico. Algunos de sus servicios &#8212; por ejemplo, el que se usaba para incentivar a los conductores a hacer m&#225;s carreras &#8212; presentaban picos de tr&#225;fico significativos y requer&#237;an mejoras, rearquitecturas, etc. Por otro lado, hab&#237;a unos 200 y pocos servicios que gestionar, en total.</p></li><li><p><strong>Gesti&#243;n de personas</strong>, de forma horizontal. La idea era que los <em>backends</em> reportaran todos a m&#237; o a <a href="https://www.linkedin.com/in/ariel-cardieri-6971261/">Ariel</a> &#8212; el otro <em>Chapter Lead &#8212;</em>, independientemente del equipo. No es un <em>set-up </em>muy ortodoxo, pero en esa &#233;poca entraban quiz&#225; 3-5<em> backends</em> cada mes y hab&#237;a la necesidad de hacer que esta gente se volviese productiva lo m&#225;s r&#225;pido posible, alinear la arquitectura y el producto no paraba!</p></li></ol><p>Yo ven&#237;a sin ning&#250;n tipo de experiencia previa (formal) como <em>Tech Lead</em> y creo que nunca le&#237; tanto en mi vida como ese mes en que anunci&#233; que dejaba mi trabajo anterior y entraba en mytaxi. No solo eso, sino que nunca hab&#237;a tenido un TL de verdad del que aprender. &#191;Qu&#233; podr&#237;a salir mal?</p><div><hr></div><p>El primer d&#237;a fue muy divertido. Entro a Slack y me presento al manager de infraestructura/plataforma. Y me dice:</p><blockquote><p>Oye, por cierto, ten&#233;is un incidente en el servicio X. Lo podr&#237;as mirar?</p></blockquote><p>As&#237;, en fr&#237;o. Son las nueve de la ma&#241;ana de un lunes y tenemos un incidente. &#161;Que no s&#233; ni d&#243;nde est&#225;n los <em>logs</em>, Henning! Pasado ese susto inicial, soy capaz de dar con el equipo responsable, que identifica el problema, lo soluciona y todo queda arreglado.</p><p>Esta primera interacci&#243;n me hace ver varias cosas:</p><ol><li><p>Ninguno sabe gestionar incidentes, documentar los problemas encontrados ni comunicar el avance. &#161;Empezamos bien!</p></li><li><p>No hay cultura de hacer una &#8220;retrospectiva&#8221;  (<em>incident review)</em> ni de sacar acciones que eviten ese tipo de incidentes en el futuro</p></li><li><p>Hay cierto acoplamiento entre dominios. En este caso, se utilizaba el concepto de Impuesto sobre el Valor Agregado (IVA) para dos casos de uso totalmente distintos. Y un cambio en uno de ellos provoc&#243; el incidente en el otro.</p></li><li><p>Mucha gente no sabe depurar (<em>debugging</em>). Me miran como si los <em>logs</em> hablaran conmigo o si fuera Harry Potter.</p></li></ol><p><br>La parte buena es que hab&#237;a, claramente, mucho que arreglar. Yo ten&#237;a bastante claro c&#243;mo se podr&#237;a mejorar la cultura de ingenier&#237;a. Encima, ten&#237;a el t&#237;tulo de <em>Tech Lead</em>. &#161;Estaba chupado! O no&#8230;</p><div><hr></div><p>&#128075; Hola, soy Jo&#227;o. Este es el segundo art&#237;culo de una serie pensada para <em>Tech Leads</em> y <em>Engineering Managers</em> que quieren liderar con m&#225;s claridad e intenci&#243;n:</p><ol><li><p>&#8220;<a href="https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead">Se&#241;ales de un buen tech lead</a>&#8221;</p></li><li><p>&#8220;Soy Tech Lead y no me hacen caso. &#191;Qu&#233; hago?&#8221; &#8592; Este art&#237;culo</p></li><li><p>&#8220;KPIs, SLOs y excelencia operacional&#8221;. Pr&#243;ximamente. Suscr&#237;bete para no perderlo</p></li><li><p>Continuar&#225;&#8230;</p></li></ol><p>Estoy escribiendo &#8220;El Manual del Tech Lead&#8221;, cuyo lanzamiento est&#225; previsto para la primera mitad de 2026. Las ideas de esta serie ser&#225;n su base.</p><p><strong>Si quieres unirte a la lista de espera, recibir&#225;s un 25 % de descuento</strong> en el lanzamiento.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://forms.gle/UHLPWz8VTe2CcDSt8&quot;,&quot;text&quot;:&quot;Unirme a la lista de espera&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://forms.gle/UHLPWz8VTe2CcDSt8"><span>Unirme a la lista de espera</span></a></p><div><hr></div><h1>La confianza</h1><p>Despu&#233;s de ese incidente, cre&#233; un documento de <em>incident review </em>y suger&#237; una peque&#241;a revisi&#243;n de las tareas que deber&#237;an priorizarse para evitar que se repitiera. Me vine arriba y cre&#233; una primera presentaci&#243;n para los dem&#225;s <em>Chapter Leads </em>de <em>backend</em> con una estrategia para el <em>backend</em>. Ya no me acuerdo al 100%, pero hab&#237;a arquitectura hexagonal, una pir&#225;mide de pruebas (tests) que inclu&#237;a tests de contrato para no romper las APIs que usaban las aplicaciones m&#243;viles, y m&#225;s. Pasan los d&#237;as y pienso: </p><blockquote><p>Mierda, nadie me hace caso. &#161;S&#237;, me he currado un mont&#243;n las diapositivas y la estrategia!</p></blockquote><p>La raz&#243;n, hoy en d&#237;a, me parece obvia: los t&#237;tulos no confieren influencia. Para influir, es necesario generar confianza.  Y yo a&#250;n no me la hab&#237;a ganado lo suficiente como para proponer algo tan fundamental. Ya sea a trav&#233;s de mi propia experiencia o de sesiones de <em>coaching</em>, este error lo he visto <em>clavado</em> en varias otras ocasiones a lo largo de mi carrera.</p><p>A&#241;os m&#225;s tarde descubr&#237; la c&#233;lebre <a href="https://www.designative.info/2025/06/02/book-review-trusted-advisor-david-maister-charles-green-robert-galford/">ecuaci&#243;n de la confianza de Maister, Green y Galford</a>. Me habr&#237;a venido de maravilla en aquella &#233;poca. Dice lo siguiente:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h41l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2329ca98-aac1-4340-84ad-13f1ba86e402_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h41l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2329ca98-aac1-4340-84ad-13f1ba86e402_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!h41l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2329ca98-aac1-4340-84ad-13f1ba86e402_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!h41l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2329ca98-aac1-4340-84ad-13f1ba86e402_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!h41l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2329ca98-aac1-4340-84ad-13f1ba86e402_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h41l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2329ca98-aac1-4340-84ad-13f1ba86e402_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2329ca98-aac1-4340-84ad-13f1ba86e402_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6068098,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181222085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2329ca98-aac1-4340-84ad-13f1ba86e402_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h41l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2329ca98-aac1-4340-84ad-13f1ba86e402_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!h41l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2329ca98-aac1-4340-84ad-13f1ba86e402_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!h41l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2329ca98-aac1-4340-84ad-13f1ba86e402_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!h41l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2329ca98-aac1-4340-84ad-13f1ba86e402_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Ecuaci&#243;n de la confianza. Generada con Gemini 3 / NanoBanana.</figcaption></figure></div><p>La primera vez que la le&#237;, me explot&#243; la cabeza porque describ&#237;a exactamente lo que me estaba pasando. Vamos a desglosarla:</p><ul><li><p><strong>Credibilidad:</strong> saber de lo que hablas. Tener criterio t&#233;cnico. Que cuando dices algo, la gente sienta que est&#225; bien fundamentado. En 2018 quiz&#225; ten&#237;a parte de esta credibilidad, pero a&#250;n no estaba demostrada en ese contexto, con esa gente, con esos sistemas. Ven&#237;a de fuera. Y la credibilidad importada siempre vale menos &#8212; a menos que vengas de una FAANG o te hayas construido una marca personal &#8212; que la credibilidad ganada en el terreno.</p></li><li><p><strong>Fiabilidad</strong>: cumplir lo que dices. Ser constante. Estar cuando toque. En un entorno de alto ritmo como el de mytaxi, esto pesa much&#237;simo. En esos primeros d&#237;as yo a&#250;n estaba aprendiendo d&#243;nde estaban los <em>logs</em>. Es dif&#237;cil demostrar fiabilidad si ni siquiera controlo el mapa.</p></li><li><p><strong>Intimidad</strong>: que la gente sienta que puede hablar contigo, que no la vas a dejar vendida y que entiendes sus miedos y dudas. Esto, para un TL, es m&#225;s importante de lo que parece. Sin esta parte, cualquier propuesta t&#233;cnica se percibe como un juicio. Y cuando las personas se ponen a la defensiva, todo se frena.</p></li><li><p>Y luego est&#225; el denominador: la <strong>autoorientaci&#243;n</strong>. Cuando tus propuestas parecen responder m&#225;s a tu agenda que a las necesidades del equipo, la confianza se derrumba. Ese fue mi error. Llegar con una estrategia demasiado pronto, sin haber escuchado, sin haber visto qu&#233; necesitaban ellos, sin haberme ganado a&#250;n el derecho moral a plantearla.</p></li></ul><p>En otras palabras: aunque mis ideas no fuesen malas, la ecuaci&#243;n no me sal&#237;a. Ten&#237;a algo de credibilidad, un poco de fiabilidad para construir, intimidad a&#250;n por crear y demasiada autoorientaci&#243;n. El resultado era obvio: poca confianza.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/soy-tech-lead-y-no-me-hacen-caso?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/soy-tech-lead-y-no-me-hacen-caso?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/soy-tech-lead-y-no-me-hacen-caso?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><h1>Dos momentos clave</h1><p>Con el tiempo me di cuenta de que la confianza no se construye con grandes discursos, sino con acciones concretas que resuelven problemas reales del d&#237;a a d&#237;a. Mirando atr&#225;s, hubo dos momentos muy claros que aceleraron ese cambio en c&#243;mo el equipo me percib&#237;a.</p><h2>Complejidad regulatoria</h2><p>Como mytaxi compet&#237;a con Uber en un sector tan regulado como el del taxi, y adem&#225;s con normativas muy locales en toda Europa, la aplicaci&#243;n necesitaba soportar m&#250;ltiples variantes del mismo flujo. Eso llev&#243; a la proliferaci&#243;n de decenas y decenas de configuration flags repartidas por todos los servicios. El resultado era un caos: nadie sab&#237;a con certeza qu&#233; estaba activado en cada ciudad, qu&#233; afectaba a iOS, qu&#233; afectaba a Android o d&#243;nde estaba realmente definida cada opci&#243;n. Para colmo, la configuraci&#243;n viv&#237;a dispersa entre unos 200 servicios distintos.</p><p>Un d&#237;a, <a href="https://www.linkedin.com/in/mariachec/">Maria</a> &#8212; Agile Coach &#8212; me habl&#243; de este dolor de forma muy directa. Y yo hice lo que mejor sab&#237;a hacer en ese momento: construir. Mont&#233; un portal &#8212; un poco cutre, si os soy honesto &#8212;, que consultaba las APIs de configuraci&#243;n de todos los servicios y agregaba esa informaci&#243;n por funcionalidad, pa&#237;s o ciudad. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rn34!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd082f4-8cf1-4439-b923-542eb304d133_1134x737.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rn34!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd082f4-8cf1-4439-b923-542eb304d133_1134x737.png 424w, https://substackcdn.com/image/fetch/$s_!Rn34!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd082f4-8cf1-4439-b923-542eb304d133_1134x737.png 848w, https://substackcdn.com/image/fetch/$s_!Rn34!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd082f4-8cf1-4439-b923-542eb304d133_1134x737.png 1272w, https://substackcdn.com/image/fetch/$s_!Rn34!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd082f4-8cf1-4439-b923-542eb304d133_1134x737.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rn34!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd082f4-8cf1-4439-b923-542eb304d133_1134x737.png" width="1134" height="737" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cbd082f4-8cf1-4439-b923-542eb304d133_1134x737.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95126204-8b8d-418c-b75e-d2ebf78ad5ad_1134x737.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:737,&quot;width&quot;:1134,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:115556,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/181222085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95126204-8b8d-418c-b75e-d2ebf78ad5ad_1134x737.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Rn34!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd082f4-8cf1-4439-b923-542eb304d133_1134x737.png 424w, https://substackcdn.com/image/fetch/$s_!Rn34!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd082f4-8cf1-4439-b923-542eb304d133_1134x737.png 848w, https://substackcdn.com/image/fetch/$s_!Rn34!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd082f4-8cf1-4439-b923-542eb304d133_1134x737.png 1272w, https://substackcdn.com/image/fetch/$s_!Rn34!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd082f4-8cf1-4439-b923-542eb304d133_1134x737.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Las funcionalidades se pod&#237;an consultar por ciudad o por nombre. La <em>web</em> era realmente sencilla, con HTML generado a partir de un servicio Python.</figcaption></figure></div><p>De repente, con un vistazo, cualquiera pod&#237;a saber qu&#233; estaba activado y d&#243;nde. No era bonito, pero resolv&#237;a un problema. Y, sobre todo, demostraba que <strong>estaba all&#237; para ayudarles a trabajar mejor </strong>(<strong>credibilidad</strong>), no para imponer una agenda t&#233;cnica abstracta. Al poco tiempo, otros equipos comenzaron a usar el portal, incluyendo <em>Product Owners</em>, QA y hasta gente de <em>Operations</em>. Sin quererlo, se convirti&#243; en una herramienta de alineamiento organizativo. Y llev&#243; a algo a&#250;n m&#225;s interesante: otros ingenieros empezaron a contribuir.</p><p>Al ver el valor que generaba, varios compa&#241;eros propusieron mejoras, corrigieron peque&#241;os fallos y a&#241;adieron funcionalidades que yo ni hab&#237;a considerado. Uno de ellos cre&#243; incluso una peque&#241;a web para visualizar las Zonas de una ciudad, algo que resolv&#237;a un dolor hist&#243;rico para los equipos que trabajaban con <em>geofencing</em> o la asignaci&#243;n de conductor a pasajero. Otro automatiz&#243; parte del proceso de actualizaci&#243;n de flags. Alguien m&#225;s a&#241;adi&#243; m&#233;tricas para detectar configuraciones inconsistentes entre plataformas.</p><p>De pronto, lo que hab&#237;a empezado como un apa&#241;o r&#225;pido se convirti&#243; en un peque&#241;o ecosistema de herramientas internas que reduc&#237;a incertidumbre, aceleraba decisiones y, sobre todo, hac&#237;a la vida del equipo un poco m&#225;s f&#225;cil cada semana.</p><p>Ese efecto domin&#243; me ense&#241;&#243; algo importante: <strong>cuando solucionas un problema real y lo haces visible</strong>, la gente se suma. La confianza tambi&#233;n se construye as&#237;, invitando a otros a mejorar lo que empezaste y celebrando que lo hagan mejor que t&#250;.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Suscr&#237;bete gratis para recibir nuevos art&#237;culos y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Depurar</h2><p>El segundo momento tuvo que ver con algo mucho m&#225;s humano: ayudar a depurar (<em>debugging</em>). Nunca me he considerado especialmente listo, pero s&#237; he sido siempre muy sistem&#225;tico al conectar puntos entre mensajes de error, c&#243;digo, hip&#243;tesis y comportamiento del sistema. Para mi sorpresa, mucha gente ve&#237;a esto casi como magia. En realidad no lo era: era una mezcla de experiencia, fundamentos, intuici&#243;n, saber d&#243;nde buscar y no tener miedo de meterme incluso en el c&#243;digo de librer&#237;as de terceros.</p><p>Empec&#233; a acompa&#241;ar a compa&#241;eros en la resoluci&#243;n de incidentes (<strong>intimidad</strong>), a ense&#241;arles c&#243;mo formular y descartar hip&#243;tesis, a leer <em>logs</em> con intenci&#243;n, a diferenciar s&#237;ntomas de causas. Propuse pr&#225;cticas de <em>incident review</em>, lo que elev&#243; la calidad de nuestras respuestas y nos ayud&#243; a aprender colectivamente.</p><p>Sin darme cuenta, estas dos contribuciones hicieron m&#225;s por mi reputaci&#243;n que cualquier presentaci&#243;n o <em>strategy deck</em>. <strong>Construir algo &#250;til y estar al lado de la gente cuando el sistema arde crea m&#225;s confianza que cualquier t&#237;tulo</strong>. Y fue a partir de ah&#237; cuando mis ideas empezaron, por fin, a tener tracci&#243;n. Curiosamente, estas dos acciones redujeron a cero mi autoorientaci&#243;n. Dej&#233; de pensar en &#8220;mi estrategia&#8221; y empec&#233; a pensar en &#8220;nuestro trabajo&#8221;.</p><div><hr></div><h1>Qu&#233; dir&#237;as a tu <em>yo</em> del 2018?</h1><p>Al mirar atr&#225;s, me quedo con una idea: ning&#250;n TL consigue influencia porque &#8220;le toca&#8221;. Se gana d&#237;a a d&#237;a. No con discursos, sino resolviendo los problemas que duelen y estando en los momentos en los que la gente necesita apoyo real.</p><p>Si est&#225;s en una situaci&#243;n parecida, algunos consejos que me habr&#237;a gustado recibir en 2018:</p><ul><li><p>Antes de proponer una estrategia, entiende primero qu&#233; le duele a tu equipo.</p></li><li><p>Elige una o dos acciones que aporten valor inmediato y ejec&#250;talas.</p></li><li><p>Habla menos de arquitectura y m&#225;s de c&#243;mo tu propuesta reduce toil, riesgos o incertidumbre.</p></li><li><p>No busques demostrar que eres el m&#225;s listo; busca que los dem&#225;s puedan hacer mejor su trabajo.</p></li><li><p>El ciclo de <em>feedback</em>, al contrario del c&#243;digo, es m&#225;s lento. Se mide en semanas, o meses. Hay que tener paciencia.</p></li><li><p>Y, sobre todo, recuerda que la confianza es acumulativa. Se gana en cada interacci&#243;n.</p></li></ul><p>La influencia t&#233;cnica no empieza con un t&#237;tulo, sino con el <strong>impacto visible</strong> que generas.</p><p>Porque cuando un TL no se siente escuchado, la soluci&#243;n no es hablar m&#225;s fuerte.<br>Es cambiar la conversaci&#243;n. Y empezar por el &#250;nico lugar donde de verdad tienes control: <strong>tu propio comportamiento</strong>.</p><div><hr></div><p><strong>&#127873; &#191;Quieres aterrizar esto ma&#241;ana mismo en tu equipo? Regalo s&#243;lo para suscriptores</strong></p><p>Muchos <em>Tech Leads</em> no se sienten escuchados porque EMs, TLs y el resto del equipo operan con expectativas distintas que nadie ha explicitado. Esa fricci&#243;n no se resuelve con m&#225;s reuniones ni m&#225;s procesos. Se resuelve con claridad.</p><p>Para ayudarte a cerrar esa brecha, he preparado un <strong>toolkit de alineaci&#243;n GRATIS</strong> con tres herramientas pr&#225;cticas:</p><ul><li><p><strong>Para </strong><em><strong>Tech Leads</strong></em>: un sem&#225;foro de autoevaluaci&#243;n para combatir el s&#237;ndrome del impostor y entender con precisi&#243;n d&#243;nde est&#225;s aportando valor y d&#243;nde te est&#225;s quemando.</p></li><li><p><strong>Para </strong><em><strong>Engineering Managers</strong></em>: un sem&#225;foro de evaluaci&#243;n para dar feedback objetivo basado en comportamientos, no en sensaciones. Ayuda a tus <em>Tech Leads</em> a tener impacto!</p></li><li><p><strong>Para el equipo</strong>: una plantilla de principios operativos para dejar de discutir las mismas decisiones cada semana y crear criterios compartidos.</p></li></ul><p>Y adem&#225;s, para acompa&#241;ar este art&#237;culo, incluir&#233; un <strong>plan concreto para tus primeros 90 d&#237;as como Tech Lead</strong>: qu&#233; observar, qu&#233; priorizar, qu&#233; evitar y c&#243;mo generar confianza a trav&#233;s de peque&#241;os pasos visibles. Es exactamente el plan que me habr&#237;a gustado tener aquella primera semana en mytaxi.</p><p>Si ya has descargado el <em>toolkit</em>, no tienes que hacer nada: <strong>ya tienes la versi&#243;n actualizada</strong> y recibir&#225;s autom&#225;ticamente el plan de 90 d&#237;as.</p><p><strong>Si a&#250;n no est&#225;s suscrito, ap&#250;ntate y te lo env&#237;o</strong>. Es gratis y te ayudar&#225; a pasar de la intenci&#243;n a la acci&#243;n.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/survey/5292642?token=&quot;,&quot;text&quot;:&quot;Descargar GRATIS toolkit de alineaci&#243;n EM/TL&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/survey/5292642?token="><span>Descargar GRATIS toolkit de alineaci&#243;n EM/TL</span></a></p><div><hr></div><p>&#8212; Jo&#227;o</p>]]></content:encoded></item><item><title><![CDATA[El doble clic — Semana del 8 de diciembre]]></title><description><![CDATA[Encontrar trabajo en 2025, configuraci&#243;n avanzada de Claude Code, c&#243;mo Cabify ha mejorado la experiencia en aeropuertos y mucho m&#225;s]]></description><link>https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-8-de-diciembre</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-8-de-diciembre</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Mon, 08 Dec 2025 05:57:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!iBz-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bienvenido a la cuarta edici&#243;n de &#8220;<strong>El doble clic&#8221;</strong><em>.</em> Esta es una secci&#243;n en la que profundizo en lo m&#225;s interesante que he le&#237;do, visto o escuchado durante la semana. Cinco piezas que merecen tu atenci&#243;n &#8212; art&#237;culos, charlas, podcasts o noticias &#8212; para que las disfrutes en menos de cinco minutos, con tu taza de caf&#233; en la mano. &#161;Arrancamos!</p><div><hr></div><p>En esta <em>newsletter</em> quiero centrarme en empresas que destaquen por una buena tecnolog&#237;a e ingenier&#237;a en Espa&#241;a y en Europa. Si tienes recomendaciones de charlas, art&#237;culos o blogs a seguir, env&#237;ame un mensaje a <em><a href="mailto:spanish@joaoqalves.net">spanish@joaoqalves.net</a></em>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer Desde mi terminal! Suscr&#237;bete gratis para recibir nuevos posts y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h1>Lo mejor de la semana</h1><p>&#127466;&#127480; (22&#8217;)  Esta charla de Abraham Vallez relata el golpe emocional y pr&#225;ctico de volver al mercado laboral tras un despido: un entorno saturado, procesos eternos sin <em>feedback</em> y curr&#237;culums filtrados por <em>bots</em> que obligan a &#8220;cambiar de profesi&#243;n&#8221; y a dominar el <em>Application Tracking System (</em>ATS) antes de poder hablar con un humano.</p><div id="youtube2-pM5pwfGHJ6g" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;pM5pwfGHJ6g&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/pM5pwfGHJ6g?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Abraham nos cuenta que sus salvavidas fueron la comunidad y las referencias, junto con una preparaci&#243;n exhaustiva de entrevistas, usando el m&#233;todo STAR y apoy&#225;ndose en la IA para ordenar su propia historia. El mensaje final es claro: no es un fallo personal, sino un sistema roto, y apoyarse en valores, redes y mentores ayuda a atravesarlo con menos sufrimiento.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Suscr&#237;bete gratis para recibir nuevos art&#237;culos y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>&#127468;&#127463; (5&#8217;) <a href="https://perevillega.com/">Pere Villega</a> presenta un repositorio que ofrece una <strong><a href="https://github.com/pvillega/claude-templates">configuraci&#243;n avanzada para usar Claude Code</a></strong> en modo YOLO &#8212; con sandbox y salvaguardas &#8212; y as&#237; obtener una experiencia <em>ag&#233;ntica</em> potente pero relativamente segura. Incluye <em>scripts</em> para instalar <em>plugins</em>, validar proyectos, sincronizar <em>worktrees</em> y arrancar el agente con el contexto inicializado en <a href="https://github.com/oraios/serena">Serena</a>. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gDCd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefc622b-c616-4fec-b0d6-4d98ac2e2c53_1280x640.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gDCd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefc622b-c616-4fec-b0d6-4d98ac2e2c53_1280x640.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gDCd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefc622b-c616-4fec-b0d6-4d98ac2e2c53_1280x640.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gDCd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefc622b-c616-4fec-b0d6-4d98ac2e2c53_1280x640.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gDCd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefc622b-c616-4fec-b0d6-4d98ac2e2c53_1280x640.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gDCd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefc622b-c616-4fec-b0d6-4d98ac2e2c53_1280x640.jpeg" width="1280" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cefc622b-c616-4fec-b0d6-4d98ac2e2c53_1280x640.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:54831,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/180692144?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefc622b-c616-4fec-b0d6-4d98ac2e2c53_1280x640.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gDCd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefc622b-c616-4fec-b0d6-4d98ac2e2c53_1280x640.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gDCd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefc622b-c616-4fec-b0d6-4d98ac2e2c53_1280x640.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gDCd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefc622b-c616-4fec-b0d6-4d98ac2e2c53_1280x640.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gDCd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefc622b-c616-4fec-b0d6-4d98ac2e2c53_1280x640.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Aunque la sandbox reduce riesgos, Pere insiste en mantener buenas pr&#225;cticas &#8212; no usar credenciales sensibles, evitar im&#225;genes o MCPs dudosos &#8212; y en revisar siempre lo que hace el agente. El resultado es un entorno reproducible y c&#243;modo para experimentar con Claude Code sin perder el control ni el aislamiento. <a href="https://github.com/pvillega/claude-templates">Fuente</a>.</figcaption></figure></div><div><hr></div><p>&#127468;&#127463; (10&#8217;) <a href="https://www.linkedin.com/in/teodiaz/">Teo D&#237;az</a>, <em>Senior Software Engineer</em> en Cabify, nos explica <strong><a href="https://tech.cabify.com/blog/engineering/hubs-experience">c&#243;mo transformaron la experiencia de recogidas en aeropuertos y estaciones</a></strong> &#8212; un punto cr&#237;tico y muy propenso a la frustraci&#243;n &#8212; pasando de instrucciones r&#237;gidas a una plataforma totalmente autoservicio para los equipos de operaciones. Empezaron a&#241;adiendo gu&#237;as contextuales y luego trasladaron las instrucciones antes de la petici&#243;n del viaje, lo que mejor&#243; de inmediato el &#233;xito de las recogidas. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kjH-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24445d5d-2184-4e9b-bca9-90c143c8a443_1800x901.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kjH-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24445d5d-2184-4e9b-bca9-90c143c8a443_1800x901.avif 424w, https://substackcdn.com/image/fetch/$s_!kjH-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24445d5d-2184-4e9b-bca9-90c143c8a443_1800x901.avif 848w, https://substackcdn.com/image/fetch/$s_!kjH-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24445d5d-2184-4e9b-bca9-90c143c8a443_1800x901.avif 1272w, https://substackcdn.com/image/fetch/$s_!kjH-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24445d5d-2184-4e9b-bca9-90c143c8a443_1800x901.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kjH-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24445d5d-2184-4e9b-bca9-90c143c8a443_1800x901.avif" width="1456" height="729" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24445d5d-2184-4e9b-bca9-90c143c8a443_1800x901.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:729,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:22080,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/180692144?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24445d5d-2184-4e9b-bca9-90c143c8a443_1800x901.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kjH-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24445d5d-2184-4e9b-bca9-90c143c8a443_1800x901.avif 424w, https://substackcdn.com/image/fetch/$s_!kjH-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24445d5d-2184-4e9b-bca9-90c143c8a443_1800x901.avif 848w, https://substackcdn.com/image/fetch/$s_!kjH-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24445d5d-2184-4e9b-bca9-90c143c8a443_1800x901.avif 1272w, https://substackcdn.com/image/fetch/$s_!kjH-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24445d5d-2184-4e9b-bca9-90c143c8a443_1800x901.avif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Teo nos explica c&#243;mo se orquestra el <em>backend for frontend</em> (BFF) para lograr la coordinaci&#243;n en tiempo real entre el conductor y el pasajero. <a href="https://tech.cabify.com/blog/engineering/hubs-experience">Fuente</a>.</figcaption></figure></div><p>El salto lleg&#243; con Rider Admin, un <em>backoffice</em> creado en tiempo r&#233;cord con <em><a href="https://github.com/phoenixframework/phoenix_live_view">Phoenix LiveView</a></em> que permiti&#243; al negocio actualizar los puntos de encuentro e instrucciones sin depender del equipo de ingenier&#237;a.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-8-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-8-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/el-doble-clic-semana-del-8-de-diciembre?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><p>&#127468;&#127463; (7&#8217;) <a href="https://www.linkedin.com/in/miquel-arranz-santa-olalla-31257890/">Miquel Arranz</a>, <em>Expert Frontend Engineer</em> en Typeform, resume c&#243;mo trabajar en un equipo guiado por datos le ense&#241;&#243; que un buen entorno de experimentaci&#243;n es clave para tomar decisiones de producto con impacto real. Explica, con un ejemplo reciente, <a href="https://medium.com/typeforms-engineering-blog/experimenting-at-typeform-from-the-engineering-perspective-1a0cc23802cd">c&#243;mo definen hip&#243;tesis y m&#233;tricas, configuran tests A/B con feature flags, monitorizan problemas habituales y analizan resultado</a>s con herramientas como LaunchDarkly, Amplitude o GrowthBook. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GsMa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0d0707f-acd5-442e-bca2-33fd597e7d1e_4800x2508.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GsMa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0d0707f-acd5-442e-bca2-33fd597e7d1e_4800x2508.webp 424w, https://substackcdn.com/image/fetch/$s_!GsMa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0d0707f-acd5-442e-bca2-33fd597e7d1e_4800x2508.webp 848w, https://substackcdn.com/image/fetch/$s_!GsMa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0d0707f-acd5-442e-bca2-33fd597e7d1e_4800x2508.webp 1272w, https://substackcdn.com/image/fetch/$s_!GsMa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0d0707f-acd5-442e-bca2-33fd597e7d1e_4800x2508.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GsMa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0d0707f-acd5-442e-bca2-33fd597e7d1e_4800x2508.webp" width="1456" height="761" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0d0707f-acd5-442e-bca2-33fd597e7d1e_4800x2508.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:761,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129062,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/180692144?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0d0707f-acd5-442e-bca2-33fd597e7d1e_4800x2508.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GsMa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0d0707f-acd5-442e-bca2-33fd597e7d1e_4800x2508.webp 424w, https://substackcdn.com/image/fetch/$s_!GsMa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0d0707f-acd5-442e-bca2-33fd597e7d1e_4800x2508.webp 848w, https://substackcdn.com/image/fetch/$s_!GsMa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0d0707f-acd5-442e-bca2-33fd597e7d1e_4800x2508.webp 1272w, https://substackcdn.com/image/fetch/$s_!GsMa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0d0707f-acd5-442e-bca2-33fd597e7d1e_4800x2508.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Miquel nos cuenta que empezar peque&#241;o, medir bien y estandarizar el proceso ayudan a que la cultura de experimentaci&#243;n &#8212; basada en probar, aprender e iterar &#8212; cale de verdad en la organizaci&#243;n. Fuente. </figcaption></figure></div><div><hr></div><p>&#127468;&#127463; (5&#8217;) <a href="https://www.linkedin.com/in/charas/">Max Charas</a> y <a href="https://linkedin.com/in/marcbruggmann">Marc Bruggmann</a>, de Spotify, nos cuentan c&#243;mo, tras extender su <em>Fleet Management</em> con un agente capaz de editar c&#243;digo y abrir PRs autom&#225;ticamente, el foco de la segunda parte es <strong><a href="https://engineering.atspotify.com/2025/11/context-engineering-background-coding-agents-part-2">dominar la ingenier&#237;a de contexto: c&#243;mo escribir prompts y limitar las herramientas para que el agente genere cambios fiables en miles de repos</a></strong>. Tras topar con las limitaciones de los agentes de c&#243;digo abierto y de su propio bucle agente, Claude Code les permiti&#243; trabajar con instrucciones m&#225;s naturales y gestionar tareas complejas sin perderse por el camino. La clave est&#225; en <em>prompts</em> claros, con precondiciones, ejemplos y un &#250;nico cambio por vez, adem&#225;s de un conjunto de herramientas muy reducido para mantener la previsibilidad.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dkP0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83101d8-1295-46d8-b840-c752ce6b1652_1200x913.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dkP0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83101d8-1295-46d8-b840-c752ce6b1652_1200x913.png 424w, https://substackcdn.com/image/fetch/$s_!dkP0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83101d8-1295-46d8-b840-c752ce6b1652_1200x913.png 848w, https://substackcdn.com/image/fetch/$s_!dkP0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83101d8-1295-46d8-b840-c752ce6b1652_1200x913.png 1272w, https://substackcdn.com/image/fetch/$s_!dkP0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83101d8-1295-46d8-b840-c752ce6b1652_1200x913.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dkP0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83101d8-1295-46d8-b840-c752ce6b1652_1200x913.png" width="1200" height="913" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e83101d8-1295-46d8-b840-c752ce6b1652_1200x913.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:913,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:46547,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/180692144?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83101d8-1295-46d8-b840-c752ce6b1652_1200x913.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dkP0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83101d8-1295-46d8-b840-c752ce6b1652_1200x913.png 424w, https://substackcdn.com/image/fetch/$s_!dkP0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83101d8-1295-46d8-b840-c752ce6b1652_1200x913.png 848w, https://substackcdn.com/image/fetch/$s_!dkP0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83101d8-1295-46d8-b840-c752ce6b1652_1200x913.png 1272w, https://substackcdn.com/image/fetch/$s_!dkP0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83101d8-1295-46d8-b840-c752ce6b1652_1200x913.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Max y Marc nos explican el flujo de la gesti&#243;n de contexto en Fleet Management. <a href="https://engineering.atspotify.com/2025/11/context-engineering-background-coding-agents-part-2">Fuente</a>.</figcaption></figure></div><p>El resultado es un <em>Fleet Management</em> m&#225;s potente, capaz de ejecutar migraciones reales a escala, aunque a&#250;n depende de la intuici&#243;n y est&#225;n explorando nuevos <em>feedback loops</em> para hacerlo m&#225;s sistem&#225;tico. </p><h1>Publicaciones en X</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iBz-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iBz-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png 424w, https://substackcdn.com/image/fetch/$s_!iBz-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png 848w, https://substackcdn.com/image/fetch/$s_!iBz-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png 1272w, https://substackcdn.com/image/fetch/$s_!iBz-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iBz-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png" width="1435" height="2078" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2078,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1551110,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/180692144?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iBz-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png 424w, https://substackcdn.com/image/fetch/$s_!iBz-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png 848w, https://substackcdn.com/image/fetch/$s_!iBz-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png 1272w, https://substackcdn.com/image/fetch/$s_!iBz-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F541ca36f-7967-4ed2-b6c0-f3182f46f4ad_1435x2078.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Piotr Skalski, <em>open-source Lead</em> en <a href="https://roboflow.com/">Roboflow</a>, nos trae un &#8220;Tutorial de IA para baloncesto&#8221;. M&#225;s de 1.000 horas de trabajo destiladas en 37 minutos: detecci&#243;n, <em>tracking</em>, agrupaci&#243;n por equipos y reconocimiento de dorsales. <a href="https://www.youtube.com/watch?v=yGQb9KkvQ1Q">Enlace al v&#237;deo</a>. <a href="https://x.com/skalskip92/thread/1996677561452237044">Fuente</a>.</figcaption></figure></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2oMk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfeb943d-3ff9-48b2-a874-481d8e17ed63_1435x1598.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2oMk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfeb943d-3ff9-48b2-a874-481d8e17ed63_1435x1598.png 424w, https://substackcdn.com/image/fetch/$s_!2oMk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfeb943d-3ff9-48b2-a874-481d8e17ed63_1435x1598.png 848w, https://substackcdn.com/image/fetch/$s_!2oMk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfeb943d-3ff9-48b2-a874-481d8e17ed63_1435x1598.png 1272w, https://substackcdn.com/image/fetch/$s_!2oMk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfeb943d-3ff9-48b2-a874-481d8e17ed63_1435x1598.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2oMk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfeb943d-3ff9-48b2-a874-481d8e17ed63_1435x1598.png" width="1435" height="1598" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cfeb943d-3ff9-48b2-a874-481d8e17ed63_1435x1598.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1598,&quot;width&quot;:1435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1343171,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/180692144?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfeb943d-3ff9-48b2-a874-481d8e17ed63_1435x1598.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2oMk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfeb943d-3ff9-48b2-a874-481d8e17ed63_1435x1598.png 424w, https://substackcdn.com/image/fetch/$s_!2oMk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfeb943d-3ff9-48b2-a874-481d8e17ed63_1435x1598.png 848w, https://substackcdn.com/image/fetch/$s_!2oMk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfeb943d-3ff9-48b2-a874-481d8e17ed63_1435x1598.png 1272w, https://substackcdn.com/image/fetch/$s_!2oMk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfeb943d-3ff9-48b2-a874-481d8e17ed63_1435x1598.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Alex Albert nos ense&#241;a, con esta gr&#225;fica, que el equipo de Anthropic ha reducido significativamente los casos en los que sus modelos empiezan sus respuestas con &#8220;You&#8217;re absolutely right&#8221;. <a href="https://x.com/alexalbert__/status/1996644185886413285?s=20">Fuente</a>.</figcaption></figure></div><div><hr></div><p>&#161;Esto es todo! Nos vemos la semana que viene. Recuerda: si te ha gustado la <em>newsletter</em>, dale al &#8220;<em>like</em>&#8221; y suscr&#237;bete. &#161;Ya sabes c&#243;mo funcionan los algoritmos de estas plataformas!</p><p>&#8212; Jo&#227;o</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer Desde mi terminal! Suscr&#237;bete gratis para recibir nuevos posts y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Señales de un buen Tech Lead]]></title><description><![CDATA[Alineando expectativas: de la arquitectura a la autonom&#237;a del equipo]]></description><link>https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead</link><guid isPermaLink="false">https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead</guid><dc:creator><![CDATA[João Alves]]></dc:creator><pubDate>Thu, 04 Dec 2025 09:28:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!d1wV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99c9f8b-a3bc-4b71-8f28-b44059340c33_1387x771.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>La industria del desarrollo de <em>software</em> en los a&#241;os 2010-2020 cre&#243; roles como los de <em>Engineering Manager</em> (EM) y <em>Tech Lead </em>(TL). Ya hab&#237;a gente haciendo una u otra antes, pero fue en esa d&#233;cada cuando, m&#225;s o menos, todas las empresas lo adoptaron y, aunque distintas en cada empresa, tienen partes en com&#250;n.</p><h1>&#191;Qu&#233; es un <em>tech lead</em>? &#191;Diferencias con EM?</h1><p>Seguramente mucha gente ya lo tenga claro, pero explicar&#233; mi visi&#243;n de estos dos roles:</p><ul><li><p><em><strong>Engineering Manager</strong></em>: es el responsable del equipo y la mayor parte de su labor se centra en tres ejes de <strong>gesti&#243;n</strong>:</p><ul><li><p><strong>Personas</strong>: que la gente tenga un buen desempe&#241;o y todo lo que eso conlleva (revisi&#243;n de <em>performance</em>, planes de carrera profesional, etc)</p></li><li><p><strong>Producto/proyecto</strong>: que haya un desarrollo sostenible de las funcionalidades requeridas (gesti&#243;n de <em>stakeholders</em>, expectativas, negociaci&#243;n de <em>scope,</em> riesgos, etc)</p></li><li><p><strong>Procesos</strong>: &#191;c&#243;mo se priorizan los <em>bugs</em> frente a las nuevas funcionalidades? &#191;C&#243;mo se decide en qu&#233; trabajar esa semana? &#191;C&#243;mo se hace mejora continua? Aqu&#237;, lo importante no es a&#241;adir procesos <em>ad nauseam</em>. Es el equilibrio necesario para que el equipo opere de forma independiente &#8212; idealmente sin &#233;l &#8212; y para poner cierta estructura al caos natural.</p></li></ul></li><li><p><strong>Tech Lead</strong>: es el responsable de la <strong>direcci&#243;n t&#233;cnica</strong> del equipo. Su foco est&#225; en tres &#225;reas:</p><ul><li><p><strong>Arquitectura</strong>: definir las decisiones t&#233;cnicas clave, revisar las propuestas, asegurar que las soluciones escalan y que la deuda t&#233;cnica sea manejable y, sobre todo, que se asuma de forma consciente y no por accidente.</p></li><li><p><strong>Calidad</strong>: mantener un alto est&#225;ndar en el c&#243;digo, las revisiones, las pruebas y la observabilidad. No es hacerlo todo &#233;l, sino elevar el list&#243;n del equipo.</p></li><li><p><strong>Mentor&#237;a</strong>: ayudar a los ingenieros a crecer, desbloquear problemas complejos, compartir contexto y facilitar que todos puedan tomar mejores decisiones t&#233;cnicas.</p></li></ul></li></ul><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d1wV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99c9f8b-a3bc-4b71-8f28-b44059340c33_1387x771.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d1wV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99c9f8b-a3bc-4b71-8f28-b44059340c33_1387x771.png 424w, https://substackcdn.com/image/fetch/$s_!d1wV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99c9f8b-a3bc-4b71-8f28-b44059340c33_1387x771.png 848w, https://substackcdn.com/image/fetch/$s_!d1wV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99c9f8b-a3bc-4b71-8f28-b44059340c33_1387x771.png 1272w, https://substackcdn.com/image/fetch/$s_!d1wV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99c9f8b-a3bc-4b71-8f28-b44059340c33_1387x771.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d1wV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99c9f8b-a3bc-4b71-8f28-b44059340c33_1387x771.png" width="1387" height="771" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a99c9f8b-a3bc-4b71-8f28-b44059340c33_1387x771.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a90f8814-696c-4bfa-9972-b6fe68b47d09_1387x771.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:771,&quot;width&quot;:1387,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:160674,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/178033351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa90f8814-696c-4bfa-9972-b6fe68b47d09_1387x771.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!d1wV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99c9f8b-a3bc-4b71-8f28-b44059340c33_1387x771.png 424w, https://substackcdn.com/image/fetch/$s_!d1wV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99c9f8b-a3bc-4b71-8f28-b44059340c33_1387x771.png 848w, https://substackcdn.com/image/fetch/$s_!d1wV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99c9f8b-a3bc-4b71-8f28-b44059340c33_1387x771.png 1272w, https://substackcdn.com/image/fetch/$s_!d1wV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99c9f8b-a3bc-4b71-8f28-b44059340c33_1387x771.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Diferencias entre los roles de Engineering Manager y Tech Lead</figcaption></figure></div><p>Como se puede ver, son roles muy diferentes y requieren un enfoque muy distinto. Es posible que la misma persona desempe&#241;e ambos roles. En cierto modo, el fin de la era de intereses cero (ZIRP, en ingl&#233;s) y el foco en la eficiencia han vuelto a otorgarle al EM un rol m&#225;s <em>hands-on</em>.</p><p><em>Nota</em>: en el diagrama he excluido el rol de <em>Product Manager</em>, dado el foco del art&#237;culo de hoy. Tu realidad seguramente sea m&#225;s compleja.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Suscr&#237;bete gratis para recibir nuevos art&#237;culos y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h1>Modelos operativos</h1><p>Hay varios formatos para contar con alguien que ejerza liderazgo t&#233;cnico en un equipo: </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_SM4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5219c864-78fb-4faa-aca3-ae52dc912328_1477x458.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_SM4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5219c864-78fb-4faa-aca3-ae52dc912328_1477x458.png 424w, https://substackcdn.com/image/fetch/$s_!_SM4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5219c864-78fb-4faa-aca3-ae52dc912328_1477x458.png 848w, https://substackcdn.com/image/fetch/$s_!_SM4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5219c864-78fb-4faa-aca3-ae52dc912328_1477x458.png 1272w, https://substackcdn.com/image/fetch/$s_!_SM4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5219c864-78fb-4faa-aca3-ae52dc912328_1477x458.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_SM4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5219c864-78fb-4faa-aca3-ae52dc912328_1477x458.png" width="1456" height="451" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5219c864-78fb-4faa-aca3-ae52dc912328_1477x458.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b217fd53-436f-4196-a23c-f9b0e636cbd6_1477x458.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:451,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:123207,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://enespanol.joaoqalves.net/i/178033351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb217fd53-436f-4196-a23c-f9b0e636cbd6_1477x458.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_SM4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5219c864-78fb-4faa-aca3-ae52dc912328_1477x458.png 424w, https://substackcdn.com/image/fetch/$s_!_SM4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5219c864-78fb-4faa-aca3-ae52dc912328_1477x458.png 848w, https://substackcdn.com/image/fetch/$s_!_SM4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5219c864-78fb-4faa-aca3-ae52dc912328_1477x458.png 1272w, https://substackcdn.com/image/fetch/$s_!_SM4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5219c864-78fb-4faa-aca3-ae52dc912328_1477x458.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Tres modelos operativos distintos: EM y TL siendo personas diferentes. EM ejerciendo como TL y, finalmente, como equipo sin TL oficial.</figcaption></figure></div><ol><li><p>EM y TL son roles oficiales y los tienen dos <strong>personas diferentes</strong></p></li><li><p>EM y TL son roles oficiales y los tiene <strong>la misma persona</strong></p></li><li><p><strong>EM es el &#250;nico rol oficial</strong> y se espera que los ingenieros del equipo puedan liderar iniciativas t&#233;cnicas sin ocupar ese rol. Esto hace que, impl&#237;citamente, el EM se asegure de que el equipo est&#233; cubierto en las tres &#225;reas del TL.</p></li></ol><p>Hay otras formas de organizaci&#243;n, pero estas son las m&#225;s comunes. Exploraremos el modelo en el que hay un EM cuyo TL reporta a &#233;l. Para los dem&#225;s casos, no es muy diferente, aunque con algunos matices. En el caso del EM+TL, el director debe realizar la evaluaci&#243;n de &#8220;&#191;qu&#233; significa bueno?&#8221;. En caso de no haber un rol formal de TL, es el EM quien debe ser consciente de las &#225;reas por cubrir y evaluar a los ingenieros en sus distintas facetas.</p><p><em>Nota</em>: hoy no hablaremos de los roles de <em>Staff</em> o de <em>Principal Engineer</em> que se extienden a m&#225;s de un equipo. Lo dejaremos para otro art&#237;culo.</p><div><hr></div><h1>&#191;C&#243;mo s&#233; que un TL est&#225; haciendo bien su trabajo?</h1><p>En los tres pilares que menciono antes hay algo en com&#250;n: <strong>se espera que el TL tenga un efecto multiplicador en el equipo</strong>. Esto significa que es importante que el TL no se vuelva un cuello de botella, sino que ayude al equipo a ser aut&#243;nomo. Si el equipo, despu&#233;s de un tiempo de adaptaci&#243;n, requiere la figura del <em>tech lead</em> para tomar decisiones, es se&#241;al de que hay que ajustar la forma de trabajar y que, seguramente, el TL no est&#225; cumpliendo con su rol.</p><p>Aun as&#237;, esto suena bastante abstracto. En la pr&#225;ctica, un buen TL se parece mucho a un ingeniero <em><a href="https://staffeng.com/book/">Staff+</a> &#8212; </em>ese perfil que trasciende la ejecuci&#243;n de tareas y se enfoca en resolver problemas ambiguos o estructurales<em> &#8212; </em> que opera con claridad, criterio y amplitud. Es alguien que aporta direcci&#243;n t&#233;cnica, reduce la ambig&#252;edad y empuja al equipo hacia decisiones que benefician al conjunto, no solo a su &#225;rea. </p><p>Define el qu&#233; y el c&#243;mo cuando hace falta, pero tambi&#233;n crea las condiciones para que otros lo hagan. Identifica riesgos, simplifica los problemas abiertos, frena el <em>scope creep</em> y alinea el trabajo t&#233;cnico con los objetivos del producto. Y, sobre todo, genera velocidad: con principios operativos claros, con artefactos escritos que facilitan la reflexi&#243;n (<em>Requests for Comments</em>, pruebas de concepto, propuestas de dise&#241;o) y con decisiones que otros pueden entender y continuar sin depender de &#233;l.</p><p>Podemos aterrizarlo con se&#241;ales muy concretas en cada uno de los tres pilares: arquitectura, alcance t&#233;cnico y principios operativos.</p><h2><strong>Arquitectura</strong></h2><h3><strong>Comportamientos que ayudan</strong></h3><ul><li><p>Usar <em>Requests for Comments</em> (RFCs) u otros documentos breves para <strong>estructurar debates t&#233;cnicos y forzar la claridad</strong>: problema, alternativas, <em>trade-offs</em> y decisi&#243;n.</p></li><li><p><strong>Identificar cuando una discusi&#243;n se alarga</strong> sin avanzar y proponer una prueba de concepto (PoC) o un experimento acotado para validar los supuestos.</p></li><li><p><strong>Hacer expl&#237;cito cu&#225;ndo ciertas decisiones generan deuda t&#233;cnica</strong> y por qu&#233; se acepta en ese momento.</p></li><li><p><strong>Involucrar al equipo en las decisiones clave</strong> para que todos comprendan el razonamiento y adquieran criterio.</p></li></ul><h3><strong>Comportamientos que frenan</strong></h3><ul><li><p><strong>Tomar decisiones improvisadas</strong> en <em>chats</em> o en pasillos, sin dejar constancia.</p></li><li><p><strong>Prolongar reuniones interminables sin una s&#237;ntesis clara ni un siguiente paso</strong>.</p></li><li><p><strong>Dise&#241;ar soluciones sin validar riesgos</strong> ni suposiciones mediante un prototipo.</p></li><li><p><strong>Ser la &#250;nica persona que sabe &#8220;c&#243;mo va todo&#8221;</strong> y convertirse en guardi&#225;n del conocimiento.</p></li></ul><h2><strong>Alcance (</strong><em><strong>scope</strong></em><strong>) t&#233;cnico</strong></h2><h3><strong>Comportamientos que ayudan</strong></h3><ul><li><p><strong>Negociar activamente con el EM y el Product Manager</strong> el equilibrio entre la deuda t&#233;cnica y la entrega de valor. Entender las restricciones del negocio y defender que la calidad es la &#250;nica forma de mantener la velocidad a medio plazo.</p></li><li><p><strong>Detectar </strong><em><strong>scope creep </strong></em><strong>t&#233;cnico</strong>: a&#241;adidos de complejidad, requisitos no funcionales &#8220;extra&#8221; o decisiones que hacen que el sistema sea m&#225;s grande sin aportar valor real.</p></li><li><p>Simplificar las soluciones <strong>proponiendo fases t&#233;cnicas razonables: primero, algo que funciona</strong>;<strong> </strong>despu&#233;s<strong>,</strong> algo que escala. Esto es, identificar el <em>m&#237;nimo cambio viable</em></p></li><li><p><strong>Revisar regularmente si el dise&#241;o actual sigue alineado con el problema</strong> y eliminar piezas que ya no aportan.</p></li><li><p><strong>Se&#241;alar las dependencias o riesgos t&#233;cnicos</strong> que pueden retrasar al equipo si no se abordan a tiempo.</p></li></ul><h3><strong>Comportamientos que frenan</strong></h3><ul><li><p><strong>A&#241;adir requisitos t&#233;cnicos &#8220;por si acaso&#8221;</strong> y aumentar el coste de la entrega sin motivo alguno.</p></li><li><p><strong>Sobredise&#241;ar sistemas</strong> que podr&#237;an ser mucho m&#225;s simples.</p></li><li><p>Ignorar se&#241;ales de que el equipo se est&#225; metiendo en una soluci&#243;n demasiado grande para el tiempo disponible.</p></li></ul><h2><strong>Principios operativos y velocidad del equipo</strong></h2><h3><strong>Comportamientos que ayudan</strong></h3><ul><li><p><strong>Definir principios operativos escritos</strong> que sirvan como br&#250;jula: qu&#233; se prioriza, qu&#233; se evita y qu&#233; significa &#8220;bueno&#8221; en el contexto del equipo.</p></li><li><p><strong>Ejercer influencia sin autoridad:</strong> convencer mediante argumentos y visi&#243;n, no por la jerarqu&#237;a. Facilitar el consenso cuando es posible y el <em>&#8220;disagree and commit&#8221;</em> cuando es necesario para desbloquear al equipo.</p></li><li><p><strong>Usar estos principios para acelerar la toma de decisiones</strong> y reducir la dependencia del TL.</p></li><li><p><strong>Revisarlos peri&#243;dicamente con el equipo</strong> para adaptarlos a la realidad del producto.</p></li><li><p><strong>Promover decisiones consistentes</strong> para que el equipo gane confianza y se mueva r&#225;pido sin pedir permiso.</p></li></ul><h3><strong>Comportamientos que frenan</strong></h3><ul><li><p><strong>Tomar decisiones </strong><em><strong>ad hoc</strong></em> que cambian cada semana y confunden al equipo.</p></li><li><p><strong>Evitar conversaciones dif&#237;ciles</strong> por miedo al conflicto (<em>artificial harmony</em>) o permitir que debates triviales (<em>bikeshedding</em>) detengan el avance del equipo.</p></li><li><p><strong>Guardarse los criterios personales</strong>, dejando que cada persona optimice seg&#250;n su gusto sin una direcci&#243;n t&#233;cnica com&#250;n.</p></li></ul><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer &#8220;Desde mi terminal&#8221;! Este art&#237;culo es p&#250;blico. &#161;Comp&#225;rtelo!</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/p/senales-de-un-buen-tech-lead?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Compartir</span></a></p></div><div><hr></div><h1>El impacto real de un TL</h1><p>En el fondo, el reto de un <em>Tech Lead</em> no va de saber m&#225;s que el resto, sino de crear el entorno en el que el equipo pueda pensar mejor, decidir mejor y avanzar mejor. Cada organizaci&#243;n y cada equipo necesita algo distinto, as&#237; que no hay una receta universal.</p><p>Lo que s&#237; podemos hacer es observar c&#243;mo fluye el trabajo, c&#243;mo se reparten las decisiones y c&#243;mo evoluciona la autonom&#237;a del equipo. Ah&#237; es donde se ve el impacto real de un TL. Y quiz&#225; la pregunta que cada uno deber&#237;a hacerse no es &#8220;&#191;lo estoy haciendo bien?&#8221;, sino &#8220;&#191;estoy ayudando al equipo a depender menos de m&#237; cada mes que pasa?&#8221; Esa respuesta suele ser m&#225;s honesta y &#250;til que cualquier <em>checklist</em>.</p><div><hr></div><p><strong>&#127873; &#191;Quieres aterrizar esto ma&#241;ana mismo en tu equipo? &#161;Un regalo s&#243;lo para suscriptores!</strong></p><p>La fricci&#243;n entre EMs y TLs suele surgir de expectativas no verbalizadas. Para cerrar esa brecha, he creado un <em><strong>toolkit</strong></em><strong> de alineaci&#243;n GRATIS</strong> con tres herramientas pr&#225;cticas:</p><ul><li><p><strong>Para </strong><em><strong>Tech Leads</strong></em><strong>:</strong> Un <em>sem&#225;foro de autoevaluaci&#243;n</em> para combatir el s&#237;ndrome del impostor y saber exactamente d&#243;nde aportas valor (y d&#243;nde te est&#225;s quemando).</p></li><li><p><strong>Para </strong><em><strong>Engineering Managers</strong></em><strong>:</strong> un <em>sem&#225;foro de evaluaci&#243;n</em> para dar feedback objetivo basado en comportamientos y no en sensaciones.</p></li><li><p><strong>Para el equipo: </strong>un <em>template</em> de principios operativos para dejar de discutir las mismas decisiones cada semana.</p></li></ul><p><strong>Suscr&#237;bete,</strong> te enviar&#233; el <em>kit</em> y pasar&#225;s de la intenci&#243;n a la acci&#243;n. &#161;Es GRATIS!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://enespanol.joaoqalves.net/survey/5292642?token=&quot;,&quot;text&quot;:&quot;Descargar GRATIS toolkit de alineaci&#243;n EM/TL&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://enespanol.joaoqalves.net/survey/5292642?token="><span>Descargar GRATIS toolkit de alineaci&#243;n EM/TL</span></a></p><div><hr></div><p>&#8212; Jo&#227;o</p>]]></content:encoded></item></channel></rss>