<?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[Status 418 • Daniel Blanco]]></title><description><![CDATA[Entrega semanal sobre tecnología, software y experiencias reales en la industria.]]></description><link>https://newsletter.danielblanco.dev</link><image><url>https://substackcdn.com/image/fetch/$s_!QN2f!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52c6db6-a521-415f-bef2-368dfb1c2f1e_1024x1024.png</url><title>Status 418 • Daniel Blanco</title><link>https://newsletter.danielblanco.dev</link></image><generator>Substack</generator><lastBuildDate>Thu, 14 May 2026 09:38:43 GMT</lastBuildDate><atom:link href="https://newsletter.danielblanco.dev/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Daniel Blanco]]></copyright><language><![CDATA[es]]></language><webMaster><![CDATA[danielblancoswe@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[danielblancoswe@substack.com]]></itunes:email><itunes:name><![CDATA[Daniel Blanco]]></itunes:name></itunes:owner><itunes:author><![CDATA[Daniel Blanco]]></itunes:author><googleplay:owner><![CDATA[danielblancoswe@substack.com]]></googleplay:owner><googleplay:email><![CDATA[danielblancoswe@substack.com]]></googleplay:email><googleplay:author><![CDATA[Daniel Blanco]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[#18 - No necesitas un inglés perfecto]]></title><description><![CDATA[C&#243;mo llegar a un nivel suficiente para trabajar en empresas extranjeras]]></description><link>https://newsletter.danielblanco.dev/p/18-no-necesitas-un-ingles-perfecto</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/18-no-necesitas-un-ingles-perfecto</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 13 May 2026 15:13:21 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/28d654c1-5eec-4850-b0aa-e59497eb74b4_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8220;Cuando mejore mi ingl&#233;s aplicar&#233; a empresas de fuera&#8221;.</p><p>Escuch&#233; esa frase decenas de veces. E incluso yo mismo lo pensaba.</p><p>Al menos en Espa&#241;a, y creo que tambi&#233;n en gran parte de Am&#233;rica Latina, tenemos un <strong>complejo enorme</strong> con el idioma de los piratas. Nunca nos parece tener un nivel suficiente como para siquiera intentar entrevistarnos con empresas extranjeras.</p><p>La realidad es que <strong>no necesitas un gran nivel</strong>. Y mucho menos t&#237;tulos oficiales.</p><p>En esta entrega de Status 418 voy a contaros mi experiencia trabajando para empresas americanas y mi proceso para llegar a un nivel <em>decente</em> de ingl&#233;s.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>Si quieres aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software y acceder a nuevas oportunidades de trabajo, </strong>mis cursos te pueden ayudar!</p><p>&#128313; <a href="https://danielblanco.dev/link/arq_avanzada">Arquitectura Software Avanzada: M&#225;s All&#225; de los Patrones</a></p><p>&#128313; <a href="https://danielblanco.dev/link/senior">El Camino a Senior: Claves para el &#201;xito como Programador</a></p><p>&#128313; <a href="https://danielblanco.dev/link/diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a></p><p>&#128313; <a href="https://danielblanco.dev/link/arq_moderna">Arquitectura Software Moderna: DDD, Eventos, Microservicios</a></p><p>&#128313; <a href="https://danielblanco.dev/link/clean_code_solid">Principios SOLID y Clean Code. Escribe c&#243;digo de calidad.</a></p><p>&#128313; <a href="https://danielblanco.dev/link/algoritmos">Algoritmos, Estructuras de Datos y Entrevistas Programaci&#243;n</a></p></blockquote><div><hr></div><h2>La dura realidad</h2><p>En Espa&#241;a <strong>no destacamos por nuestro nivel de ingl&#233;s</strong>. A diferencia de los n&#243;rdicos o los pa&#237;ses bajos, el nivel con el que sale uno de la educaci&#243;n obligatoria es bastante bajo.</p><p>Viendo a mis primos peque&#241;os y a mi hermano, creo que eso est&#225; mejorando, pero <strong>sigue</strong> <strong>sin ser suficiente para llegar a un ingl&#233;s conversacional m&#237;nimo</strong>. Y, tras m&#225;s de una d&#233;cada de 3 horas de ingl&#233;s a la semana, es un pecado.</p><p>Pero bueno, no hemos venido a hablar de los problemas de la educaci&#243;n patria. Aunque es importante tenerlo en cuenta para buscar otras formas de compensarlo.</p><h2>Nadie te va a juzgar por tu nivel</h2><p>Dicho eso, jugamos con una ventaja. <strong>Los anglosajones son todav&#237;a peores que nosotros con los idiomas</strong>. Ya hablan el idioma universal, por lo que no tienen un motivo real que les fuerce a aprender un segundo idioma.</p><p>Por eso, vas a ver que la gran mayor&#237;a de nativos valora mucho que intentes hablar en ingl&#233;s. Por muy mal nivel que tengas, casi seguro que es mejor que su mejor segundo idioma, por lo que <strong>apreciar&#225;n el esfuerzo.</strong></p><p>En el mundo profesional, o al menos en el sector tecnol&#243;gico, <strong>trabaja gente de todo el mundo</strong>. Tuve compa&#241;eros japoneses, indios, polacos, alemanes, espa&#241;oles, holandeses, mexicanos, americanos, irlandeses, ingleses, de oriente medio y muchos m&#225;s. Cada uno con su acento t&#237;pico y su nivel particular.</p><p>Ver&#225;s gente con mejor y peor nivel, pero nadie se fija en eso. Si cumples unos m&#237;nimos, es decir, poder comunicarte con que te entiendan y poder entender a los dem&#225;s, es m&#225;s que suficiente. <strong>Lo importante es lo que aportes en el apartado t&#233;cnico.</strong></p><h2>C&#243;mo mejorar ingl&#233;s sin esfuerzo</h2><p>La estrategia que me result&#243; m&#225;s efectiva para mejorar la comprensi&#243;n fue <strong>consumir todo mi ocio en ingl&#233;s.</strong></p><p>Pas&#233; a ver todas las series y pel&#237;culas en versi&#243;n original, primero con subt&#237;tulos en espa&#241;ol y despu&#233;s en ingl&#233;s.</p><p>Dej&#233; de consumir YouTubers espa&#241;oles y empec&#233; a interesarme por creadores de contenido en ingl&#233;s.</p><p><strong>Empec&#233; a leer en ingl&#233;s.</strong> Si bien esto s&#237; requiere un poco m&#225;s de esfuerzo, no es tanto si est&#225;s leyendo libros que tambi&#233;n habr&#237;as consumido en espa&#241;ol.</p><p>Cambi&#233; el idioma de todos mis dispositivos y videojuegos.</p><p>Durante un tiempo incluso cambi&#233; forocoches por reddit para forear un rato sobre noticias y temas random xD.</p><p>Y por &#250;ltimo, se di&#243; la casualidad de que siempre me gustaron los deportes americanos, y me descargaba los partidos de la NBA y la NFL con los comentaristas nativos.</p><p>Todas estas cosas <strong>no suponen casi ning&#250;n esfuerzo.</strong> Tampoco van a hacer que mejores de un d&#237;a para otro. Pero poco a poco, sin que te des cuenta, <strong>el cerebro ir&#225; asimilando informaci&#243;n y mejorando much&#237;simo.</strong></p><h2>C&#243;mo mejorar ingl&#233;s con esfuerzo</h2><p>Para avanzar m&#225;s r&#225;pido, sobre todo cuando tu nivel es bajo, tambi&#233;n se necesita <strong>aprendizaje activo.</strong></p><p>De las cosas que m&#225;s me ayudaron fue la <strong>Escuela Oficial de Idiomas</strong> de Espa&#241;a. Es barata y normalmente los profesores son mucho mejores (para empezar, solo hablaban en ingl&#233;s, mientras que mis profesoras del colegio nunca lo hac&#237;an xD). Adem&#225;s, es un tipo de aprendizaje m&#225;s conversacional, no se centra tanto en la gram&#225;tica.</p><p>En verano siempre me inscrib&#237;a a cursos o actividades 100% en ingl&#233;s, para forzarme a hablar y perder la verg&#252;enza.</p><p>Tambi&#233;n hice amigos online en varios videojuegos, lo que me forzaba a practicar mientras me divert&#237;a.</p><p>La clave de todo esto es ser lo m&#225;s <strong>proactivo</strong> posible y buscar formas de aprender el idioma que realmente te gusten. Estando quieto es muy complicado aprender. Pero forzarse a m&#233;todos que detestas tampoco es lo mejor, porque probablemente acabar&#225;s abandon&#225;ndolos.</p><h2>Aplica antes de estar listo</h2><p><strong>Nunca te vas a sentir listo</strong> al 100%. Es imposible. No es tu idioma nativo, y adem&#225;s tienes que usarlo en un <strong>entorno con presi&#243;n</strong>, el proceso de entrevistas y el trabajo.</p><p>Despu&#233;s de <strong>a&#241;os </strong>trabajando en ingl&#233;s y viviendo en Irlanda y Austria, todav&#237;a <strong>considero que mi nivel es bastante bajo</strong>. Sigo cometiendo errores, me sigo trabando a veces y mi pronunciaci&#243;n deja bastante que desear. Pero mi objetivo no es hablar un ingl&#233;s perfecto. Es ser el mejor ingeniero de software posible.</p><p>Es por eso que es muy importante <strong>aplicar lo antes posible</strong>. Empieza con ofertas que te interesen menos, para hacer entrevistas con menos presi&#243;n y sin miedo al fracaso. Es muy probable que las primeras entrevistas te salgan bastante mal (yo <strong>no entend&#237;a ni lo que me dec&#237;an los recruiters</strong> y acababan colg&#225;ndome xD). Por eso, no gastes tus mejores balas a las primeras de cambio.</p><p>Ver&#225;s que, como en espa&#241;ol, todas las entrevistas siguen una <strong>estructura muy similar.</strong> Cuando lleves 4 o 5 ya estar&#225;s acostumbrado y te sentir&#225;s mucho m&#225;s c&#243;modo hablando en otro idioma.</p><p>Conozco gente que lleva a&#241;os prepar&#225;ndose para aplicar, y al final nunca lo hacen. No caigas en ese grupo. <strong>El no ya lo tienes,</strong> y los beneficios de intentarlo y fracasar son mucho mayores que los de prepararse sin un fin claro.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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><blockquote><p>Y recuerda echarle un vistazo <a href="https://danielblanco.dev/cursos">a mis cursos</a> si quieres aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software.</strong></p></blockquote>]]></content:encoded></item><item><title><![CDATA[#17 - Cómo llevar tu CV al siguiente nivel]]></title><description><![CDATA[De no recibir respuestas a entrevistarme con Google, Amazon, MongoDB y m&#225;s!]]></description><link>https://newsletter.danielblanco.dev/p/17-como-llevar-tu-cv-al-siguiente</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/17-como-llevar-tu-cv-al-siguiente</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Thu, 30 Apr 2026 00:01:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9e5a7963-e65c-4726-9acf-eba8ca9df188_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>En la universidad nos obligaron a hacer nuestro primer CV. Algo muy positivo si no fuera por el formato que nos obligaron a seguir: <strong>El </strong><em><strong>maldito</strong></em><strong> Europass.</strong></p><p>Mi curr&#237;culum ten&#237;a 2 p&#225;ginas, y hab&#237;a gente con 3 o 4. <strong>Todo eso sin haber cotizado ni una hora en nuestras vidas.</strong></p><p>Resultado? Cuando intent&#233; usarlo para cosas serias, <strong>no me respond&#237;a ni Dios.</strong> Ah&#237; empec&#233; a pensar que o yo era un in&#250;til (que tambi&#233;n xD), o hab&#237;a margen de mejora en c&#243;mo aplicaba a las ofertas.</p><p>En este art&#237;culo os voy a contar c&#243;mo pas&#233; de no recibir ninguna respuesta a conseguir entrevistas con Google, Amazon, Salesforce, Stripe, MongoDB y muchas m&#225;s. <strong>Con la plantilla que uso yo gratis al final!</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>Mis <strong>cursos de Udemy est&#225;n al mejor precio disponible</strong>! Aprovecha las rebajas para aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software.</strong></p><p>&#128313; <a href="https://danielblanco.dev/link/best_arq_avanzada">Arquitectura Software Avanzada: M&#225;s All&#225; de los Patrones</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_senior">El Camino a Senior: Claves para el &#201;xito como Programador</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_arq_moderna">Arquitectura Software Moderna: DDD, Eventos, Microservicios</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_clean_code_solid">Principios SOLID y Clean Code. Escribe c&#243;digo de calidad.</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_algoritmos">Algoritmos, Estructuras de Datos y Entrevistas Programaci&#243;n</a></p></blockquote><div><hr></div><h2>Los fallos de mi primer CV</h2><p>Cuando nos obligaron a utilizar Europass, nos vendieron que era el <strong>est&#225;ndar que la Uni&#243;n Europea</strong> estaba buscando implantar. Eso suena atractivo a primera vista.</p><p>El problema con este formato es que, si rellenas toda la informaci&#243;n que te pide, te vas a las <strong>3-4 p&#225;ginas</strong> muy f&#225;cilmente. <strong>Y eso no lo va a leer nadie.</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_!9Fi4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45460a8-b94d-443b-a2cd-b91d3fba38b9_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9Fi4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45460a8-b94d-443b-a2cd-b91d3fba38b9_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9Fi4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45460a8-b94d-443b-a2cd-b91d3fba38b9_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9Fi4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45460a8-b94d-443b-a2cd-b91d3fba38b9_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9Fi4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45460a8-b94d-443b-a2cd-b91d3fba38b9_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9Fi4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45460a8-b94d-443b-a2cd-b91d3fba38b9_1920x1080.jpeg" width="724" height="407.25" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c45460a8-b94d-443b-a2cd-b91d3fba38b9_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:724,&quot;bytes&quot;:161494,&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://newsletter.danielblanco.dev/i/194932307?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45460a8-b94d-443b-a2cd-b91d3fba38b9_1920x1080.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_!9Fi4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45460a8-b94d-443b-a2cd-b91d3fba38b9_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9Fi4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45460a8-b94d-443b-a2cd-b91d3fba38b9_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9Fi4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45460a8-b94d-443b-a2cd-b91d3fba38b9_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9Fi4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45460a8-b94d-443b-a2cd-b91d3fba38b9_1920x1080.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">Mi primer CV con el Europass</figcaption></figure></div><p>Ponte en el lugar del recruiter. Si tuvieras que revisar <strong>cientos de CVs</strong>, leer&#237;as cada uno de ellos detenidamente? Muy probablemente no.</p><p>Un recruiter invierte de <strong>6 a 10 segundos</strong> en una primera revisi&#243;n. Y, si pasa el filtro, quiz&#225;s le dedique otros 30 segundos o un minuto, con mucha suerte.</p><p>Eso quiere decir que, <strong>si la informaci&#243;n importante no est&#225; claramente a la vista, no la va a leer.</strong></p><p>En el CV de Europass, ten&#237;a demasiada informaci&#243;n que no sumaba nada:</p><ul><li><p>Cabecera enorme con foto y sexo.</p></li><li><p>Conocimientos que adquir&#237; en la carrera de Ingenier&#237;a Inform&#225;tica, algo obvio.</p></li><li><p>Tablas enormes para mis idiomas y para el permiso de conducir xD.</p></li><li><p>Demasiados proyectos, y ninguno con enlace.</p></li></ul><p>Adem&#225;s, la redacci&#243;n no est&#225; nada optimizada para una lectura r&#225;pida y, en general, el estilo del CV tiene demasiado espacio en blanco.</p><p>Comp&#225;ralo con el formato que utilizo ahora:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h-bn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb878fe2d-ec23-42e7-9be8-1340f28e4984_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h-bn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb878fe2d-ec23-42e7-9be8-1340f28e4984_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!h-bn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb878fe2d-ec23-42e7-9be8-1340f28e4984_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!h-bn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb878fe2d-ec23-42e7-9be8-1340f28e4984_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!h-bn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb878fe2d-ec23-42e7-9be8-1340f28e4984_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h-bn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb878fe2d-ec23-42e7-9be8-1340f28e4984_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b878fe2d-ec23-42e7-9be8-1340f28e4984_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132087,&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://newsletter.danielblanco.dev/i/194932307?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb878fe2d-ec23-42e7-9be8-1340f28e4984_1920x1080.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_!h-bn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb878fe2d-ec23-42e7-9be8-1340f28e4984_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!h-bn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb878fe2d-ec23-42e7-9be8-1340f28e4984_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!h-bn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb878fe2d-ec23-42e7-9be8-1340f28e4984_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!h-bn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb878fe2d-ec23-42e7-9be8-1340f28e4984_1920x1080.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">Primera versi&#243;n del CV que me consigui&#243; entrevistas en Google, Amazon y Salesforce</figcaption></figure></div><p>Una &#250;nica p&#225;gina, limpio, f&#225;cil de leer y solo con datos relevantes. Vayamos secci&#243;n a secci&#243;n.</p><h2>Cabecera y skills</h2><p>Debemos empezar con lo que m&#225;s les importa a los recruiters: formas de contacto y habilidades.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0DYP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb103ef-aaf6-4b85-8190-d5dedfe35de8_2390x788.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0DYP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb103ef-aaf6-4b85-8190-d5dedfe35de8_2390x788.png 424w, https://substackcdn.com/image/fetch/$s_!0DYP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb103ef-aaf6-4b85-8190-d5dedfe35de8_2390x788.png 848w, https://substackcdn.com/image/fetch/$s_!0DYP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb103ef-aaf6-4b85-8190-d5dedfe35de8_2390x788.png 1272w, https://substackcdn.com/image/fetch/$s_!0DYP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb103ef-aaf6-4b85-8190-d5dedfe35de8_2390x788.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0DYP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb103ef-aaf6-4b85-8190-d5dedfe35de8_2390x788.png" width="1456" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fb103ef-aaf6-4b85-8190-d5dedfe35de8_2390x788.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:359339,&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://newsletter.danielblanco.dev/i/194932307?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb103ef-aaf6-4b85-8190-d5dedfe35de8_2390x788.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_!0DYP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb103ef-aaf6-4b85-8190-d5dedfe35de8_2390x788.png 424w, https://substackcdn.com/image/fetch/$s_!0DYP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb103ef-aaf6-4b85-8190-d5dedfe35de8_2390x788.png 848w, https://substackcdn.com/image/fetch/$s_!0DYP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb103ef-aaf6-4b85-8190-d5dedfe35de8_2390x788.png 1272w, https://substackcdn.com/image/fetch/$s_!0DYP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb103ef-aaf6-4b85-8190-d5dedfe35de8_2390x788.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>Recomiendo hacer la cabecera lo m&#225;s corta posible para priorizar la informaci&#243;n relevante. <strong>No a&#241;adas foto</strong>, a no ser que est&#233;s seguro de que en tu pa&#237;s la piden siempre.</p><p>La parte de skills div&#237;dela en <strong>cuatro o cinco categor&#237;as</strong>, como en mi caso. Y recuerda que <strong>m&#225;s no siempre es mejor</strong>. De nuevo, queremos que el recruiter vea que somos un buen match para el puesto, no crear un diccionario de tecnolog&#237;as irrelevantes xD.</p><h2>Experiencia</h2><p>En la siguiente secci&#243;n a&#241;adiremos la experiencia profesional, siempre <strong>de m&#225;s a menos reciente.</strong></p><p>Si has tenido trabajos que no tienen demasiada relevancia para el puesto al que aplicas, yo te recomiendo quitarlos, especialmente si hacen que tu CV se vaya a m&#225;s de una p&#225;gina.</p><p>Por ejemplo, en este caso no mencion&#233; varias pr&#225;cticas que hice durante la carrera. Y cuando cambi&#233; a MongoDB y tuve que a&#241;adir Salesforce a mi experiencia, elimin&#233; la internship en Go Walk Talk, porque sab&#237;a que no iba a marcar la diferencia.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tuCv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c61462-b89e-433b-ab44-3a7e99e9bcb4_1900x936.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tuCv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c61462-b89e-433b-ab44-3a7e99e9bcb4_1900x936.png 424w, https://substackcdn.com/image/fetch/$s_!tuCv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c61462-b89e-433b-ab44-3a7e99e9bcb4_1900x936.png 848w, https://substackcdn.com/image/fetch/$s_!tuCv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c61462-b89e-433b-ab44-3a7e99e9bcb4_1900x936.png 1272w, https://substackcdn.com/image/fetch/$s_!tuCv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c61462-b89e-433b-ab44-3a7e99e9bcb4_1900x936.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tuCv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c61462-b89e-433b-ab44-3a7e99e9bcb4_1900x936.png" width="1456" height="717" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/97c61462-b89e-433b-ab44-3a7e99e9bcb4_1900x936.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:717,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:412314,&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://newsletter.danielblanco.dev/i/194932307?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c61462-b89e-433b-ab44-3a7e99e9bcb4_1900x936.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_!tuCv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c61462-b89e-433b-ab44-3a7e99e9bcb4_1900x936.png 424w, https://substackcdn.com/image/fetch/$s_!tuCv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c61462-b89e-433b-ab44-3a7e99e9bcb4_1900x936.png 848w, https://substackcdn.com/image/fetch/$s_!tuCv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c61462-b89e-433b-ab44-3a7e99e9bcb4_1900x936.png 1272w, https://substackcdn.com/image/fetch/$s_!tuCv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97c61462-b89e-433b-ab44-3a7e99e9bcb4_1900x936.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>Menciona cuatro o cinco puntos para cada una y <strong>a&#241;ade algunos puntos en el que tu impacto sea medible</strong>. Por ejemplo, en Arantia mejor&#233; el tiempo de procesamiento de un algoritmo en un 95%.</p><p>No todos tienen que ser as&#237;, pero la estructura &#8220;<strong>Hice X para solucionar Y problema, dando como resultado un Z% de mejora</strong>&#8221; queda muy bien y hace ver tu impacto real de forma sencilla y directa.</p><p>Lo que no recomendar&#237;a es a&#241;adir puntos del estilo &#8220;cre&#233; un servicio con X e Y tecnolog&#237;as&#8221;. Ya hemos dejado claras nuestras skills en la primera secci&#243;n, por lo que es preferible no repetir lo mismo aqu&#237; tambi&#233;n.</p><h2>Proyectos</h2><p>En la siguiente secci&#243;n mencionaremos los proyectos m&#225;s relevantes, si tenemos. Esta secci&#243;n es <strong>especialmente importante si eres junior</strong>, ya que al no tener demasiada experiencia, todo lo que pueda mostrar tu habilidad, proactividad e inter&#233;s por el sector ayuda un mont&#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_!Vw9_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710c900c-0cda-4723-a80b-a37524a75876_2340x874.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vw9_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710c900c-0cda-4723-a80b-a37524a75876_2340x874.png 424w, https://substackcdn.com/image/fetch/$s_!Vw9_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710c900c-0cda-4723-a80b-a37524a75876_2340x874.png 848w, https://substackcdn.com/image/fetch/$s_!Vw9_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710c900c-0cda-4723-a80b-a37524a75876_2340x874.png 1272w, https://substackcdn.com/image/fetch/$s_!Vw9_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710c900c-0cda-4723-a80b-a37524a75876_2340x874.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vw9_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710c900c-0cda-4723-a80b-a37524a75876_2340x874.png" width="1456" height="544" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/710c900c-0cda-4723-a80b-a37524a75876_2340x874.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:544,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:363811,&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://newsletter.danielblanco.dev/i/194932307?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710c900c-0cda-4723-a80b-a37524a75876_2340x874.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_!Vw9_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710c900c-0cda-4723-a80b-a37524a75876_2340x874.png 424w, https://substackcdn.com/image/fetch/$s_!Vw9_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710c900c-0cda-4723-a80b-a37524a75876_2340x874.png 848w, https://substackcdn.com/image/fetch/$s_!Vw9_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710c900c-0cda-4723-a80b-a37524a75876_2340x874.png 1272w, https://substackcdn.com/image/fetch/$s_!Vw9_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710c900c-0cda-4723-a80b-a37524a75876_2340x874.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>Por ejemplo, en mi caso, varios entrevistadores se descargaron mi app de Crossbar Challenge y la probaron antes de la entrevista por curiosidad. Y casi todos me preguntan sobre mis cursos de Udemy.</p><p><strong>A&#241;ade enlaces</strong> al c&#243;digo o al proyecto en s&#237;. Si no puedes publicar ninguna prueba, es mejor no a&#241;adirlo, no aporta demasiado.</p><p>Y nunca crees proyectos &#8220;basura&#8221;, especialmente ahora que con la IA es muy f&#225;cil. Si a&#241;ades un proyecto, aseg&#250;rate de que puedes responder preguntas sobre &#233;l y explicar lo que hace. Si no, te va a restar en lugar de sumar.</p><p>Por &#250;ltimo, si ya llevas muchos a&#241;os en el sector o si no tienes ning&#250;n proyecto p&#250;blico interesante que puedas ense&#241;ar, prioriza contar m&#225;s sobre tu experiencia profesional.</p><h2>Educaci&#243;n</h2><p>Para finalizar, menciona los estudios relevantes para el puesto al que est&#225;s aplicando, de forma muy breve.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XF75!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc9c205-ccea-4df7-98d2-2ec890097710_2412x382.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XF75!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc9c205-ccea-4df7-98d2-2ec890097710_2412x382.png 424w, https://substackcdn.com/image/fetch/$s_!XF75!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc9c205-ccea-4df7-98d2-2ec890097710_2412x382.png 848w, https://substackcdn.com/image/fetch/$s_!XF75!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc9c205-ccea-4df7-98d2-2ec890097710_2412x382.png 1272w, https://substackcdn.com/image/fetch/$s_!XF75!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc9c205-ccea-4df7-98d2-2ec890097710_2412x382.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XF75!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc9c205-ccea-4df7-98d2-2ec890097710_2412x382.png" width="1456" height="231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbc9c205-ccea-4df7-98d2-2ec890097710_2412x382.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:231,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97158,&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://newsletter.danielblanco.dev/i/194932307?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc9c205-ccea-4df7-98d2-2ec890097710_2412x382.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_!XF75!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc9c205-ccea-4df7-98d2-2ec890097710_2412x382.png 424w, https://substackcdn.com/image/fetch/$s_!XF75!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc9c205-ccea-4df7-98d2-2ec890097710_2412x382.png 848w, https://substackcdn.com/image/fetch/$s_!XF75!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc9c205-ccea-4df7-98d2-2ec890097710_2412x382.png 1272w, https://substackcdn.com/image/fetch/$s_!XF75!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbc9c205-ccea-4df7-98d2-2ec890097710_2412x382.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>No a&#241;adas estudios de instituto o colegio ni nada de idiomas.</strong> Si aplicas a un puesto en ingl&#233;s, se asume que tienes un nivel suficiente. Aporta poco decir que tienes un C1 en ingl&#233;s, de hecho, es probable que los americanos ni sepan qu&#233; significa.</p><h2>Plantilla</h2><p>Lo prometido es deuda! Aqu&#237; os dejo la plantilla para que pod&#225;is reutilizarla y adaptarla si as&#237; lo necesit&#225;is: <a href="https://github.com/danielblanco96/resume-public">https://github.com/danielblanco96/resume-public</a></p><p>El CV no lo es todo, ya que despu&#233;s vienen <a href="https://newsletter.danielblanco.dev/p/5-como-me-prepare-para-entrar-en">las entrevistas</a>. Pero es muy importante optimizarlo para <strong>maximizar las probabilidades</strong> de conseguir una oportunidad!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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><blockquote><p>Y recuerda echarle un vistazo <a href="https://danielblanco.dev/cursos">a mis cursos</a> si quieres aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software.</strong></p></blockquote>]]></content:encoded></item><item><title><![CDATA[#16 - Cómo preparar entrevistas de System Design]]></title><description><![CDATA[C&#243;mo no entrar en p&#225;nico cuando te pidan dise&#241;ar YouTube en una hora]]></description><link>https://newsletter.danielblanco.dev/p/16-como-preparar-entrevistas-de-system-design</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/16-como-preparar-entrevistas-de-system-design</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 22 Apr 2026 15:52:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7e658854-206b-400d-be0b-9d9ce24f7953_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Las entrevistas de dise&#241;o de sistemas asustan. Te dan un problema muy abierto y, en menos de una hora, tienes que dise&#241;ar algo <em>decente</em>.</p><p>&#8220;Hay cientos de ingenieros trabajando en YouTube desde hace dos d&#233;cadas. <strong>C&#243;mo voy a poder dise&#241;arlo yo s&#243;lo en una hora?</strong>&#8221;. <em>Valid crashout</em> xD.</p><p>Tras hacer cientos de entrevistas, tanto como entrevistador como candidato, voy a resumirte las claves del dise&#241;o de sistemas en este post.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>En mi curso <strong><a href="https://danielblanco.dev/link/diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala y Arquitectura de Software</a></strong> cubro todo el proceso desde cero, <strong>con 7 casos reales:</strong></p><ul><li><p>Dise&#241;ar sistemas con alta escalabilidad, disponibilidad y fiabilidad.</p></li><li><p>Conceptos clave en el dise&#241;o de sistemas (load balancer, cdn, message brokers, cache y mucho m&#225;s)</p></li><li><p>Patrones de Arquitectura Software.</p></li><li><p>7 casos pr&#225;cticos reales.</p></li></ul><p>&#218;nete a los <strong>m&#225;s de 6500 estudiantes y 4.7 / 5 &#11088;&#65039;</strong> de valoraci&#243;n!</p></blockquote><div><hr></div><h2>Qu&#233; se busca realmente en las entrevistas de Dise&#241;o de Sistemas</h2><p>Antes que nada: no, <strong>no te van a pedir dise&#241;ar un sistema perfecto.</strong> Ese no es el objetivo.</p><p>Lo que realmente van a evaluar es <strong>la forma en la que piensas y abordas un problema muy ambiguo</strong> para llegar a una posible soluci&#243;n, colaborando con el entrevistador.</p><p>El objetivo debe ser partir de un problema abierto, establecer el alcance con el entrevistador y descomponerlo en partes m&#225;s peque&#241;as y manejables.</p><p>El entrevistador va a querer comprobar si entiendes los problemas de los sistemas a gran escala. Una soluci&#243;n que puede ser perfectamente v&#225;lida para un sistema con unos pocos miles de usuarios seguramente sea inviable para uno con decenas de millones de usuarios concurrentes.</p><p>Y ah&#237; est&#225; la clave. El entender que <strong>no existe una soluci&#243;n perfecta</strong> y que todo en el desarrollo de software son <strong>trade-offs</strong>.</p><h2>C&#243;mo estructurar la entrevista</h2><p>Con el tiempo tan limitado que tenemos, es muy importante estructurar bien la discusi&#243;n. Aqu&#237; os dejo mi forma de abordar estas entrevistas y el tiempo en cada fase.</p><h3>1. Toma de requisitos y definir el alcance (5-10 min)</h3><p>En un problema tan abierto, podr&#237;amos estar hablando horas y horas de las distintas partes del sistema. Y <strong>no queremos perder el tiempo en &#225;reas en las que el entrevistador no est&#225; interesado.</strong></p><p>Mucha gente asume los requisitos y empieza a dise&#241;ar el sistema desde el principio, y eso es un gran error. Estas entrevistas hay que tomarlas como una <strong>discusi&#243;n con el entrevistador,</strong> no como un problema que tienes que resolver por tu cuenta.</p><p>Para ello, debemos empezar definiendo los <strong>requisitos funcionales y no funcionales.</strong> Empieza con los requisitos m&#225;s obvios y pregunta siempre al entrevistador si quiere aumentar el alcance por alg&#250;n lado.</p><p>Por ejemplo, si tenemos que dise&#241;ar un sistema como YouTube, est&#225; claro que como m&#237;nimo debemos permitir subir y visualizar v&#237;deos. Pero funcionalidades como comentarios, suscripciones, likes, etc. pueden estar dentro del alcance o no. </p><p>No podemos abarcar todo en tan poco tiempo, por lo que es probable que el entrevistador deje funcionalidades secundarias fuera del alcance. Pero, aunque eso pase, <strong>mencionarlas te da puntos a tu favor,</strong> ya que muestra que est&#225;s pensando a fondo sobre el problema.</p><h3>2. C&#225;lculos aproximados sobre la escala del sistema (5 min)</h3><p>A partir de los requisitos, algunos entrevistadores estar&#225;n interesados en calcular ciertos <strong>datos sobre la escala del sistema</strong>. Por ejemplo, consultas por segundo (QPS), usuarios, almacenamiento necesario, etc.</p><p>Pregunta por datos como el n&#250;mero de escrituras por unidad de tiempo, el n&#250;mero de usuarios y haz los <strong>c&#225;lculos de forma aproximada</strong>. No tienen que ser exactos, es simplemente para dar una idea de la escala.</p><p>Es importante preguntar al entrevistador si est&#225; interesado en estos <em>back-of-the-envelope calculations</em>, ya que muchos, entre los que me incluyo, creemos que no aportan mucho valor y preferimos invertir m&#225;s tiempo en discutir el dise&#241;o.</p><h3>3. Dise&#241;o a alto nivel (15-20 min)</h3><p>El siguiente paso es dise&#241;ar el sistema a alto nivel. No debemos entrar a&#250;n en detalle en ning&#250;n componente. Queremos establecer una <strong>primera soluci&#243;n al problema</strong> y ver que <strong>el entrevistador est&#225; conforme</strong> con ella.</p><p>Debes tratar el sistema end-to-end: <strong>clientes, APIs, servicios y almacenamiento de datos</strong>. Si necesita integraciones con servicios externos, menci&#243;nalo tambi&#233;n. El objetivo es <strong>identificar los componentes del sistema y c&#243;mo interact&#250;an entre ellos.</strong></p><p>Algo muy importante es comentar los <strong>trade-offs</strong> de tus decisiones. En el desarrollo de software, una decisi&#243;n que te ayuda a cumplir un objetivo tiene siempre sus contrapartidas. <strong>No hay una soluci&#243;n perfecta para todo</strong>, y debes dejar claro que lo tienes presente.</p><p>Aseg&#250;rate de que <strong>cubres todos los requisitos</strong> establecidos en la primera fase. Parece obvio, pero con la presi&#243;n he visto muchos casos en los que uno se olvida de alg&#250;n detalle y luego es complicado rectificar, por lo que no est&#225; de m&#225;s comprobar de nuevo los requisitos.</p><h3>4. Entrar en detalle en los componentes m&#225;s importantes (15 min)</h3><p>Una vez el entrevistador est&#225; conforme con el dise&#241;o a alto nivel, pasaremos a hablar a fondo de los componentes m&#225;s importantes.</p><p>Esto <strong>depende mucho del problema en cuesti&#243;n</strong>. Si dise&#241;as un sistema como YouTube, deber&#237;as hablar del procesamiento de los v&#237;deos; si te toca Uber, deber&#237;as hablar del algoritmo para emparejar conductores y pasajeros, etc.</p><p>En el hipot&#233;tico caso de que no sepas de qu&#233; hablar, no tengas miedo de preguntarle al entrevistador para ver en qu&#233; est&#225; m&#225;s interesado.</p><p>Otros temas que podr&#237;as tocar en esta fase si tienes tiempo son el <strong>dise&#241;o de datos</strong>, la estrategia de <strong>caching</strong>, el <strong>particionado</strong> de datos, la <strong>seguridad</strong>, las <strong>anal&#237;ticas</strong>, las <strong>m&#233;tricas</strong> y otros aspectos que no hayas cubierto a&#250;n en el dise&#241;o a alto nivel.</p><h3>5. Cierre (5 min)</h3><p>Aprovecha los &#250;ltimos minutos de la entrevista para repasar el dise&#241;o y mencionar los temas m&#225;s importantes.</p><p>Tambi&#233;n puedes hablar brevemente de temas que no hayas podido cubrir, para que el entrevistador sepa que no los has olvidado o ignorado, sino que no has tenido tiempo de tratarlos.</p><h2>Puntos clave en el dise&#241;o de sistemas</h2><p>Es dif&#237;cil tratar los temas m&#225;s importantes en estas entrevistas porque los problemas pueden ser muy distintos en cuanto a alcance y complejidad. Pero hay temas que s&#237; o s&#237; debes tener en cuenta en casi todos los dise&#241;os.</p><ul><li><p><strong>Escalabilidad.</strong> Dise&#241;a tu sistema para que pueda escalar <strong>horizontalmente</strong> (a&#241;adiendo m&#225;s nodos). Para ello, prioriza los servicios <strong>stateless</strong> y utiliza componentes como <strong>load balancers y API gateways</strong> para distribuir la carga a tus servicios. Solo en casos muy concretos tiene sentido utilizar servicios stateful, como por ejemplo en sistemas en tiempo real que utilizan websockets.</p></li><li><p><strong>Patrones de uso.</strong> Es el sistema <strong>read-heavy o write-heavy</strong>? Esto va a impactar mucho en tu dise&#241;o, sobre todo el acceso a datos y la cach&#233;, por lo que debes tenerlo en cuenta.</p></li><li><p><strong>Cach&#233;. </strong>En cliente, usando un CDN, y en backend, usando Redis, por ejemplo. Considera las estrategias cache-aside (lazy loading), write-through (la cach&#233; siempre se actualiza en escrituras), write-back (escribes en la cach&#233; y luego la base de datos se actualiza), etc. Menciona tambi&#233;n las estrategias de invalidaci&#243;n que seguir&#225;s.</p></li><li><p><strong>Consistencia vs disponibilidad (teorema CAP). </strong>Considera los trade-offs de consistencia fuerte vs eventual. Por lo general, a gran escala <strong>suele ser preferible la consistencia eventual</strong>, pero depende del caso de uso. Hay casos, como sistemas de pagos o inventarios, donde se prioriza la consistencia.</p></li></ul><p>Cubriendo bien esos puntos ya est&#225;s atacando la gran mayor&#237;a de problemas que suelen aparecer en entrevistas de dise&#241;o de sistemas.</p><p>Y recuerda, lo importante en estas entrevistas no es buscar la soluci&#243;n perfecta, porque no existe. <strong>Existe la soluci&#243;n adecuada para un contexto concreto.</strong></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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><blockquote><p>Y si te interesa preparar este tipo de entrevistas de forma m&#225;s guiada, recuerda echarle un vistazo a mi curso <strong><a href="https://danielblanco.dev/link/diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala y Arquitectura de Software</a></strong>, donde cubro toda la teor&#237;a, y 7 casos pr&#225;cticos reales!</p></blockquote>]]></content:encoded></item><item><title><![CDATA[#15 - He llegado al burnout]]></title><description><![CDATA[Tras a&#241;os a tope, he decidido tomar un descanso]]></description><link>https://newsletter.danielblanco.dev/p/15-he-llegado-al-burnout</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/15-he-llegado-al-burnout</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 15 Apr 2026 16:02:48 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/70a02093-4b34-40ae-8e0d-281d3c2ce3f9_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Siempre he pensado que eso del burnout nunca me llegar&#237;a a m&#237;.</strong> Llevo desde 2020 trabajando 60+ horas a la semana de media, ya sea por trabajo o por mis proyectos personales, y nunca he tenido s&#237;ntomas de estar quemado.</p><p>Mi estrategia era simple. <strong>Dos o tres meses de sprint, y uno o dos de descanso.</strong> Quer&#237;a sacar un nuevo curso? Me pon&#237;a como meta publicarlo antes del verano, le daba a tope de marzo a junio y descansaba julio y agosto. Jornadas de 6AM a 10PM <strong>se sent&#237;an ligeras</strong> <strong>al ver la meta cerca.</strong></p><p>Y esto me funcion&#243; genial durante a&#241;os. Pero desde hace unos meses, siento cero motivaci&#243;n para seguir con mis proyectos personales. Yo me forzaba a continuar, como siempre hab&#237;a hecho hasta ahora cuando ten&#237;a pocas ganas. Pero lleg&#243; la hora de tomar un descanso antes de llegar a un burnout total.</p><p>Llevo un par de meses sin hacer pr&#225;cticamente nada al acabar mi jornada laboral, y as&#237; va a seguir un tiempo.</p><p>En esta entrega os quiero contar las razones por las que creo que he llegado a este &#8220;semi burnout&#8221; y qu&#233; voy a hacer en los pr&#243;ximos meses.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>Si quieres aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software y acceder a nuevas oportunidades de trabajo, </strong>mis cursos te pueden ayudar!</p><p>&#128313; <a href="https://danielblanco.dev/link/arq_avanzada">Arquitectura Software Avanzada: M&#225;s All&#225; de los Patrones</a></p><p>&#128313; <a href="https://danielblanco.dev/link/senior">El Camino a Senior: Claves para el &#201;xito como Programador</a></p><p>&#128313; <a href="https://danielblanco.dev/link/diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a></p><p>&#128313; <a href="https://danielblanco.dev/link/arq_moderna">Arquitectura Software Moderna: DDD, Eventos, Microservicios</a></p><p>&#128313; <a href="https://danielblanco.dev/link/clean_code_solid">Principios SOLID y Clean Code. Escribe c&#243;digo de calidad.</a></p><p>&#128313; <a href="https://danielblanco.dev/link/algoritmos">Algoritmos, Estructuras de Datos y Entrevistas Programaci&#243;n</a></p></blockquote><div><hr></div><h2>Por qu&#233; creo que he llegado a este punto</h2><p>No hay una &#250;nica raz&#243;n para llegar este punto. Son una serie de factores que juntos hacen mella poco a poco.</p><h3>1. Demasiados proyectos sin un fin claro</h3><p>Hace justo un a&#241;o me met&#237; en una locura de proyecto con un amigo youtuber: hacer un mapa de Fortnite bastante ambicioso que &#233;l pudiese promocionar a su audiencia.</p><p>Empez&#243; bien y lo pas&#233; genial, pero a la hora de dise&#241;ar el mapa llegaron los problemas. No ten&#237;amos suficiente experiencia en eso y pensamos que ser&#237;a m&#225;s sencillo, por lo que el proyecto qued&#243; aparcado por el momento.</p><p>Tambi&#233;n empec&#233; <a href="https://apps.apple.com/es/app/deep-focus-todo-app-blocker/id6755938923">Deep Focus</a>, una app que bloquea distracciones hasta que completas tus tareas. La hice principalmente para m&#237;, pero la anunci&#233; en Twitter y me compromet&#237; a sacar actualizaciones cada dos o tres semanas (algo en lo que fall&#233; estrepitosamente xD).</p><p>Tambi&#233;n cre&#233; esta newsletter semanal, aunque en este caso no la siento como un trabajo, sino como un espacio en el que expresar y ordenar mis ideas, y por el momento me est&#225; gustando.</p><p><strong>Cuando empezaba un curso ten&#237;a un fin claro</strong>. Trabajaba tres meses a tope, lo publicaba y al instante ve&#237;a un retorno. <strong>Con los otros proyectos no, y eso hace que me cueste m&#225;s mantener la motivaci&#243;n.</strong></p><h3>2. Menos incentivos que en el pasado</h3><p>Me mud&#233; a Dubl&#237;n en 2021 con poco dinero. Mi objetivo era <strong>ahorrar todo lo posible durante unos a&#241;os</strong>, invertirlo todo y dejar que el inter&#233;s compuesto hiciese su magia para que al llegar el momento de tener una familia, contar con un buen colch&#243;n detr&#225;s.</p><p>Cada curso o proyecto que llevaba a cabo me daba ingresos para cubrir gastos de mi vida, por lo que incluso 100 euros al mes me compensaban el trabajo.</p><p>Ahora, con varios proyectos funcionando de forma pasiva, <strong>es m&#225;s dif&#237;cil justificar el tiempo invertido en uno nuevo</strong>, por lo que la motivaci&#243;n se desploma.</p><h3>3. Conexi&#243;n y cambio constante</h3><p>Nuestro trabajo no es f&#237;sico, pero <strong>a nivel mental puede desgastar mucho</strong>. Es complicado desconectar de verdad cuando tienes un problema o un proyecto con ciertas expectativas y presi&#243;n.</p><p>Y en mi caso, al llevar tantos a&#241;os acostumbrado a trabajar en mis proyectos despu&#233;s del trabajo, ver que no avanzo en ellos hace que me resulte a&#250;n m&#225;s dif&#237;cil desconectar.</p><p>Adem&#225;s, <strong>el cambio constante que est&#225; sufriendo nuestro sector</strong>, con todos los avances, la incertidumbre y los despidos masivos, no ayuda a mi mente, para qu&#233; mentir.</p><p>Con la IA podemos trabajar m&#225;s r&#225;pido y en m&#225;s cosas a la vez, lo que implica <strong>muchos cambios de contexto.</strong> Y siento que el cerebro humano tiene un l&#237;mite en ese sentido. A mayor n&#250;mero de tareas que intento completar de forma paralela, antes llega la sensaci&#243;n de agotamiento.</p><h3>4. Mi trabajo a tiempo completo como Software Engineer</h3><p>Hace a&#241;o y medio que empec&#233; en MongoDB y es el trabajo que m&#225;s he disfrutado hasta ahora. Estamos construyendo productos que usan much&#237;simas personas en todo el mundo, <strong>me divierte</strong> y la recompensa es muy grande.</p><p>Eso hace que le haya dedicado m&#225;s tiempo al trabajo que en otras empresas por las que he pasado. <strong>Recientemente me ascendieron y, al ver los frutos de mi esfuerzo, me motiva a seguir as&#237;.</strong></p><p>Como contrapartida, tengo menos tiempo para avanzar en mis proyectos personales, pero en mi caso me compensa.</p><h2>Mi plan para mejorar</h2><p>Personalmente, <strong>lo &#250;nico que me hace desconectar al completo es la naturaleza.</strong> Crec&#237; toda mi vida en &#8220;medio del monte&#8221; y hacer cosas al aire libre me encanta.</p><p>Cuando estoy en casa en modo ocioso es cuando realmente sufro este mini burnout, por <strong>el sentimiento de culpa de no estar avanzando en nada.</strong> Es algo que s&#233; que tengo que cambiar, pero &#8220;reprogramar&#8221; el cerebro para no sentir que si estoy en casa debo estar trabajando en mis cosas es complicado y me llevar&#225; meses o a&#241;os.</p><p>Mi plan es simple:</p><ul><li><p>Desinstalar X y otras redes sociales del tel&#233;fono.</p></li><li><p>Pasar a&#250;n m&#225;s tiempo en la naturaleza.</p></li><li><p>Aprovechar mis pr&#243;ximas vacaciones en Guatemala y en Espa&#241;a para no abrir el port&#225;til durante semanas.</p></li><li><p>Y, lo m&#225;s importante: <strong>trabajar en proyectos que realmente me llenen</strong>, me compensen y no sienta como una obligaci&#243;n o una carga en mi d&#237;a a d&#237;a.</p></li></ul><p>Estoy seguro de que, tras un tiempo de desconexi&#243;n real, la motivaci&#243;n que mantuve tanto tiempo en el pasado volver&#225;. A partir de ah&#237;, me centrar&#233; solo en proyectos que tengan sentido y, sobre todo, <strong>una l&#237;nea de meta.</strong></p><p>Todo el mundo me dice que esto cambia al tener hijos, ya que hay poco tiempo para uno mismo. No es mala idea, seguramente tambi&#233;n me hace falta xD</p><p>Me gustar&#237;a leer vuestra opini&#243;n y experiencias gestionando el burnout! Os pasa a menudo? Qu&#233; hac&#233;is para desconectar realmente?</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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><blockquote><p>Y recuerda echarle un vistazo <a href="https://danielblanco.dev/cursos">a mis cursos</a> si quieres aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software.</strong></p></blockquote>]]></content:encoded></item><item><title><![CDATA[#14 - Cómo matar la cultura de tu empresa]]></title><description><![CDATA[De empresa top a cultura rota en cuesti&#243;n de d&#237;as]]></description><link>https://newsletter.danielblanco.dev/p/14-como-matar-la-cultura-de-tu-empresa</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/14-como-matar-la-cultura-de-tu-empresa</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 08 Apr 2026 16:03:31 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ed68fc6b-a070-42e1-814e-f6842395dd32_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8220;Si est&#225;is sufriendo os recomiendo que os pill&#233;is un tiempo de vacaciones para desconectar como hice yo, que me fui dos semanas a la Polinesia Francesa&#8221;.</p><p>Eso nos dijo el CEO en Salesforce <strong>tras despedir al 10% de la plantilla y ver que la moral ca&#237;a</strong>. Totalmente <em>delusional </em>xD.</p><p>Pas&#243; de ser una empresa reconocida por su buena cultura y trato a los empleados, a todo lo contrario.</p><p>La confianza y la cultura <strong>se contruyen en a&#241;os, pero</strong> <strong>se destruyen en segundos.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>Si quieres aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software y acceder a nuevas oportunidades de trabajo, </strong>mis cursos te pueden ayudar!</p><p>&#128313; <a href="https://danielblanco.dev/link/arq_avanzada">Arquitectura Software Avanzada: M&#225;s All&#225; de los Patrones</a></p><p>&#128313; <a href="https://danielblanco.dev/link/senior">El Camino a Senior: Claves para el &#201;xito como Programador</a></p><p>&#128313; <a href="https://danielblanco.dev/link/diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a></p><p>&#128313; <a href="https://danielblanco.dev/link/arq_moderna">Arquitectura Software Moderna: DDD, Eventos, Microservicios</a></p><p>&#128313; <a href="https://danielblanco.dev/link/clean_code_solid">Principios SOLID y Clean Code. Escribe c&#243;digo de calidad.</a></p><p>&#128313; <a href="https://danielblanco.dev/link/algoritmos">Algoritmos, Estructuras de Datos y Entrevistas Programaci&#243;n</a></p></blockquote><div><hr></div><p>&#218;ltimamente estamos viendo muchas rondas de despidos. Block despidiendo al 40% de la plantilla, Oracle eliminando hasta 30,000 posiciones y rumores bastante fuertes aseguran que Meta quiere despedir a 16,000 trabajadores, el 20% de su total.</p><p><strong>A corto plazo, estas reducciones tienen sus beneficios</strong>. Las valoraciones en bolsa suben, los gastos bajan y puedes reconducir tus inversiones hacia otras &#225;reas con mayor potencial.</p><p>Ese es el caso de Oracle, que piensa ahorrar hasta 10 mil millones de d&#243;lares en sueldos y destinarlos a expandir infraestructura de IA.</p><p>Sin embargo, <strong>a medio y largo plazo la cultura de la empresa queda muy da&#241;ada.</strong></p><p>Las rondas de despidos masivas siempre afectan a la <strong>cultura y la moral</strong>. Pero no es lo mismo hacerlo cuando la empresa va mal que cuando est&#225; marcando beneficios r&#233;cord trimestre tras trimestre. El primer caso se acepta bastante mejor.</p><h2>Mi experiencia con los despidos en Salesforce</h2><p>Salesforce era reconocida en el sector tech como una de las mejores empresas para trabajar. Buenas condiciones, cultura y un cuidado por los empleados que no se ve&#237;a en otras compa&#241;&#237;as.</p><p>De hecho, yo la conoc&#237; y apliqu&#233; gracias a posts de Reddit en los que hablaban muy bien de ella.</p><p>Y durante mi primer a&#241;o la experiencia fue buen&#237;sima. <strong>Realmente </strong><em><strong>se sent&#237;a</strong></em><strong> que cuidaban de nosotros.</strong></p><p>Pero todo cambi&#243; cuando lleg&#243; la crisis tech de 2023. Despidos masivos a los que Salesforce se uni&#243;.</p><p>Lo peor no fue el hecho, sino las formas. Nos enviaron un correo electr&#243;nico con la decisi&#243;n, indicando que &#8220;en las pr&#243;ximas horas&#8221; les llegar&#237;a un aviso a los afectados.</p><p>A los europeos, como las regulaciones son m&#225;s estrictas, <strong>nos tuvieron en vilo semanas</strong>, hasta que el tema se calm&#243; un poco.</p><p>Adem&#225;s, nos recortaron el bonus y otros beneficios sin una raz&#243;n clara. Los ingresos fueron r&#233;cord, pero como el sector &#8220;estaba mal&#8221;, pues lo ten&#237;an que hacer.</p><p>La puntilla fue lo de la French Polynesia del CEO xDD, junto con m&#225;s comentarios totalmente fuera de tono de &#233;l y otros directivos en m&#250;ltiples all hands.</p><p>La empresa <strong>pas&#243; de ser una de las mejor valoradas del sector a destruir toda su reputaci&#243;n</strong>. A todo el mundo le afect&#243; ese proceso, y estoy seguro de que la motivaci&#243;n y el esfuerzo que los empleados estaban dispuestos a dar se desplomaron.</p><p>A d&#237;a de hoy, m&#225;s de 3 a&#241;os despu&#233;s, a&#250;n no se ha recuperado, y posiblemente no lo har&#225; nunca.</p><h2>Si sabes que puedes ser el siguiente, hay pocas razones para esforzarse</h2><p>Muchas empresas que despiden a granel ni siquiera se toman su tiempo para decidir a qui&#233;n despiden de forma individual. <strong>Establecen porcentajes por &#225;rea y la decisi&#243;n la toma un algoritmo.</strong></p><p>A veces, esto se hace para no involucrar a los m&#225;nagers de primera l&#237;nea y que no se filtren los despidos antes de tiempo.</p><p>Esto lleva siempre a casos sin sentido, como uno de los trabajadores m&#225;s valorados y queridos por la comunidad de Fortnite, que Epic despidi&#243; junto a otras 999 personas, o empleados que llevaban toda la vida en Oracle y que se fueron a la calle.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/DanielBlancoSWE/status/2036866330578559075?s=20&quot;,&quot;full_text&quot;:&quot;9 a&#241;os en Epic. Trabaj&#243; noches enteras, fines de semana, sano y enfermo.\n\nMuy apreciado por gente de la empresa y de la comunidad (s&#243;lo hay que ver las respuestas al tweet)\n\nA&#250;n as&#237;, lo despidieron. No hay nadie esencial para una empresa. No pongas tu trabajo antes de tu vida.&quot;,&quot;username&quot;:&quot;DanielBlancoSWE&quot;,&quot;name&quot;:&quot;Daniel Blanco &#128187;&#129302;&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1979168625794686976/BH9Ht0eZ_normal.jpg&quot;,&quot;date&quot;:&quot;2026-03-25T18:02:31.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{&quot;full_text&quot;:&quot;guess who got laid off today! &#129760;\n\ni am genuinely so confused and bewildered\nlike, i spent the past week debugging the rivalry system while recovering from pneumonia\n\nand just in the past few days i&#8217;ve had multiple directors tell me how much they appreciate everything i do&quot;,&quot;username&quot;:&quot;evankinney&quot;,&quot;name&quot;:&quot;Evanosaurus &#8220;Unrawrl Engine 5.7&#8221; Rex&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1467917454668091406/XRKt7CeV_normal.jpg&quot;},&quot;reply_count&quot;:32,&quot;retweet_count&quot;:250,&quot;like_count&quot;:2504,&quot;impression_count&quot;:149781,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>Cuando eso sucede, qu&#233; motivaci&#243;n tienen los empleados para seguir trabajando duro? <strong>Poca o ninguna</strong>. Te puede tocar aunque seas de los mejores de la empresa, simplemente porque un algoritmo as&#237; lo decide.</p><p>Y ah&#237; es cuando la cultura muere. <strong>Se mata la moral, el esfuerzo y la innovaci&#243;n.</strong> Todo por buscar beneficios a corto plazo.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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><blockquote><p>Y recuerda echarle un vistazo <a href="https://danielblanco.dev/cursos">a mis cursos </a>si quieres aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software.</strong></p></blockquote>]]></content:encoded></item><item><title><![CDATA[#13 - La enshittificación del software: más código, peor producto]]></title><description><![CDATA[M&#225;s software que nunca, pero cada vez peor]]></description><link>https://newsletter.danielblanco.dev/p/13-la-enshittificacion-del-software</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/13-la-enshittificacion-del-software</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 01 Apr 2026 16:01:10 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b275fde0-06e1-4e43-9605-0af5f9b284e3_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>El supply chain attack de Axios, la filtraci&#243;n del c&#243;digo de Claude Code y GitHub luchando por no bajar del 90% de disponibilidad. Todo eso en un par de d&#237;as.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SI1q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feca4c985-eb96-49f1-81c1-fac38d11e6b8_1638x560.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SI1q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feca4c985-eb96-49f1-81c1-fac38d11e6b8_1638x560.jpeg 424w, https://substackcdn.com/image/fetch/$s_!SI1q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feca4c985-eb96-49f1-81c1-fac38d11e6b8_1638x560.jpeg 848w, https://substackcdn.com/image/fetch/$s_!SI1q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feca4c985-eb96-49f1-81c1-fac38d11e6b8_1638x560.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!SI1q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feca4c985-eb96-49f1-81c1-fac38d11e6b8_1638x560.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SI1q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feca4c985-eb96-49f1-81c1-fac38d11e6b8_1638x560.jpeg" width="1456" height="498" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eca4c985-eb96-49f1-81c1-fac38d11e6b8_1638x560.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:498,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Imagen&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Imagen" title="Imagen" srcset="https://substackcdn.com/image/fetch/$s_!SI1q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feca4c985-eb96-49f1-81c1-fac38d11e6b8_1638x560.jpeg 424w, https://substackcdn.com/image/fetch/$s_!SI1q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feca4c985-eb96-49f1-81c1-fac38d11e6b8_1638x560.jpeg 848w, https://substackcdn.com/image/fetch/$s_!SI1q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feca4c985-eb96-49f1-81c1-fac38d11e6b8_1638x560.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!SI1q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feca4c985-eb96-49f1-81c1-fac38d11e6b8_1638x560.jpeg 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></figure></div><p>No es ninguna sorpresa si te digo que <strong>la calidad del software que usamos en nuestro d&#237;a a d&#237;a lleva sufriendo una bajada</strong> ya desde tiempos pre-pandemia. Y la llegada de los LLMs est&#225; <strong>acelerando</strong> un proceso que cada d&#237;a se nota m&#225;s.</p><p>Lo vemos en productos m&#225;s lentos, con m&#225;s bugs <strong>y con menos </strong><em><strong>cari&#241;o</strong></em> hacia los usuarios. Y en el post de hoy vamos a ver el porqu&#233;, y qu&#233; nos puede deparar el futuro.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>Si quieres aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software y acceder a nuevas oportunidades de trabajo, </strong>mis cursos te pueden ayudar!</p><p>&#128313; <a href="https://danielblanco.dev/link/arq_avanzada">Arquitectura Software Avanzada: M&#225;s All&#225; de los Patrones</a></p><p>&#128313; <a href="https://danielblanco.dev/link/senior">El Camino a Senior: Claves para el &#201;xito como Programador</a></p><p>&#128313; <a href="https://danielblanco.dev/link/diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a></p><p>&#128313; <a href="https://danielblanco.dev/link/arq_moderna">Arquitectura Software Moderna: DDD, Eventos, Microservicios</a></p><p>&#128313; <a href="https://danielblanco.dev/link/clean_code_solid">Principios SOLID y Clean Code. Escribe c&#243;digo de calidad.</a></p><p>&#128313; <a href="https://danielblanco.dev/link/algoritmos">Algoritmos, Estructuras de Datos y Entrevistas Programaci&#243;n</a></p></blockquote><div><hr></div><h2>Por qu&#233; escribimos peor software?</h2><p>Las razones por las que el software se siente peor que hace m&#225;s de una d&#233;cada son muchas y diversas.</p><p>Empecemos con lo obvio. <strong>Los sistemas son mucho m&#225;s complejos</strong> hoy en d&#237;a. Algunos con buenas razones: la democratizaci&#243;n de la tecnolog&#237;a trajo una explosi&#243;n en el n&#250;mero de usuarios, y <strong>los sistemas necesitan escalar.</strong></p><p>Otros no tanto. Esos que te montan una arquitectura hexagonal con tropecientos microservicios y componentes para apps con 20 usuarios.</p><p>Las arquitecturas distribuidas tienen sus ventajas, pero tambi&#233;n traen consigo mayor <strong>complejidad de coordinaci&#243;n, un debugging m&#225;s dif&#237;cil y menor velocidad de desarrollo.</strong></p><p>La segunda raz&#243;n son las <strong>dependencias excesivas</strong>. Se ha pasado a un modelo de desarrollo donde un <em>Hello World</em> pesa 10MB.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S72z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b051fd9-f051-43e4-87a8-4c5d3e11f973_640x455.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S72z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b051fd9-f051-43e4-87a8-4c5d3e11f973_640x455.jpeg 424w, https://substackcdn.com/image/fetch/$s_!S72z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b051fd9-f051-43e4-87a8-4c5d3e11f973_640x455.jpeg 848w, https://substackcdn.com/image/fetch/$s_!S72z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b051fd9-f051-43e4-87a8-4c5d3e11f973_640x455.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!S72z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b051fd9-f051-43e4-87a8-4c5d3e11f973_640x455.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S72z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b051fd9-f051-43e4-87a8-4c5d3e11f973_640x455.jpeg" width="640" height="455" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b051fd9-f051-43e4-87a8-4c5d3e11f973_640x455.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:455,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;I figured you guys would enjoy this : r/ProgrammerHumor&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="I figured you guys would enjoy this : r/ProgrammerHumor" title="I figured you guys would enjoy this : r/ProgrammerHumor" srcset="https://substackcdn.com/image/fetch/$s_!S72z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b051fd9-f051-43e4-87a8-4c5d3e11f973_640x455.jpeg 424w, https://substackcdn.com/image/fetch/$s_!S72z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b051fd9-f051-43e4-87a8-4c5d3e11f973_640x455.jpeg 848w, https://substackcdn.com/image/fetch/$s_!S72z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b051fd9-f051-43e4-87a8-4c5d3e11f973_640x455.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!S72z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b051fd9-f051-43e4-87a8-4c5d3e11f973_640x455.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">Los objetos m&#225;s pesados del Universo</figcaption></figure></div><p>Esto me sorprendi&#243; bastante con la &#250;ltima app que desarroll&#233;, <a href="https://apps.apple.com/us/app/deep-focus-todo-app-blocker/id6755938923">Deep Focus</a>. Una app de tareas que bloquea las apps que quieras hasta que completes tu trabajo. Es bastante simple, la hice con React Native y pesa 33 MB. Y la versi&#243;n que estoy desarrollando con sync entre dispositivos ya va por 50.</p><p>Todas estas dependencias hacen que las aplicaciones sean <strong>m&#225;s lentas y muchas veces menos seguras.</strong> Gran parte de ellas ni siquiera las necesita nuestra app, pero se incluyen en la build porque son dependencias de otras dependencias. Y, a mayor n&#250;mero de ellas, m&#225;s probable es que aparezcan vulnerabilidades que te afecten.</p><p>Otro punto importante es la velocidad de desarrollo. <em>Move Fast and Break Things</em>, dec&#237;a Mark Zuckerberg. No estoy del todo en contra de esa metodolog&#237;a, pero <strong>cuando la llevas al extremo la calidad acaba resinti&#233;ndose.</strong></p><p>Estamos en un mundo que cada vez quiere ir m&#225;s r&#225;pido. Se premia el contenido basura y las <em>quick wins</em>, y eso se nota tambi&#233;n en el software.</p><p>Y por &#250;ltimo est&#225; la IA.</p><h2>La IA lo acelera todo</h2><p>Muchos culpan a la IA de todos los males. Pero la IA no hace m&#225;s que <strong>amplificar los comportamientos</strong> <strong>que ya ten&#237;amos</strong> en el sector.</p><p>Con la llegada de los LLMs, el desarrollo de software se ha vuelto mucho m&#225;s accesible. Ya es posible crear una web o una app desde cero sin escribir una s&#243;la l&#237;nea de c&#243;digo.</p><p>Esto se ha visto muy claramente con la explosi&#243;n de apps publicadas en la App Store a finales de 2025.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5Mh2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa77ab624-e1f2-499f-a9e5-765cbd297e5f_1526x1014.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5Mh2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa77ab624-e1f2-499f-a9e5-765cbd297e5f_1526x1014.png 424w, https://substackcdn.com/image/fetch/$s_!5Mh2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa77ab624-e1f2-499f-a9e5-765cbd297e5f_1526x1014.png 848w, https://substackcdn.com/image/fetch/$s_!5Mh2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa77ab624-e1f2-499f-a9e5-765cbd297e5f_1526x1014.png 1272w, https://substackcdn.com/image/fetch/$s_!5Mh2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa77ab624-e1f2-499f-a9e5-765cbd297e5f_1526x1014.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5Mh2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa77ab624-e1f2-499f-a9e5-765cbd297e5f_1526x1014.png" width="1456" height="967" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a77ab624-e1f2-499f-a9e5-765cbd297e5f_1526x1014.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:967,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:675716,&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://newsletter.danielblanco.dev/i/192812985?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa77ab624-e1f2-499f-a9e5-765cbd297e5f_1526x1014.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_!5Mh2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa77ab624-e1f2-499f-a9e5-765cbd297e5f_1526x1014.png 424w, https://substackcdn.com/image/fetch/$s_!5Mh2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa77ab624-e1f2-499f-a9e5-765cbd297e5f_1526x1014.png 848w, https://substackcdn.com/image/fetch/$s_!5Mh2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa77ab624-e1f2-499f-a9e5-765cbd297e5f_1526x1014.png 1272w, https://substackcdn.com/image/fetch/$s_!5Mh2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa77ab624-e1f2-499f-a9e5-765cbd297e5f_1526x1014.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">N&#250;mero de Apps publicadas en la App Store por mes. Fuente: a16z</figcaption></figure></div><p>Pero mayor cantidad no significa mayor calidad. De hecho, suele ser inversamente proporcional, como en este caso. </p><p>Se est&#225; llenando todo de productos que son <strong>clones de otros</strong>, sin ning&#250;n factor diferencial. La calidad parece no importar, s&#243;lo interesa sacar producto tras producto hasta que nos toque la loter&#237;a con uno. Como esto fuera un casino.</p><p>Adem&#225;s, todo el sector est&#225; invirtiendo millonadas en inteligencia artificial. Y <em>tiene </em>que haber alg&#250;n retorno. Desde las grandes empresas hasta las peque&#241;as, todas est&#225;n <strong>forzando la adopci&#243;n</strong> de estas herramientas y una <strong>mayor velocidad de desarrollo.</strong></p><p>En los &#250;ltimos meses hemos visto c&#243;mo grandes plataformas como AWS, GitHub o Cloudflare han tenido ca&#237;das enormes.</p><p>Y tambi&#233;n a empresas m&#225;s peque&#241;as, como Claude, que han tenido casi m&#225;s d&#237;as con problemas que d&#237;as buenos.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tUi9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35862abf-0888-490f-a002-a31815bd5a12_1720x342.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tUi9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35862abf-0888-490f-a002-a31815bd5a12_1720x342.png 424w, https://substackcdn.com/image/fetch/$s_!tUi9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35862abf-0888-490f-a002-a31815bd5a12_1720x342.png 848w, https://substackcdn.com/image/fetch/$s_!tUi9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35862abf-0888-490f-a002-a31815bd5a12_1720x342.png 1272w, https://substackcdn.com/image/fetch/$s_!tUi9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35862abf-0888-490f-a002-a31815bd5a12_1720x342.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tUi9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35862abf-0888-490f-a002-a31815bd5a12_1720x342.png" width="1456" height="290" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35862abf-0888-490f-a002-a31815bd5a12_1720x342.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:290,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:61199,&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://newsletter.danielblanco.dev/i/192812985?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35862abf-0888-490f-a002-a31815bd5a12_1720x342.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_!tUi9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35862abf-0888-490f-a002-a31815bd5a12_1720x342.png 424w, https://substackcdn.com/image/fetch/$s_!tUi9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35862abf-0888-490f-a002-a31815bd5a12_1720x342.png 848w, https://substackcdn.com/image/fetch/$s_!tUi9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35862abf-0888-490f-a002-a31815bd5a12_1720x342.png 1272w, https://substackcdn.com/image/fetch/$s_!tUi9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35862abf-0888-490f-a002-a31815bd5a12_1720x342.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Est&#225;n estas ca&#237;das inusuales directamente relacionadas con el uso indiscriminado de LLMs para el desarrollo? Es dif&#237;cil saberlo a ciencia cierta. Pero, sin lugar a duda, es un factor que contribuye a ello.</p><h2>Qu&#233; futuro nos depara?</h2><p>El futuro es incierto y alberga horrores xD.</p><p>Si todo sigue el curso actual, mi apuesta personal es que veremos <strong>m&#225;s ca&#237;das y problemas de seguridad en el corto y medio plazo</strong>. Y posiblemente m&#225;s grandes.</p><p>Pero tambi&#233;n creo que <strong>las herramientas mejorar&#225;n</strong>, la gente se cansar&#225; de productos a medio hacer y todo <strong>acabar&#225; en un cambio de rumbo.</strong></p><p>Tambi&#233;n creo que estamos ante una oportunidad enorme para crear productos con cari&#241;o y bien cuidados. Productos que se diferencien por su calidad, en lugar de por la velocidad de desarrollo.</p><p>Necesitamos m&#225;s casos como la <a href="https://lareiraconf.es">Lareira</a> y menos como todo el <em>slop </em>que est&#225; inundando la App Store.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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><blockquote><p>Y recuerda echarle un vistazo <a href="https://danielblanco.dev/cursos">a mis cursos </a>si quieres aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software.</strong></p></blockquote>]]></content:encoded></item><item><title><![CDATA[#12 - Elige bien tus batallas, porque no son gratis]]></title><description><![CDATA[Cada vez que insistes en algo, gastas parte de tu "cr&#233;dito"]]></description><link>https://newsletter.danielblanco.dev/p/12-elige-bien-tus-batallas-porque-no-son-gratis</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/12-elige-bien-tus-batallas-porque-no-son-gratis</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 25 Mar 2026 17:02:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9cb7fe56-02e7-4c75-9d1c-08c437d19e33_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Siempre he sido de decir lo que pienso. Si hay algo con lo que no estoy de acuerdo, suelo comentarlo para llegar a la mejor soluci&#243;n posible.</p><p>Pero esto es un arma de doble filo, y tard&#233; en darme cuenta. Estoy seguro de que <strong>mucha gente me ve&#237;a (y todav&#237;a me ve xD) como un pesado.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>Esta entrega de Status 418 est&#225; patrocinada por <a href="https://x.com/DanielBlancoSWE">@DanielBlancoSWE</a> (yo xD)</p><p>Mis <strong>cursos de Udemy est&#225;n al mejor precio disponible</strong>! Aprovecha las rebajas para aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software.</strong></p><p>&#128313; <a href="https://danielblanco.dev/link/best_arq_avanzada">Arquitectura Software Avanzada: M&#225;s All&#225; de los Patrones</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_senior">El Camino a Senior: Claves para el &#201;xito como Programador</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_arq_moderna">Arquitectura Software Moderna: DDD, Eventos, Microservicios</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_clean_code_solid">Principios SOLID y Clean Code. Escribe c&#243;digo de calidad.</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_algoritmos">Algoritmos, Estructuras de Datos y Entrevistas Programaci&#243;n</a></p></blockquote><div><hr></div><p>Todos tenemos un cierto <strong>&#8220;cr&#233;dito pol&#237;tico&#8221;</strong>. Es la confianza que tienes dentro de un grupo para influir en decisiones. Algo que no se ve, pero se siente.</p><p>Cada vez que inicias una batalla por cambiar una decisi&#243;n, <strong>gastas parte de ese cr&#233;dito</strong>. Si te quejas demasiado, ser&#225;s visto como esa persona que siempre protesta por todo, y ser&#225; m&#225;s f&#225;cil que te ignoren.</p><p>S&#233; que conoces a alguien as&#237;, que siempre va en contra del consenso. Y estoy seguro de que te cuesta escucharlo, a pesar de que a veces tenga raz&#243;n.</p><p>Y tambi&#233;n conoces el caso contrario. Alguien que pelea lo justo, en situaciones importantes, y suele ser escuchado.</p><p>En muchas ocasiones tu opini&#243;n es valorada m&#225;s por la <strong>percepci&#243;n que tienen otros de ti que por la propia opini&#243;n</strong>. Es duro y un poco il&#243;gico. Pero la psicolog&#237;a humana es as&#237;.</p><p>Por eso hay que <strong>elegir bien las batallas que quieres tomar.</strong></p><p>El dise&#241;o que se ha propuesto para una funcionalidad cr&#237;tica tiene problemas? Com&#233;ntalo.</p><p>El equipo est&#225; tardando mucho en revisar las PRs? H&#225;blalo con ellos.</p><p>Se ha tomado una decisi&#243;n que funciona, pero no es tu preferida? Probablemente deber&#237;as aceptar que tienes gustos diferentes y dejarlo pasar.</p><p>Hay otras formas de <strong>influir en la opini&#243;n del grupo sin entrar al choque</strong>. Por ejemplo, soltar una idea al aire y que se discuta en grupo, sin querer forzar nada. No solo importa el qu&#233;, tambi&#233;n el c&#243;mo.</p><p>Tu cr&#233;dito pol&#237;tico tambi&#233;n puede aumentar. Si ayudas a otros, tomas decisiones acertadas o lideras proyectos complicados, har&#225; que ganes confianza dentro de la organizaci&#243;n. Y, por lo tanto, tendr&#225;s m&#225;s margen para pelear tus batallas.</p><p>Somos seres sociales. A pesar de estar en un sector muy t&#233;cnico, sigue importando mucho c&#243;mo te ven otras personas.</p><p><strong>Tener raz&#243;n no sirve de nada si nadie te escucha.</strong></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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><blockquote><p>Y recuerda echarle un vistazo <a href="https://danielblanco.dev/cursos">a mis cursos</a> si quieres aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software.</strong></p></blockquote>]]></content:encoded></item><item><title><![CDATA[#11 - Mi experiencia como programador en Irlanda]]></title><description><![CDATA[Por qu&#233; Dubl&#237;n es la mejor ciudad para emigrar como programador]]></description><link>https://newsletter.danielblanco.dev/p/11-mi-experiencia-como-programador-en-irlanda</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/11-mi-experiencia-como-programador-en-irlanda</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 18 Mar 2026 17:01:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b8ae1c74-dc43-4703-a246-88895cf56366_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Emigr&#233; a Irlanda a finales de 2021. Trabaj&#233; como Ingeniero de Software en Salesforce durante tres a&#241;os antes de irme a vivir a Austria. Gan&#233; en calidad de vida, pero <strong>perd&#237; much&#237;simo en cuanto a oportunidades de carrera.</strong></p><p>En esta entrega de Status 418 te cuento <strong>por qu&#233; Irlanda es, de lejos, la mejor opci&#243;n si eres programador en Europa.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>Esta entrega de Status 418 est&#225; patrocinada por <a href="https://x.com/DanielBlancoSWE">@DanielBlancoSWE</a> (yo xD)</p><p>Si quieres aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software y acceder a nuevas oportunidades de trabajo, </strong>mis cursos te pueden ayudar!</p><p>&#128313; <a href="https://danielblanco.dev/link/arq_avanzada">Arquitectura Software Avanzada: M&#225;s All&#225; de los Patrones</a></p><p>&#128313; <a href="https://danielblanco.dev/link/senior">El Camino a Senior: Claves para el &#201;xito como Programador</a></p><p>&#128313; <a href="https://danielblanco.dev/link/diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a></p><p>&#128313; <a href="https://danielblanco.dev/link/arq_moderna">Arquitectura Software Moderna: DDD, Eventos, Microservicios</a></p><p>&#128313; <a href="https://danielblanco.dev/link/clean_code_solid">Principios SOLID y Clean Code. Escribe c&#243;digo de calidad.</a></p><p>&#128313; <a href="https://danielblanco.dev/link/algoritmos">Algoritmos, Estructuras de Datos y Entrevistas Programaci&#243;n</a></p></blockquote><div><hr></div><p>Europa tiene varios pa&#237;ses donde te puedes ganar muy bien la vida como ingeniero de software. Suiza, Alemania, Pa&#237;ses Bajos, Irlanda&#8230; Pero <strong>la isla esmeralda tiene cosas que ninguno de los anteriores ofrece.</strong></p><h2>Empresas y sueldos</h2><p>Gracias en parte a los beneficios fiscales para las empresas (<strong>al trabajador lo revientan</strong>, en contra de lo que se suele pensar), todas las multinacionales potentes tienen sede en Irlanda.</p><p>Uno de los requisitos que pone el gobierno de Irlanda para ofrecer a&#250;n m&#225;s beneficios fiscales es que un gran porcentaje de los empleados europeos trabajen para la sede irlandesa. Esto hace que <strong>la demanda de trabajadores sea muy alta</strong>, incluso teniendo en cuenta la bajada post-covid.</p><p>Los <strong>sueldos y beneficios</strong> que ofrecen son otro gran punto a favor. No solo hay mucho trabajo, sino que tambi&#233;n es <em><strong>relativamente f&#225;cil</strong></em><strong> pasar de los 100,000 euros anuales</strong> como mid / early senior (4-6 a&#241;os de experiencia). Y llegar a 200k no es ninguna locura si sigues acumulando experiencia.</p><p>En otros pa&#237;ses como Suiza puedes encontrar sueldos a&#250;n mejores, pero tienen muchas menos empresas. Y las locales valoran el idioma del pa&#237;s.</p><h2>Cultura de trabajo</h2><p>Un gran beneficio que pasa desapercibido es la<strong> cultura de trabajo que tienen los irlandeses</strong>. Toman las cosas buenas de los americanos (menor importancia de la jerarqu&#237;a, prioridad por buscar la mejor soluci&#243;n al problema venga de donde venga, etc.) y el work-life balance propio de Europa.</p><p>En Espa&#241;a, sobre todo en empresas m&#225;s tradicionales, el jefe tiene much&#237;sima importancia todav&#237;a. Y en pa&#237;ses con cultura germ&#225;nica, much&#237;simo peor. <strong>Llevar la contraria a alguien superior es casi un crimen</strong> xD, y es algo a lo que me habr&#237;a costado mucho acostumbrarme.</p><h2>Accesibilidad y la gente en general</h2><p>Si tienes pasaporte europeo, no hace falta visas. Y si eres de fuera, entrar es relativamente sencillo, son bastante abiertos a extender visas. Eso, y que su idioma sea el ingl&#233;s, facilita mucho las cosas al empezar.</p><p>La gente local es abierta y muy amable. Y hay una comunidad muy grande de emigrantes espa&#241;oles y latinos en general. Es casi <strong>m&#225;s f&#225;cil escuchar espa&#241;ol que ingl&#233;s por la calle</strong> xD, lo que hace que te sientas un poco m&#225;s en casa.</p><h2>Mi experiencia fuera de lo laboral</h2><p>No todo en esta vida es el trabajo. Hay otras cosas de Irlanda, tanto buenas como malas que me gustar&#237;a destacar sobre mi experiencia.</p><h3>1 - Encontrar casa es un infierno</h3><p>Este punto se comenta mucho, pero todo lo que puedas pensar se queda corto. <strong>Dubl&#237;n no es como otras capitales europeas</strong>. Es caro, s&#237;. Pero <strong>el precio del alquiler no es el mayor problema.</strong></p><p>Yo pensaba que al ir con un sueldo superior a la media, podr&#237;a vivir en un lugar decente sin necesidad de compartir. Fui dos semanas antes para dedicarme a buscar piso full time. Recib&#237;a <strong>poqu&#237;simas respuestas a las decenas de solicitudes que enviaba.</strong> Y las que s&#237; me respond&#237;an, iba a la visita y hab&#237;a 15 personas m&#225;s.</p><p>Un anuncio sal&#237;a por la ma&#241;ana, por la tarde ten&#237;a visitas y por la noche estaba alquilado. Era un infierno. Tras bajar las expectativas, consegu&#237; un estudio de <strong>~20 metros cuadrados por 1300 euros al mes</strong>. Un aut&#233;ntico dolor. Al menos la zona result&#243; ser buena (Rathmines, zona de &#8220;ricos&#8221; cerca del centro), pero fue pura casualidad porque no filtraba nada.</p><p>El tama&#241;o no era lo peor. No estaba nada aislado, era muy fr&#237;o en invierno, era viej&#237;simo y hasta tuve ratones en casa. Me r&#237;o ahora, pero en ese momento lo sufr&#237; bastante xDD.</p><h3>2 - El tiempo no es tan malo</h3><p>Si eres del norte de Espa&#241;a, como yo, te dar&#225;s cuenta de que <strong>en Dubl&#237;n no llueve tanto como dicen</strong>. Como gallego, irme a Dubl&#237;n fue una mejora. Los inviernos son fr&#237;os, pero no suele llegar a bajo cero demasiadas veces. Los veranos son templados, entre 18-21 de m&#225;xima normalmente.</p><p>El viento y, sobre todo, la falta de sol, fue lo que m&#225;s sufr&#237;. <strong>En invierno el sol no sube nada</strong>, como puedes ver en la siguiente foto. Amanece a las 9 y se pone a las 4.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x0O2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a12d59-3468-4fad-8af6-3f13cc27e4c5_4000x3000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x0O2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a12d59-3468-4fad-8af6-3f13cc27e4c5_4000x3000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!x0O2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a12d59-3468-4fad-8af6-3f13cc27e4c5_4000x3000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!x0O2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a12d59-3468-4fad-8af6-3f13cc27e4c5_4000x3000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!x0O2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a12d59-3468-4fad-8af6-3f13cc27e4c5_4000x3000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x0O2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a12d59-3468-4fad-8af6-3f13cc27e4c5_4000x3000.jpeg" width="1456" height="1941" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00a12d59-3468-4fad-8af6-3f13cc27e4c5_4000x3000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1606271,&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://newsletter.danielblanco.dev/i/191020760?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a12d59-3468-4fad-8af6-3f13cc27e4c5_4000x3000.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_!x0O2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a12d59-3468-4fad-8af6-3f13cc27e4c5_4000x3000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!x0O2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a12d59-3468-4fad-8af6-3f13cc27e4c5_4000x3000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!x0O2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a12d59-3468-4fad-8af6-3f13cc27e4c5_4000x3000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!x0O2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a12d59-3468-4fad-8af6-3f13cc27e4c5_4000x3000.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">Foto del sol a las 11:55 del el 11 de diciembre de 2022. La c&#225;mara de mi Xiaomi era lamentable, pero se ve lo bajo que est&#225; el sol a mediod&#237;a.</figcaption></figure></div><p>En verano esto est&#225; genial, hay sol para repartir. Pero de noviembre a marzo toca sufrir.</p><h3>3 - Ocio decente pero limitado</h3><p><strong>Si te gusta la fiesta, Dubl&#237;n es el para&#237;so</strong>. Es con diferencia el lugar donde mejor me lo pas&#233; de fiesta. En verano, la gente sale a las calles a beber a las 6 de la tarde, y eso se extiende a los bares y discotecas hasta las 3 de la ma&#241;ana.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PAjt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F616d8e49-165d-411c-9d46-cfe750b80328_3000x2676.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PAjt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F616d8e49-165d-411c-9d46-cfe750b80328_3000x2676.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PAjt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F616d8e49-165d-411c-9d46-cfe750b80328_3000x2676.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PAjt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F616d8e49-165d-411c-9d46-cfe750b80328_3000x2676.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PAjt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F616d8e49-165d-411c-9d46-cfe750b80328_3000x2676.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PAjt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F616d8e49-165d-411c-9d46-cfe750b80328_3000x2676.jpeg" width="3000" height="2676" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/616d8e49-165d-411c-9d46-cfe750b80328_3000x2676.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2676,&quot;width&quot;:3000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2437665,&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://newsletter.danielblanco.dev/i/191020760?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd213bf40-9c69-4e93-9a41-856f6ff413d1_4000x3000.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_!PAjt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F616d8e49-165d-411c-9d46-cfe750b80328_3000x2676.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PAjt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F616d8e49-165d-411c-9d46-cfe750b80328_3000x2676.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PAjt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F616d8e49-165d-411c-9d46-cfe750b80328_3000x2676.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PAjt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F616d8e49-165d-411c-9d46-cfe750b80328_3000x2676.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">Ambiente en San Patricio 2022 (aunque realmente es el peor d&#237;a del a&#241;o para salir de casa XD)</figcaption></figure></div><p>Tambi&#233;n hay <strong>monta&#241;as y naturaleza al sur de la ciudad</strong>. Me pas&#233; muchos fines de semana de senderismo por Bray y alrededores con mi mejor amigo de Irlanda.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6WSt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00699b1-df3e-4cb9-934d-9b7a60fdfee9_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6WSt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00699b1-df3e-4cb9-934d-9b7a60fdfee9_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6WSt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00699b1-df3e-4cb9-934d-9b7a60fdfee9_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6WSt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00699b1-df3e-4cb9-934d-9b7a60fdfee9_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6WSt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00699b1-df3e-4cb9-934d-9b7a60fdfee9_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6WSt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00699b1-df3e-4cb9-934d-9b7a60fdfee9_4032x3024.jpeg" width="1456" height="1941" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e00699b1-df3e-4cb9-934d-9b7a60fdfee9_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2514797,&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://newsletter.danielblanco.dev/i/191020760?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00699b1-df3e-4cb9-934d-9b7a60fdfee9_4032x3024.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_!6WSt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00699b1-df3e-4cb9-934d-9b7a60fdfee9_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6WSt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00699b1-df3e-4cb9-934d-9b7a60fdfee9_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6WSt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00699b1-df3e-4cb9-934d-9b7a60fdfee9_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6WSt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe00699b1-df3e-4cb9-934d-9b7a60fdfee9_4032x3024.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">Paisaje cerca de Bray, al sur de Dubl&#237;n</figcaption></figure></div><p>Quitando estas dos cosas, tengo que ser honesto. <strong>No hay mucho m&#225;s que hacer en Irlanda</strong>. La oferta de ocio es limitada, no hay casi ning&#250;n evento, concierto ni nada relevante que pase por la ciudad, ya que todos eligen Londres para eso.</p><p>Adem&#225;s, Irlanda es una isla que se cruza en tres horas, por lo que se ven r&#225;pido los lugares m&#225;s emblem&#225;ticos. Y necesitas coche s&#237; o s&#237; para ello, <strong>el transporte p&#250;blico es una basura.</strong></p><h3>4 - Burocracia muy simple</h3><p>Una gran ventaja de Irlanda es que <strong>la burocracia es m&#237;nima y bastante simple</strong>. Llegas, pides el n&#250;mero de seguridad social y listo, no hay que hacer ning&#250;n proceso m&#225;s.</p><p>Los impuestos son muy altos, pero <strong>la declaraci&#243;n es autom&#225;tica y muy sencilla</strong> si tienes que a&#241;adir algo m&#225;s. Y lo mejor de todo es que <strong>no te persiguen</strong> <strong>si cometes alg&#250;n error, son bastante permisivos.</strong></p><p>La li&#233; en un par de ocasiones por no declarar la venta de unas acciones a tiempo y no me multaron ni me acosaron. Simplemente me pidieron que lo corrigiese en la siguiente declaraci&#243;n y listo.</p><p>Muy distinto a Espa&#241;a y a Austria, y lo echo de menos, la verdad.</p><h3>5 - Servicios tercermundistas</h3><p>Lo de tercermundistas quiz&#225;s sea una exageraci&#243;n, pero no est&#225; lejos. La sanidad funciona bastante mal y el transporte p&#250;blico es casi inexistente. En Dubl&#237;n no hay metro y los buses pasan cuando quieren. El tren es escaso y deficiente.</p><p>Si vives fuera de la capital es un horror, necesitas coche s&#237; o s&#237;. En cuanto a infraestructuras y servicios, es un pa&#237;s como lo era Espa&#241;a hace 30 o 40 a&#241;os, sin exagerar. Quiz&#225;s incluso m&#225;s.</p><h2>Conclusi&#243;n: es un gran pa&#237;s para impulsar tu carrera</h2><p>Irlanda me cambi&#243; la vida, y es un pa&#237;s al que volver&#237;a una y mil veces. Crec&#237; como profesional y como persona, conoc&#237; a mucha gente que se hizo importante en mi vida y lo pas&#233; genial.</p><p>Pero personalmente no podr&#237;a vivir en &#233;l toda la vida. La falta de servicios, el clima y el ocio limitado son factores que para m&#237; no compensan el gran mercado laboral del pa&#237;s. Pero para propulsar tu carrera es, sin duda, el mejor pa&#237;s de Europa, y lo sigo recomendando a todo el mundo!</p><p>Has visitado o vivido en Irlanda? Qu&#233; opini&#243;n tienes del pa&#237;s? Si tienes cualquier duda, no dudes en dejarme un comentario o enviarme un DM, estar&#233; encantado de ayudarte!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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><blockquote><p>Y recuerda echarle un vistazo <a href="https://danielblanco.dev/cursos">a mis cursos </a>si quieres aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software.</strong></p></blockquote>]]></content:encoded></item><item><title><![CDATA[#10 - Mi ascenso a Senior en MongoDB]]></title><description><![CDATA[C&#243;mo ascend&#237; en poco m&#225;s de un a&#241;o y c&#243;mo funcionan los ascensos en estas empresas]]></description><link>https://newsletter.danielblanco.dev/p/10-mi-ascenso-a-senior-en-mongodb</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/10-mi-ascenso-a-senior-en-mongodb</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 11 Mar 2026 17:01:52 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3665d80e-c366-412e-8736-f7883b9b928c_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Entr&#233; a MongoDB en septiembre de 2024. Una de las primeras cosas que me sorprendi&#243; fue el <strong>nivel de expectativas</strong> que tienen sobre los Ingenieros de Software, incluso comparado con Salesforce, <strong>donde ya era Senior.</strong></p><p>Hace unas semanas me comunicaron mi ascenso tras mi segundo <em>performance review</em>, poco m&#225;s de un a&#241;o despu&#233;s de haber entrado en la empresa.</p><p>En este art&#237;culo te cuento c&#243;mo funciona el proceso y qu&#233; fue lo que m&#225;s impacto tuvo para conseguirlo.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>Si te interesa profundizar en <strong>c&#243;mo crecer hasta senior y m&#225;s all&#225;</strong>, en mi curso <strong>&#8220;<a href="https://danielblanco.dev/link/senior">El Camino a Senior: Claves para el &#201;xito como Programador</a>&#8221;</strong> trato temas que te ayudar&#225;n a avanzar hacia ese objetivo:</p><p>&#128313; C&#243;mo <strong>priorizar</strong> tareas de alto impacto<br>&#128313; <strong>Habilidades t&#233;cnicas avanzadas</strong>: debugging, design docs y gesti&#243;n de deuda t&#233;cnica<br>&#128313; <strong>Soft skills</strong> y crecimiento profesional<br>&#128313; <strong>Liderazgo</strong> t&#233;cnico y desarrollo de equipos</p><p>&#201;chale un vistazo en <a href="https://danielblanco.dev/link/senior">https://danielblanco.dev/link/senior</a>. Ya lo han hecho <strong>m&#225;s de 1300 estudiantes</strong>, con una valoraci&#243;n media de <strong>4.7 &#11088;&#65039;</strong></p></blockquote><div><hr></div><h2>Por qu&#233; entr&#233; como Mid si ya era Senior</h2><p>Lo primero que tuve que hacer para entrar en MongoDB <strong>fue tragarme un poco mi ego de programador xD</strong>. A pesar de llevar m&#225;s de un a&#241;o como Senior en Salesforce, no me consideraban como tal en MongoDB. Y como ya me hab&#237;an rechazado el a&#241;o anterior al aplicar a un puesto Senior, decid&#237; entrevistarme para el puesto de Mid, L4.</p><p><strong>Los niveles var&#237;an much&#237;simo</strong> dependiendo de la empresa. En Salesforce existe el t&#237;tulo de <em>Lead Software Engineer </em>despu&#233;s del Senior. En MongoDB, no. Aqu&#237; se sigue el &#8220;est&#225;ndar&#8221; de otras empresas como Google, Meta o Netflix, donde el siguiente nivel es el Staff.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GP9N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fac233-41c1-46a4-b810-2b6a593f0fc6_2492x1474.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GP9N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fac233-41c1-46a4-b810-2b6a593f0fc6_2492x1474.png 424w, https://substackcdn.com/image/fetch/$s_!GP9N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fac233-41c1-46a4-b810-2b6a593f0fc6_2492x1474.png 848w, https://substackcdn.com/image/fetch/$s_!GP9N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fac233-41c1-46a4-b810-2b6a593f0fc6_2492x1474.png 1272w, https://substackcdn.com/image/fetch/$s_!GP9N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fac233-41c1-46a4-b810-2b6a593f0fc6_2492x1474.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GP9N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fac233-41c1-46a4-b810-2b6a593f0fc6_2492x1474.png" width="1456" height="861" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0fac233-41c1-46a4-b810-2b6a593f0fc6_2492x1474.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:861,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:387929,&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://newsletter.danielblanco.dev/i/190591292?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fac233-41c1-46a4-b810-2b6a593f0fc6_2492x1474.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_!GP9N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fac233-41c1-46a4-b810-2b6a593f0fc6_2492x1474.png 424w, https://substackcdn.com/image/fetch/$s_!GP9N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fac233-41c1-46a4-b810-2b6a593f0fc6_2492x1474.png 848w, https://substackcdn.com/image/fetch/$s_!GP9N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fac233-41c1-46a4-b810-2b6a593f0fc6_2492x1474.png 1272w, https://substackcdn.com/image/fetch/$s_!GP9N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fac233-41c1-46a4-b810-2b6a593f0fc6_2492x1474.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">Fuente: Levels.fyi</figcaption></figure></div><p>Eso hace que <strong>las expectativas de un Senior sean bastante mayores</strong>. Y como llevaba poco en ese nivel en Salesforce, Mid era el nivel m&#225;s adecuado para m&#237;.</p><p>Al empezar ya lo v&#237; mucho m&#225;s claro. Todos los seniors de mi equipo ten&#237;an m&#225;s de 15 a&#241;os de experiencia y eran muy, muy buenos. Estaba claro que me hab&#237;a flipado bastante al aplicar a ese nivel con apenas 5 a&#241;os de experiencia en 2023 xD.</p><h2>C&#243;mo funcionan los ascensos</h2><p>En la mayor&#237;a de empresas medianas y grandes hay <strong>dos oportunidades al a&#241;o para ascender</strong>. Una a inicios de a&#241;o y otra a mediados.</p><p>El proceso comienza meses antes. Si demuestras que puedes operar al siguiente nivel, <strong>tu manager podr&#225; proponerte como candidato</strong>. En ese caso, entre los dos se crea un documento con todos tus logros y pruebas de que cumples con los requisitos.</p><p>Adem&#225;s, tu manager tendr&#225; que pedir feedback a compa&#241;eros y a otros equipos para respaldar la propuesta.</p><p>Cuando termina la recogida de feedback, se pasa a un proceso de calibraci&#243;n. Se <em>compara</em> el rendimiento de todos los ingenieros de la misma organizaci&#243;n (un nivel por encima de tu manager), y el proceso termina con una <strong>valoraci&#243;n del rendimiento.</strong></p><p>Al mismo tiempo, los managers pueden proponer ascensos y, si el director y otros managers de la org est&#225;n de acuerdo, se env&#237;a tu candidatura. <strong>Pero esto no significa que el ascenso est&#233; asegurado.</strong></p><p>Todos los ascensos <strong>pasan a un nivel superior para revisarlos y aprobarlos</strong> en caso de que tu candidatura sea fuerte. En mi caso, como llevaba poco tiempo en mi rol y HR suele pedir m&#225;s tiempo para ascender a alguien, mis jefes tuvieron que <em>luchar </em>para que me lo concedieran.</p><h2>Qu&#233; hice para ascender r&#225;pido</h2><p>Cuando me hicieron la oferta, la recruiter me dijo que no pod&#237;an asignarme el nivel de Senior todav&#237;a, pero que podr&#237;a ascender r&#225;pido porque el equipo me hab&#237;a visto como un L4 fuerte.</p><p>Aunque <strong>todo lo que te digan antes de firmar la oferta deber&#237;a tomarse como palabras vac&#237;as</strong>, me puse manos a la obra para demostrar que pod&#237;a ascender r&#225;pido.</p><h3>Clave 1: Las primeras impresiones cuentan mucho</h3><p>Como bien dijo el Xokas, &#8220;so never get a second chance to make a first impression&#8221; xD. <strong>Las primeras impresiones son dif&#237;ciles de cambiar</strong>, y hacer un esfuerzo extra al principio puede darte un r&#233;dito futuro muy valioso.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;06062e16-0afd-404f-8219-5085e09dab19&quot;,&quot;duration&quot;:null}"></div><p>Hice el onboarding lo antes posible y <strong>me centr&#233; en aprender a fondo nuestro producto</strong>, Ops Manager. Es m&#225;s importante conocer el qu&#233; y el por qu&#233; lo hace que el c&#243;mo. En un proyecto tan grande es f&#225;cil perderse en los detalles t&#233;cnicos, y es imposible saberlo todo.</p><p>Adem&#225;s, complet&#233; pronto las primeras tareas que me asignaron y, sin que me lo pidieran, ayud&#233; a desbloquear la actualizaci&#243;n a Ubuntu 24.04 que estaba bloqueada por un bug bastante complejo.</p><h3>Clave 2: Trabajar en proyectos relevantes</h3><p>Al principio es normal que te asignen proyectos poco a poco. Pero <strong>si quieres ascender, necesitas visibilidad</strong>. Como quer&#237;a demostrar mi val&#237;a, le ped&#237; directamente a my manager que me asignara como l&#237;der de un primer proyecto.</p><p>Como hab&#237;a causado una muy buena primera impresi&#243;n, mi manager confiaba en m&#237; y me asign&#243; un proyecto para enviar las alertas de la plataforma v&#237;a webhook. Hice la investigaci&#243;n inicial, defin&#237; el scope, el design doc y complet&#233; la implementaci&#243;n y el release de la funcionalidad.</p><p>Tambi&#233;n tuve la oportunidad de asistir a varias llamadas con nuestro cliente m&#225;s importante, lo que me dio much&#237;sima visibilidad.</p><p>Como pude liderar ese primer proyecto sin problemas y de forma aut&#243;noma, a partir de ah&#237; <strong>me siguieron asignando proyectos cada vez m&#225;s grandes e importantes.</strong></p><h3>Clave 3: Pedir el ascenso</h3><p>Mucha gente espera <strong>que los ascensos lleguen por s&#237; solos</strong>. Y, a pesar de que en algunos casos acaban llegando, no es la mejor estrategia posible. Dejar claras tus intenciones a tu manager tambi&#233;n es muy importante, ya que va a ayudarte a <strong>establecer unas expectativas para lograrlo.</strong></p><p>Adem&#225;s, de esta forma tu manager sabe lo que buscas y lo que quieres, y puede ayudarte a conseguirlo d&#225;ndote ciertos proyectos con mayor visibilidad, ofreci&#233;ndote consejos o conect&#225;ndote con otros equipos importantes.</p><p><strong>Pedir el ascenso no significa exigir nada. Es solo dejar claras las expectativas.</strong></p><h3>Clave 4: Crear conexiones</h3><p>Es tan importante tu rendimiento como que <strong>otras personas tengan una buena opini&#243;n de ti</strong>. Por muy bueno que seas, si otras personas no lo consideran as&#237; va a ser dif&#237;cil progresar.</p><p>A m&#237; personalmente me gusta mucho ayudar cuando alguien tiene problemas, aunque eso signifique &#8220;perder&#8221; tiempo de mis proyectos. Ser de los primeros en ofrecer ayuda hizo que mucha gente distinta me considerara como alguien resolutivo, lo que me llev&#243; a recibir muy buen feedback de compa&#241;eros y otros equipos.</p><p>Tambi&#233;n me ayud&#243; mucho buscar <strong>proyectos que involucraran a diferentes equipos,</strong> ya que te dan mucha m&#225;s visibilidad y te permiten construir relaciones con m&#225;s gente dentro de la empresa.</p><div><hr></div><p>C&#243;mo es el proceso de ascensos en tu empresa? Me interesa mucho leer tu experiencia en los comentarios!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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>Y recuerda echarle un vistazo a mi curso &#8220;<a href="https://danielblanco.dev/link/senior">El Camino a Senior: Claves para el &#201;xito como Programador</a>&#8221; si quieres aprender las claves parallegar a senior y m&#225;s all&#225;!</p>]]></content:encoded></item><item><title><![CDATA[#9 – Cómo preparar entrevistas de Live Coding]]></title><description><![CDATA[C&#243;mo pas&#233; de caer en entrevistas de Live Coding a recibir ofertas]]></description><link>https://newsletter.danielblanco.dev/p/9-como-preparar-entrevistas-de-live-coding</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/9-como-preparar-entrevistas-de-live-coding</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 04 Mar 2026 17:03:10 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fb438e1d-3193-45c7-bb77-e5b65186386c_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>S&#243;lo hay dos cosas que me dieron verdadero p&#225;nico en mi vida: <strong>el examen de conducir y las entrevistas de live coding</strong>. La presi&#243;n que se siente cuando te observan intentando resolver y programar la soluci&#243;n a un problema es dif&#237;cil de entender hasta que no lo vives.</p><p>Despu&#233;s de hacer decenas de entrevistas, puedo decir que me siento <em>c&#243;modo</em> en ellas. Sigo nervioso, s&#237;. Pero ya no me bloqueo, puedo seguir una estructura y llegar a soluciones aceptables en la mayor&#237;a de casos.</p><p>Hace unas semanas te contaba <a href="https://newsletter.danielblanco.dev/p/5-como-me-prepare-para-entrar-en">c&#243;mo me prepar&#233; para entrar en empresas americanas</a>. Hoy entramos en detalle en las entrevistas de live coding, explicando <strong>todo lo que he hecho para superar ejercicios de Google, Amazon, Stripe o MongoDB</strong>, entre otros.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>En mi curso <strong><a href="https://danielblanco.dev/link/algoritmos">Algoritmos, Estructuras de Datos y Entrevistas de Programaci&#243;n</a></strong> cubro todo el proceso desde cero, con <strong>m&#225;s de 50 ejercicios reales</strong>: </p><ul><li><p>Complejidad algor&#237;tmica (<strong>Big O</strong>)</p></li><li><p><strong>Estructuras de Datos</strong> (tablas hash, linked list, stack, queue, tree, graph, heaps y tries)</p></li><li><p><strong>Recursividad y programaci&#243;n din&#225;mica</strong>.</p></li><li><p><strong>Algoritmos</strong> de ordenamiento y b&#250;squeda</p></li><li><p>Mejora tu <strong>CV y c&#243;mo aplicar</strong> a vacantes de empleo.</p></li></ul></blockquote><div><hr></div><h2>Qu&#233; eval&#250;an realmente en estas entrevistas</h2><p>Mucha gente cree que lo que m&#225;s cuenta en estas entrevistas es llegar a la mejor soluci&#243;n posible. Y si es sin ayuda, mejor.</p><p>Si bien es cierto que eso suma, no es lo m&#225;s importante. Lo que m&#225;s se valora es la <strong>comunicaci&#243;n, el razonamiento, </strong>la capacidad de<strong> adaptaci&#243;n y colaboraci&#243;n </strong>con el entrevistador y los conocimientos que tengas de las <strong>bases de la ingenier&#237;a de software</strong>.</p><p>Me han rechazado en entrevistas que resolv&#237; <em>perfectamente</em>, llegando a la soluci&#243;n &#243;ptima, por falta de comunicaci&#243;n. Y he pasado procesos en los que no pude llegar a la mejor soluci&#243;n, pero donde la colaboraci&#243;n fue muy buena.</p><h3>1. Introducci&#243;n (5-10 min)</h3><p>La entrevista suele empezar con una fase de introducci&#243;n que dura unos 5-10 minutos. Para esto, <strong>debes preparar</strong> un resumen de tu carrera, tus logros y tu puesto actual en un par de minutos como m&#225;ximo. Enfatizo lo de <strong>preparar.</strong> <strong>Es la pregunta m&#225;s t&#237;pica y te va a ayudar llevarla lista.</strong></p><p>Es importante no demorarse mucho en esto, ya que es una entrevista t&#233;cnica y es f&#225;cil que el entrevistador pierda el hilo si sueltas demasiada informaci&#243;n.</p><h3>2. Presentaci&#243;n del problema y propuesta de primera soluci&#243;n (10-15 min)</h3><p>A continuaci&#243;n, te presentan el problema y te dan un tiempo para que lo leas. No intentes ir con prisa y, <strong>bajo ning&#250;n concepto, pienses en tirar c&#243;digo todav&#237;a.</strong></p><p>L&#233;elo con calma y haz todas las preguntas que necesites. Hay cosas que pueden parecer obvias, pero si no est&#225;n especificadas en los requisitos es mejor preguntar para <strong>establecer el alcance del problema.</strong></p><p>Aqu&#237; llega el momento de proponer una primera soluci&#243;n. No tiene que ser la m&#225;s &#243;ptima. Mucha gente se queda bloqueada en este punto por querer dar la mejor respuesta posible. <strong>Una soluci&#243;n sub&#243;ptima es mil veces mejor que un folio en blanco.</strong></p><p>Lo m&#225;s importante es <strong>hablar mucho.</strong> El entrevistador no puede leer tu mente, y una de las cosas que quiere evaluar es c&#243;mo piensas. Adem&#225;s, si sabe lo que est&#225;s pensando, podr&#225; darte pistas para resolver el ejercicio.</p><h3>3. Optimizaci&#243;n y escribir el c&#243;digo (20 min)</h3><p>Una vez tenemos una primera soluci&#243;n que resuelve el ejercicio, es hora de optimizarla. Hasta este momento <strong>no has escrito ni una l&#237;nea de c&#243;digo</strong>. Ha sido una conversaci&#243;n con el entrevistador y notas en texto plano.</p><p>Analiza la <strong>complejidad algor&#237;tmica de tu soluci&#243;n</strong> e intenta estimar cu&#225;l ser&#237;a el Big O &#243;ptimo. Si te quedas bloqueado, puedes hacer un <em><strong>brainstorming</strong></em><strong> de los algoritmos y estructuras de datos</strong> m&#225;s comunes, ya que pueden ayudarte a optimizar la soluci&#243;n.</p><p>Una vez llegas a un acuerdo con el entrevistador, es hora de programar. Intenta escribir c&#243;digo lo m&#225;s legible y sint&#225;cticamente correcto posible, pero esto no es lo que m&#225;s se valora. Se entiende que el tiempo es muy limitado, por lo que <strong>no importa si cometes alg&#250;n fallo de sintaxis o si no te acuerdas de alguna funci&#243;n.</strong></p><p>Al acabar, rep&#225;salo y <strong>&#8220;ejecuta&#8221; ejemplos de forma manual en &#233;l</strong>, para comprobar que todo funciona como esperas. Si encuentras alg&#250;n bug, com&#233;ntalo y soluci&#243;nalo si te da tiempo.</p><h3>4. Cierre y preguntas (10-15 min)</h3><p>Dependiendo del tiempo que te quede, el entrevistador puede hacerte m&#225;s preguntas o dejarte hacer unos comentarios finales. Aqu&#237; puedes comentar aspectos que tendr&#237;as en cuenta, pero para los que no hay tiempo en una entrevista as&#237;: <strong>logging, m&#233;tricas, tests, calidad del c&#243;digo, etc.</strong></p><p>Finalmente, aprovecha la oportunidad para hacer buenas preguntas sobre el equipo y la empresa. Es un detalle que suma y puede marcar la diferencia si muestras inter&#233;s real por la oportunidad.</p><h2>Mi proceso de preparaci&#243;n</h2><p>Si has llegado aqu&#237;, <strong>gracias por aguantar la chapa xD</strong>. Pero es muy importante conocer la estructura de estas entrevistas y lo que se valora, para entender c&#243;mo se preparan.</p><h3>Complejidad Algor&#237;tmica</h3><p>El concepto m&#225;s importante para llegar a soluciones &#243;ptimas es el <strong>Big O.</strong> Te lo van a pedir y, aunque no lo hagan directamente, se asume que debes mencionarlo. <strong>Si no lo haces, penaliza.</strong></p><p>No tienes que entrar en todas las matem&#225;ticas de la definici&#243;n formal. De hecho, me sigue asustando echar un vistazo a la <a href="https://en.wikipedia.org/wiki/Big_O_notation">p&#225;gina de Wikipedia</a> xD. Lo que s&#237; tienes que conocer son las complejidades m&#225;s comunes y cu&#225;ndo se dan:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ld3F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb639ca-9ab8-4242-bd9b-032284a35f4c_783x454.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ld3F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb639ca-9ab8-4242-bd9b-032284a35f4c_783x454.png 424w, https://substackcdn.com/image/fetch/$s_!Ld3F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb639ca-9ab8-4242-bd9b-032284a35f4c_783x454.png 848w, https://substackcdn.com/image/fetch/$s_!Ld3F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb639ca-9ab8-4242-bd9b-032284a35f4c_783x454.png 1272w, https://substackcdn.com/image/fetch/$s_!Ld3F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb639ca-9ab8-4242-bd9b-032284a35f4c_783x454.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ld3F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb639ca-9ab8-4242-bd9b-032284a35f4c_783x454.png" width="783" height="454" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/adb639ca-9ab8-4242-bd9b-032284a35f4c_783x454.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:454,&quot;width&quot;:783,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Big o Cheatsheet - Data structures and Algorithms with thier ...&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="Big o Cheatsheet - Data structures and Algorithms with thier ..." title="Big o Cheatsheet - Data structures and Algorithms with thier ..." srcset="https://substackcdn.com/image/fetch/$s_!Ld3F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb639ca-9ab8-4242-bd9b-032284a35f4c_783x454.png 424w, https://substackcdn.com/image/fetch/$s_!Ld3F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb639ca-9ab8-4242-bd9b-032284a35f4c_783x454.png 848w, https://substackcdn.com/image/fetch/$s_!Ld3F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb639ca-9ab8-4242-bd9b-032284a35f4c_783x454.png 1272w, https://substackcdn.com/image/fetch/$s_!Ld3F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb639ca-9ab8-4242-bd9b-032284a35f4c_783x454.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><strong>Complejidad Constante O(1)</strong>. No importa el tama&#241;o de entrada, el n&#250;mero de operaciones siempre es el mismo.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q7eR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa4e04e4-e4f9-4a13-83dd-bb6d7f11113c_1408x558.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q7eR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa4e04e4-e4f9-4a13-83dd-bb6d7f11113c_1408x558.png 424w, https://substackcdn.com/image/fetch/$s_!Q7eR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa4e04e4-e4f9-4a13-83dd-bb6d7f11113c_1408x558.png 848w, https://substackcdn.com/image/fetch/$s_!Q7eR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa4e04e4-e4f9-4a13-83dd-bb6d7f11113c_1408x558.png 1272w, https://substackcdn.com/image/fetch/$s_!Q7eR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa4e04e4-e4f9-4a13-83dd-bb6d7f11113c_1408x558.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q7eR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa4e04e4-e4f9-4a13-83dd-bb6d7f11113c_1408x558.png" width="1408" height="558" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa4e04e4-e4f9-4a13-83dd-bb6d7f11113c_1408x558.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:558,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:114979,&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://newsletter.danielblanco.dev/i/189532151?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa4e04e4-e4f9-4a13-83dd-bb6d7f11113c_1408x558.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_!Q7eR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa4e04e4-e4f9-4a13-83dd-bb6d7f11113c_1408x558.png 424w, https://substackcdn.com/image/fetch/$s_!Q7eR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa4e04e4-e4f9-4a13-83dd-bb6d7f11113c_1408x558.png 848w, https://substackcdn.com/image/fetch/$s_!Q7eR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa4e04e4-e4f9-4a13-83dd-bb6d7f11113c_1408x558.png 1272w, https://substackcdn.com/image/fetch/$s_!Q7eR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa4e04e4-e4f9-4a13-83dd-bb6d7f11113c_1408x558.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">Ejemplo O(1)</figcaption></figure></div><p><strong>Complejidad logar&#237;tmica O(log n)</strong>. Se da cuando el problema se reduce a una fracci&#243;n del tama&#241;o original en cada paso. Un ejemplo t&#237;pico es la b&#250;squeda binaria.</p><p><strong>Complejidad lineal O(n)</strong>. Algoritmos que crecen al mismo tiempo que la entrada.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!htaH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1327ad01-2045-4f20-9734-1088d6f3dadc_1848x538.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!htaH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1327ad01-2045-4f20-9734-1088d6f3dadc_1848x538.png 424w, https://substackcdn.com/image/fetch/$s_!htaH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1327ad01-2045-4f20-9734-1088d6f3dadc_1848x538.png 848w, https://substackcdn.com/image/fetch/$s_!htaH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1327ad01-2045-4f20-9734-1088d6f3dadc_1848x538.png 1272w, https://substackcdn.com/image/fetch/$s_!htaH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1327ad01-2045-4f20-9734-1088d6f3dadc_1848x538.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!htaH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1327ad01-2045-4f20-9734-1088d6f3dadc_1848x538.png" width="1456" height="424" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1327ad01-2045-4f20-9734-1088d6f3dadc_1848x538.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:424,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:173974,&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://newsletter.danielblanco.dev/i/189532151?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1327ad01-2045-4f20-9734-1088d6f3dadc_1848x538.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_!htaH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1327ad01-2045-4f20-9734-1088d6f3dadc_1848x538.png 424w, https://substackcdn.com/image/fetch/$s_!htaH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1327ad01-2045-4f20-9734-1088d6f3dadc_1848x538.png 848w, https://substackcdn.com/image/fetch/$s_!htaH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1327ad01-2045-4f20-9734-1088d6f3dadc_1848x538.png 1272w, https://substackcdn.com/image/fetch/$s_!htaH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1327ad01-2045-4f20-9734-1088d6f3dadc_1848x538.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">Ejemplo O(N)</figcaption></figure></div><ul><li><p><strong>Complejidad log-lineal O(n log n).</strong> Crecen a mayor ritmo que la lineal pero menos que la cuadr&#225;tica. Son muy comunes en algoritmos de ordenamiento eficientes como quicksort o mergesort.</p></li><li><p><strong>Complejidad cuadr&#225;tica O(n^2). </strong>Se dan normalmente cuando tienes bucles anidados que recorren un mismo conjunto.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7oY8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ea4f10-a159-4b2f-8994-e73f9adaf8e2_1690x696.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7oY8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ea4f10-a159-4b2f-8994-e73f9adaf8e2_1690x696.png 424w, https://substackcdn.com/image/fetch/$s_!7oY8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ea4f10-a159-4b2f-8994-e73f9adaf8e2_1690x696.png 848w, https://substackcdn.com/image/fetch/$s_!7oY8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ea4f10-a159-4b2f-8994-e73f9adaf8e2_1690x696.png 1272w, https://substackcdn.com/image/fetch/$s_!7oY8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ea4f10-a159-4b2f-8994-e73f9adaf8e2_1690x696.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7oY8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ea4f10-a159-4b2f-8994-e73f9adaf8e2_1690x696.png" width="1456" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/50ea4f10-a159-4b2f-8994-e73f9adaf8e2_1690x696.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:187375,&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://newsletter.danielblanco.dev/i/189532151?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ea4f10-a159-4b2f-8994-e73f9adaf8e2_1690x696.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_!7oY8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ea4f10-a159-4b2f-8994-e73f9adaf8e2_1690x696.png 424w, https://substackcdn.com/image/fetch/$s_!7oY8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ea4f10-a159-4b2f-8994-e73f9adaf8e2_1690x696.png 848w, https://substackcdn.com/image/fetch/$s_!7oY8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ea4f10-a159-4b2f-8994-e73f9adaf8e2_1690x696.png 1272w, https://substackcdn.com/image/fetch/$s_!7oY8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50ea4f10-a159-4b2f-8994-e73f9adaf8e2_1690x696.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">Ejemplo O(n^2)</figcaption></figure></div><p><strong>Complejidad Exponencial O(2^n).</strong> El n&#250;mero de operaciones se duplica cada vez que aumenta el tama&#241;o de entrada.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MBh3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff97c78db-d3ad-42d6-a1ed-79503b98c01a_1728x402.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MBh3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff97c78db-d3ad-42d6-a1ed-79503b98c01a_1728x402.png 424w, https://substackcdn.com/image/fetch/$s_!MBh3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff97c78db-d3ad-42d6-a1ed-79503b98c01a_1728x402.png 848w, https://substackcdn.com/image/fetch/$s_!MBh3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff97c78db-d3ad-42d6-a1ed-79503b98c01a_1728x402.png 1272w, https://substackcdn.com/image/fetch/$s_!MBh3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff97c78db-d3ad-42d6-a1ed-79503b98c01a_1728x402.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MBh3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff97c78db-d3ad-42d6-a1ed-79503b98c01a_1728x402.png" width="1456" height="339" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f97c78db-d3ad-42d6-a1ed-79503b98c01a_1728x402.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:339,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:111491,&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://newsletter.danielblanco.dev/i/189532151?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff97c78db-d3ad-42d6-a1ed-79503b98c01a_1728x402.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_!MBh3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff97c78db-d3ad-42d6-a1ed-79503b98c01a_1728x402.png 424w, https://substackcdn.com/image/fetch/$s_!MBh3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff97c78db-d3ad-42d6-a1ed-79503b98c01a_1728x402.png 848w, https://substackcdn.com/image/fetch/$s_!MBh3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff97c78db-d3ad-42d6-a1ed-79503b98c01a_1728x402.png 1272w, https://substackcdn.com/image/fetch/$s_!MBh3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff97c78db-d3ad-42d6-a1ed-79503b98c01a_1728x402.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Ejemplo O(2^n)</figcaption></figure></div><p><strong>Complejidad factorial O(n!). </strong>Se dan en algoritmos que deben explorar todas las permutaciones posibles de los elementos.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JYfU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be23962-3700-42bb-b168-a2ca2191b664_1602x556.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JYfU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be23962-3700-42bb-b168-a2ca2191b664_1602x556.png 424w, https://substackcdn.com/image/fetch/$s_!JYfU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be23962-3700-42bb-b168-a2ca2191b664_1602x556.png 848w, https://substackcdn.com/image/fetch/$s_!JYfU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be23962-3700-42bb-b168-a2ca2191b664_1602x556.png 1272w, https://substackcdn.com/image/fetch/$s_!JYfU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be23962-3700-42bb-b168-a2ca2191b664_1602x556.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JYfU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be23962-3700-42bb-b168-a2ca2191b664_1602x556.png" width="1456" height="505" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5be23962-3700-42bb-b168-a2ca2191b664_1602x556.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:505,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:155194,&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://newsletter.danielblanco.dev/i/189532151?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be23962-3700-42bb-b168-a2ca2191b664_1602x556.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_!JYfU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be23962-3700-42bb-b168-a2ca2191b664_1602x556.png 424w, https://substackcdn.com/image/fetch/$s_!JYfU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be23962-3700-42bb-b168-a2ca2191b664_1602x556.png 848w, https://substackcdn.com/image/fetch/$s_!JYfU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be23962-3700-42bb-b168-a2ca2191b664_1602x556.png 1272w, https://substackcdn.com/image/fetch/$s_!JYfU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be23962-3700-42bb-b168-a2ca2191b664_1602x556.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">Ejemplo O(n!)</figcaption></figure></div><p>Ninguna complejidad es mala por s&#237; misma, todo depende del problema que est&#233;s resolviendo. Pero en estas entrevistas t&#233;cnicas, cuando una soluci&#243;n tiene complejidad cuadr&#225;tica o mayor, normalmente es una <strong>se&#241;al de que el algoritmo puede optimizarse.</strong></p><h3>Estructuras de Datos y Algoritmos</h3><p>El siguiente paso en mi preparaci&#243;n fue repasar todas las estructuras de datos que ya hab&#237;a visto en la universidad, pero que mi memoria hab&#237;a descartado xD. <strong>Primero de forma te&#243;rica</strong> y, a continuaci&#243;n, <strong>con ejercicios espec&#237;ficos para cada una de ellas.</strong></p><p>Como ya he comentado muchas veces, yo segu&#237; <em>Cracking the Coding Interview</em>, que ya tiene ejercicios espec&#237;ficos para cada estructura. Pero si no quieres pagar por libros o cursos, recomiendo mucho que busques en LeetCode, ya que puedes <strong>filtrar por el tipo de ejercicio.</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_!Cl0P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd216a8-38d2-4bb9-9e8d-82ce44d2b2b7_1948x890.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Cl0P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd216a8-38d2-4bb9-9e8d-82ce44d2b2b7_1948x890.png 424w, https://substackcdn.com/image/fetch/$s_!Cl0P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd216a8-38d2-4bb9-9e8d-82ce44d2b2b7_1948x890.png 848w, https://substackcdn.com/image/fetch/$s_!Cl0P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd216a8-38d2-4bb9-9e8d-82ce44d2b2b7_1948x890.png 1272w, https://substackcdn.com/image/fetch/$s_!Cl0P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd216a8-38d2-4bb9-9e8d-82ce44d2b2b7_1948x890.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Cl0P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd216a8-38d2-4bb9-9e8d-82ce44d2b2b7_1948x890.png" width="1456" height="665" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/afd216a8-38d2-4bb9-9e8d-82ce44d2b2b7_1948x890.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:665,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:282761,&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://newsletter.danielblanco.dev/i/189532151?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd216a8-38d2-4bb9-9e8d-82ce44d2b2b7_1948x890.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_!Cl0P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd216a8-38d2-4bb9-9e8d-82ce44d2b2b7_1948x890.png 424w, https://substackcdn.com/image/fetch/$s_!Cl0P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd216a8-38d2-4bb9-9e8d-82ce44d2b2b7_1948x890.png 848w, https://substackcdn.com/image/fetch/$s_!Cl0P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd216a8-38d2-4bb9-9e8d-82ce44d2b2b7_1948x890.png 1272w, https://substackcdn.com/image/fetch/$s_!Cl0P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd216a8-38d2-4bb9-9e8d-82ce44d2b2b7_1948x890.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 esta primera fase hac&#237;a <strong>4-5 ejercicios </strong><em><strong>easy</strong></em><strong> y 1-2 </strong><em><strong>medium</strong></em>. Para algunas estructuras, como trees, graphs y heaps tambi&#233;n creaba una implementaci&#243;n propia para repasar la l&#243;gica interna, aunque esto no me aport&#243; demasiado.</p><p>S&#233; que hay muchos temas, y puede agobiar un poco. En mi caso, el orden que segu&#237; fue el siguiente:</p><ol><li><p>Arrays, Strings y Hash Tables</p></li><li><p>Linked List</p></li><li><p>Stacks y Queues</p></li><li><p>Trees y Graphs</p></li><li><p>Heaps</p></li><li><p>Tries</p></li><li><p>Recursividad y Programaci&#243;n Din&#225;mica</p></li><li><p>Algoritmos de Ordenamiento y B&#250;squeda</p></li><li><p>Manipulaci&#243;n de Bits</p></li></ol><p>Tras cientos de entrevistas que he hecho como entrevistador y entrevistado, las m&#225;s relevantes son sin duda los <strong>grafos y &#225;rboles, heaps, y la recursividad y programaci&#243;n din&#225;mica.</strong> </p><p>Las que menos &#250;tiles me han resultado son los algoritmos de ordenamiento, ya que es rar&#237;simo que te pidan implementar quicksort o merge sort a mano en una entrevista as&#237;, y la manipulaci&#243;n de bits, porque son ejercicios muy espec&#237;ficos, poco intuitivos y que en general se piden poqu&#237;simo (en mi caso nunca me pidieron uno).</p><h3>Ejercicios y claves</h3><p>Cuando filtras por tipo, se elimina uno de los mayores retos que tienen estos ejercicios: <strong>identificar qu&#233; estructuras de datos y patrones pueden ser &#250;tiles</strong> para llegar a la mejor soluci&#243;n.</p><p>Por eso, mi siguiente paso fue hacer <strong>ejercicios aleatorios en LeetCode</strong>. No es necesario hacer cientos de ejercicios para empezar a pasar este tipo de entrevistas, pero s&#237; <strong>hace falta bastante pr&#225;ctica.</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_!vM6T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe152aab8-4276-4436-a88d-5c5548d04995_2000x916.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vM6T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe152aab8-4276-4436-a88d-5c5548d04995_2000x916.png 424w, https://substackcdn.com/image/fetch/$s_!vM6T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe152aab8-4276-4436-a88d-5c5548d04995_2000x916.png 848w, https://substackcdn.com/image/fetch/$s_!vM6T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe152aab8-4276-4436-a88d-5c5548d04995_2000x916.png 1272w, https://substackcdn.com/image/fetch/$s_!vM6T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe152aab8-4276-4436-a88d-5c5548d04995_2000x916.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vM6T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe152aab8-4276-4436-a88d-5c5548d04995_2000x916.png" width="1456" height="667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e152aab8-4276-4436-a88d-5c5548d04995_2000x916.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:667,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:147535,&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://newsletter.danielblanco.dev/i/189532151?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe152aab8-4276-4436-a88d-5c5548d04995_2000x916.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_!vM6T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe152aab8-4276-4436-a88d-5c5548d04995_2000x916.png 424w, https://substackcdn.com/image/fetch/$s_!vM6T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe152aab8-4276-4436-a88d-5c5548d04995_2000x916.png 848w, https://substackcdn.com/image/fetch/$s_!vM6T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe152aab8-4276-4436-a88d-5c5548d04995_2000x916.png 1272w, https://substackcdn.com/image/fetch/$s_!vM6T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe152aab8-4276-4436-a88d-5c5548d04995_2000x916.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>Al contrario de lo que se suele pensar, <strong>no hace falta hacer los </strong><em><strong>hard</strong></em><strong> sin sufrir</strong>. En mi experiencia, es m&#225;s productivo enfocarse en los <em><strong>medium</strong></em>. Y, como puedes ver en la distribuci&#243;n de ejercicios, fue en lo que m&#225;s me centr&#233;.</p><p>Cuando empec&#233;, segu&#237;a listas recomendadas que encontraba por blogs, pero ahora LeetCode tiene <strong>rutas de estudio</strong>. Recomiendo hacer la <a href="https://leetcode.com/studyplan/top-interview-150/">Top 150</a>, pero si no tienes tanto tiempo la <a href="https://leetcode.com/studyplan/leetcode-75/">Top 75</a> tambi&#233;n es muy buena. Elige un problema y haz click en bot&#243;n de aleatorio, porque si no ya sabes de antemano qu&#233; tipo de problema est&#225;s resolviendo.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_77X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F116602f4-663b-4d03-a078-49f964e251be_884x196.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_77X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F116602f4-663b-4d03-a078-49f964e251be_884x196.png 424w, https://substackcdn.com/image/fetch/$s_!_77X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F116602f4-663b-4d03-a078-49f964e251be_884x196.png 848w, https://substackcdn.com/image/fetch/$s_!_77X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F116602f4-663b-4d03-a078-49f964e251be_884x196.png 1272w, https://substackcdn.com/image/fetch/$s_!_77X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F116602f4-663b-4d03-a078-49f964e251be_884x196.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_77X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F116602f4-663b-4d03-a078-49f964e251be_884x196.png" width="884" height="196" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/116602f4-663b-4d03-a078-49f964e251be_884x196.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:196,&quot;width&quot;:884,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:32583,&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://newsletter.danielblanco.dev/i/189532151?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F116602f4-663b-4d03-a078-49f964e251be_884x196.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_!_77X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F116602f4-663b-4d03-a078-49f964e251be_884x196.png 424w, https://substackcdn.com/image/fetch/$s_!_77X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F116602f4-663b-4d03-a078-49f964e251be_884x196.png 848w, https://substackcdn.com/image/fetch/$s_!_77X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F116602f4-663b-4d03-a078-49f964e251be_884x196.png 1272w, https://substackcdn.com/image/fetch/$s_!_77X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F116602f4-663b-4d03-a078-49f964e251be_884x196.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Tras cientos de horas practicando y muchas entrevistas, estas son las claves que m&#225;s me ayudaron a mejorar.</p><h3>Clave 1: Esto es un marat&#243;n, no un sprint</h3><p>De nada sirve hacer diez ejercicios un d&#237;a si no abres LeetCode el resto de la semana. Tu cerebro necesita tiempo para asimilar estos problemas, y si los <em>rusheas</em> no vas a conseguirlo. Ponte como objetivo hacer al menos un ejercicio al d&#237;a, pero dedic&#225;ndole su tiempo. Yo siempre intento hacer tres al d&#237;a en mis &#233;pocas de entrevistas.</p><h3>Clave 2: No te rindas a la primera de cambio</h3><p>Ver la soluci&#243;n sin luchar por resolver un ejercicio es tiempo perdido. Lo que yo suelo hacer es poner un temporizador con 40 minutos, que es lo que normalmente te dan en las entrevistas. Si en ese tiempo sigo sin tener ni idea de c&#243;mo resolverlo, echo un vistazo a las pistas. Y si las pistas no ayudan, 15-30 minutos m&#225;s tarde voy a la soluci&#243;n.</p><h3>Clave 3: No te dejes llevar por el nivel de dificultad</h3><p>Va a llegar alg&#250;n momento en el que te vas a frustrar, pero es importante no dejarte llevar por el nivel de dificultad. Es s&#250;per com&#250;n encontrarse con ejercicios supuestamente f&#225;ciles en los que cuesta encontrar la mejor soluci&#243;n, y ejercicios dif&#237;ciles que se resuelven en 10 minutos.</p><h3>Clave 4: Aplica mientras te preparas</h3><p>No esperes a estar c&#243;modo para empezar a aplicar a ofertas, porque nunca lo vas a estar. Yo me sigo poniendo nervioso con estas pruebas hoy en d&#237;a, despu&#233;s de toda mi experiencia. Adem&#225;s, en las entrevistas es donde m&#225;s se aprende y se mejora, ya que es la &#250;nica forma de practicar con la presi&#243;n real.</p><h3>Clave 5: Repite problemas despu&#233;s de unos d&#237;as.</h3><p>Especialmente si un ejercicio te cost&#243; o no pudiste resolverlo, no lo dejes aparcado. Vuelve a intentarlo unos d&#237;as despu&#233;s.</p><h3>Clave 6: Practica en voz alta</h3><p>La &#250;nica forma de practicar en un entorno real es con una entrevista. Pero eso no significa que no podamos simular c&#243;mo ser&#237;a una. Intenta pensar en voz alta durante todo el ejercicio para que cuando llegue la entrevista te salga de forma m&#225;s natural.</p><h3>Clave 7: Practica con otras personas</h3><p>Si tienes amigos o conocidos que tambi&#233;n se est&#225;n preparando, aprov&#233;chalo y practica con ellos. Una vez uno hace de entrevistador y otra vez de entrevistado. Si no, tambi&#233;n puedes buscar gente en foros como Reddit que busca compa&#241;eros para practicar, aunque sinceramente, yo nunca lo hice por verg&#252;enza xD.</p><h3>Clave 8: F&#237;jate en los patrones</h3><p>Hay miles de ejercicios que te pueden caer, pero todos tienen ciertos patrones o t&#233;cnicas para resolverlos de forma eficiente: <em>sliding window, two pointers, BFS/DFS, backtracking</em>, etc. Cuando empiezas a reconocer estos patrones, muchos problemas dejan de parecer tan distintos entre s&#237;. No memorices ejercicios concretos, c&#233;ntrate en entender bien estos enfoques y cu&#225;ndo aplicarlos.</p><h2>En resumen: mucho tiempo, pero buen retorno</h2><p>No te voy a mentir. Preparar estas entrevistas por primera vez es un dolor de cabeza. Se necesita invertir mucho tiempo y pasar por entrevistas que son estresantes.</p><p>Pero tambi&#233;n tiene su lado positivo. Una vez lo haces, las siguientes veces es bastante <strong>sencillo y r&#225;pido volver a prepararlas</strong> (normalmente yo repaso una semana y empiezo a aplicar). Adem&#225;s, es un <strong>proceso muy estructurado y sabes lo que te espera,</strong> a diferencia de otras entrevistas t&#233;cnicas donde pueden preguntarte cualquier cosa.</p><p>Esta forma de evaluar candidatos sigue siendo la preferida por empresas estadounidenses o extranjeras en general, por lo f&#225;ciles que son de hacer y escalar. Y <strong>el sueldo que ofrecen suele ser raz&#243;n suficiente</strong> como para que, en mi opini&#243;n, compense prepararlas!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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><blockquote><p>Y si te interesa preparar este tipo de entrevistas de forma m&#225;s guiada, recuerda echarle un vistazo a mi curso <strong><a href="https://danielblanco.dev/link/algoritmos">Algoritmos, Estructuras de Datos y Entrevistas de Programaci&#243;n</a></strong>, donde cubro toda la teor&#237;a, el CV y <strong>m&#225;s de 50 ejercicios reales.</strong></p></blockquote>]]></content:encoded></item><item><title><![CDATA[#8 – Cómo envié 80.000 emails por error en prod]]></title><description><![CDATA[El peor error que he cometido en mi carrera]]></description><link>https://newsletter.danielblanco.dev/p/8-como-envie-80000-emails-por-error</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/8-como-envie-80000-emails-por-error</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 25 Feb 2026 17:02:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/53dc7acc-f1b1-4d99-8741-b2303d33b1ec_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Nunca he sido fan de prohibir despliegues los viernes. Y lo sigo pensando, una organizaci&#243;n madura deber&#237;a poder desplegar cuando lo necesite. Pero curiosamente <strong>el mayor problema que caus&#233; en mi carrera</strong> fue en ese dichoso d&#237;a xD.</p><p>Desplegamos una nueva web en el CRM interno en Salesforce, y como todo se ve&#237;a bien cerr&#233; el port&#225;til y me fui a dar un paseo. Al volver, ten&#237;a <strong>miles de mensajes y correos</strong>. Recib&#237;a tantos que mi cuenta de Gmail se bloque&#243;, mi Slack iba a pedales y el sistema de seguridad anti-spam de la empresa se cay&#243;.</p><p>No ten&#237;a ni idea de la que hab&#237;a liado, y mi equipo ya estaba trabajando en ello para parchear la situaci&#243;n lo antes posible.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;8544570b-bc26-4919-8c5c-62c0297797f4&quot;,&quot;duration&quot;:null}"></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>Esta entrega de Status 418 est&#225; patrocinada por <a href="https://x.com/DanielBlancoSWE">@DanielBlancoSWE</a> (yo xD)</p><p>Mis <strong>cursos de Udemy est&#225;n al mejor precio disponible</strong>! Aprovecha las rebajas para aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software.</strong></p><p>&#128313; <a href="https://danielblanco.dev/link/best_arq_avanzada">Arquitectura Software Avanzada: M&#225;s All&#225; de los Patrones</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_senior">El Camino a Senior: Claves para el &#201;xito como Programador</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_arq_moderna">Arquitectura Software Moderna: DDD, Eventos, Microservicios</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_clean_code_solid">Principios SOLID y Clean Code. Escribe c&#243;digo de calidad.</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_algoritmos">Algoritmos, Estructuras de Datos y Entrevistas Programaci&#243;n</a></p></blockquote><div><hr></div><h2>El preludio</h2><p>Est&#225;bamos construyendo un <strong>buscador interno</strong> para todo lo que necesitaban los empleados de Salesforce. Para ello, se integraba con el CRM de la empresa para obtener informaci&#243;n de todo tipo.</p><p>Para esa web se usaron tecnolog&#237;as relativamente modernas, casi todo Java y React. Se hac&#237;an llamadas a las APIs de la plataforma para obtener la informaci&#243;n necesaria. Pero, <strong>para ciertas funcionalidades, eso no era suficiente.</strong></p><p>Una de esas funcionalidades era el chat de soporte. Si ten&#237;as alguna urgencia, como por ejemplo problemas con tu port&#225;til, pod&#237;as abrir un chat directamente con el servicio t&#233;cnico. Salesforce proporciona esta funcionalidad de forma nativa en la plataforma, pero no a trav&#233;s de APIs.</p><p>Para implementar esta funcionalidad me asignaron a m&#237;. Con <strong>cero experiencia como desarrollador de Salesforce</strong> a mis espaldas, no fue una tarea sencilla. La soluci&#243;n final fue implementar un Salesforce Site (web nativa de la plataforma) &#250;nicamente con el c&#243;digo necesario para que el chat de soporte cargase, y despu&#233;s incrustarlo en nuestra web principal mediante un iframe.</p><p>Cuando se complet&#243; el trabajo, se despleg&#243; a producci&#243;n el site nativo antes de lanzar nuestra plataforma.</p><h2>El d&#237;a D</h2><p>Llego del paseo y entro en panic mode. &#191;Por qu&#233; estaba recibiendo <strong>mensajes y correos de miles de empleados</strong> sin parar? Me conecto a la llamada con mi equipo y me explican la situaci&#243;n.</p><p>Se hab&#237;a enviado un <strong>correo a los 80,000 empleados de Salesforce de forma autom&#225;tica al desplegar el site</strong>. Resulta que los sites nativos de Salesforce tienen una opci&#243;n por defecto de enviar un email de bienvenida a los usuarios con acceso (en nuestro caso, toda la empresa). Hasta el CEO, Marc Benioff, recibi&#243; mi correo electr&#243;nico.</p><p>Para empeorar la situaci&#243;n, el <strong>nombre de la web era bastante cr&#237;ptico</strong>, la plantilla de bienvenida era la predeterminada y <strong>los correos sal&#237;an a mi nombre</strong>, pero con un dominio custom, porque hab&#237;a sido yo quien despleg&#243; esa web. Eso hizo que los usuarios reportaran el email y, de tantos reportes y respuestas a mi correo, el sistema de seguridad interno se cay&#243;.</p><p><strong>El equipo, lejos de buscar culpables, se puso manos a la obra</strong> para solucionar el problema. Mi manager habl&#243; con el equipo de seguridad para que descartasen un posible ataque, y contact&#243; con un compa&#241;ero que ten&#237;a acceso a producci&#243;n en Google Workspace para eliminar el correo de la bandeja de entrada de los empleados y as&#237; evitar que el caos siguiera aumentando.</p><p>Yo me puse a analizar si podr&#237;a haber otros casos en los que se enviasen correos electr&#243;nicos autom&#225;ticos desde el site. Por suerte, <strong>encontr&#233; un par de casos antes de que causaran m&#225;s problemas</strong>. Los desactivamos y desplegamos el parche al momento en producci&#243;n.</p><h2>Qu&#233; saqu&#233; de este incidente</h2><p>Afortunadamente, el da&#241;o causado fue muy peque&#241;o porque los usuarios eran solamente internos de la empresa. Pero, si en lugar de ser un site interno, hubiera sido algo con clientes reales de Salesforce, <strong>el da&#241;o reputacional podr&#237;a haber sido mayor.</strong></p><p><strong>Es imposible saber lo que no sabes</strong>. Al ser nuevo en el desarrollo de Salesforce, era dif&#237;cil que supiese que exist&#237;an esos correos autom&#225;ticos. La mayor lecci&#243;n aprendida fue que toda precauci&#243;n es poca cuando tratas con algo nuevo. Y m&#225;s a&#250;n, cuando es un despliegue a tal escala.</p><p>En lugar de desplegar el site con todos los usuarios asignados, habr&#237;a sido m&#225;s inteligente hacer una prueba con nuestro equipo &#250;nicamente, y testear todo m&#225;s a fondo. Nosotros <strong>s&#243;lo hicimos pruebas en QA</strong>, donde <strong>esos correos estaban desactivados</strong> por defecto.</p><p>Otro punto que me llev&#233; de esta experiencia es <strong>la importancia de tener un equipo que te apoye</strong>. Nunca nadie me ech&#243; la culpa. Al contrario, me animaron y me ayudaron desde el primer minuto. Me recordaron tambi&#233;n que el desarrollo de software es un trabajo de equipo y, aunque uno pueda provocar directamente un problema, el equipo tambi&#233;n es responsable de revisar.</p><p><strong>Sigo pensando que no se deber&#237;an prohibir despliegues los viernes</strong>. Pero a partir de ese momento tambi&#233;n s&#233; por qu&#233; muchos equipos deciden no hacerlo xD</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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><blockquote><p>Y recuerda echarle un vistazo a mis cursos para aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software.</strong></p><p>&#128313; <a href="https://danielblanco.dev/link/best_arq_avanzada">Arquitectura Software Avanzada: M&#225;s All&#225; de los Patrones</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_senior">El Camino a Senior: Claves para el &#201;xito como Programador</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_arq_moderna">Arquitectura Software Moderna: DDD, Eventos, Microservicios</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_clean_code_solid">Principios SOLID y Clean Code. Escribe c&#243;digo de calidad.</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_algoritmos">Algoritmos, Estructuras de Datos y Entrevistas Programaci&#243;n</a></p></blockquote>]]></content:encoded></item><item><title><![CDATA[#7 - El sueldo que firmas en una empresa americana no es el que cobras]]></title><description><![CDATA[Bonus, acciones y refreshers: qu&#233; est&#225;s cobrando realmente tras firmar tu oferta.]]></description><link>https://newsletter.danielblanco.dev/p/7-el-sueldo-que-firmas-en-una-empresa-americana-no-es-el-que-cobras</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/7-el-sueldo-que-firmas-en-una-empresa-americana-no-es-el-que-cobras</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 18 Feb 2026 17:01:11 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/dcf3a8fb-bad1-4d6d-8e12-0ae8b3365e79_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Desde que emigr&#233; de Espa&#241;a, mucha gente me ha preguntado por el sueldo. Y siempre se quedan sorprendidos cuando les digo que <strong>ni yo mismo s&#233; la cifra exacta.</strong> </p><p>Y es que, desde que trabajo en empresas americanas, s&#243;lo una parte del sueldo es fijo. El resto depende de componentes que cambian cada a&#241;o, o <strong>incluso a diario</strong>.</p><p>Esto hace que el n&#250;mero que firmas en tu oferta no sea realmente el que vas a cobrar. Puedes aceptar una oferta de 120k y cobrar menos el primer a&#241;o, o bastante m&#225;s a partir del segundo.</p><p>En esta entrega te cuento c&#243;mo funcionan realmente estos sueldos y qu&#233; est&#225;s firmando cuando aceptas una oferta.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>Esta entrega de Status 418 est&#225; patrocinada por <a href="https://x.com/DanielBlancoSWE">@DanielBlancoSWE</a> (yo xD)</p><p>Si te interesa entrar en empresas extranjeras, tengo dos cursos donde explico en detalle c&#243;mo prepararse estos procesos:</p><p>&#128313; <a href="https://danielblanco.dev/link/algoritmos">Algoritmos, Estructuras de Datos y Entrevistas de Programaci&#243;n</a>: cubro las pruebas de <em>Live Coding</em>, adem&#225;s de consejos para el CV y c&#243;mo aplicar.</p><p>&#128313; <a href="https://danielblanco.dev/link/diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a>: enfocado en entrevistas de <em>System Design</em>, muy comunes para roles mid y senior.</p></blockquote><div><hr></div><h2>Qu&#233; me encontr&#233; al recibir mi primera oferta de Salesforce</h2><p>Cuando el recruiter me llam&#243; para decirme que el equipo quer&#237;a extenderme una oferta, empez&#243; a soltarme n&#250;meros por todos lados. Que si <strong>sueldo base, bonus, sign-on bonus, acciones&#8230;</strong> Hasta ese momento s&#243;lo hab&#237;a cobrado sueldo fijo, y todas estas variables me sonaban a chino.</p><p>Al final me dijo que tendr&#237;a una <em>total compensation</em> cercana a los 100k, y qu&#233; opinaba de ello. Eso en mi cabeza sonaba a &#8220;voy a cobrar 100k, qu&#233; locura&#8221;, sin saber que el ~30% del sueldo no era fijo (y sin saber que pagar&#237;a 1300 euros al mes por un cuchitril de 20m2 en Dubl&#237;n, pero ese es un tema que dejaremos para otro d&#237;a xD).</p><p>Y es que esa compensaci&#243;n total <strong>es s&#243;lo una estimaci&#243;n</strong>. Parte de ella ni siquiera la cobras el primer a&#241;o, y depende de variables que no controlas, puede variar mucho. Firm&#233; una oferta cercana a los 100k, pero eso <strong>no significaba que fuera a cobrar 100k.</strong></p><h2>RSUs y vesting: por qu&#233; el primer a&#241;o cobras menos</h2><p>La principal raz&#243;n por la que el sueldo en empresas americanas que cotizan en bolsa var&#237;a tanto son las <em>Restricted Stock Units</em> (RSUs).</p><p>Al firmar el contrato, te ofrecen X d&#243;lares en acciones. Por poner un ejemplo, imaginemos que son $100,000. A las pocas semanas de empezar, te <strong>asignan un n&#250;mero de acciones</strong>. Si la acci&#243;n de la empresa cotiza a $100 te asignan 1000 acciones. Si cotiza a $500 te asignan 200, etc.</p><p>Pero esas acciones <strong>no pasan a ser tuyas de golpe</strong>. Se liberan poco a poco durante los siguientes 4 a&#241;os, siempre que sigas en la empresa.</p><p>Ese momento en el que un porcentaje de tu paquete pasa a tu disposici&#243;n se llama <em>vesting</em>. Normalmente, recibes las primeras acciones un a&#241;o despu&#233;s de entrar a la empresa, y posteriormente cada tres meses, hasta completar el total asignado.</p><p>En el momento del <em>vesting</em> las acciones son tuyas y puedes decidir venderlas o mantenerlas. Y aqu&#237; viene el tema: <strong>si el precio ha subido de $100 a $200</strong>, por ejemplo, <strong>estar&#237;as vendiendo esa parte del paquete al doble</strong> de lo que te ofrecieron en el contrato. Pero si la acci&#243;n est&#225; en $50, las vendes a <strong>la mitad.</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_!5R-N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45efb6f1-7b1e-4663-809e-469d5306baf8_1368x1106.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5R-N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45efb6f1-7b1e-4663-809e-469d5306baf8_1368x1106.png 424w, https://substackcdn.com/image/fetch/$s_!5R-N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45efb6f1-7b1e-4663-809e-469d5306baf8_1368x1106.png 848w, https://substackcdn.com/image/fetch/$s_!5R-N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45efb6f1-7b1e-4663-809e-469d5306baf8_1368x1106.png 1272w, https://substackcdn.com/image/fetch/$s_!5R-N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45efb6f1-7b1e-4663-809e-469d5306baf8_1368x1106.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5R-N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45efb6f1-7b1e-4663-809e-469d5306baf8_1368x1106.png" width="1368" height="1106" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45efb6f1-7b1e-4663-809e-469d5306baf8_1368x1106.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1106,&quot;width&quot;:1368,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:176628,&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://newsletter.danielblanco.dev/i/188268744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45efb6f1-7b1e-4663-809e-469d5306baf8_1368x1106.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_!5R-N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45efb6f1-7b1e-4663-809e-469d5306baf8_1368x1106.png 424w, https://substackcdn.com/image/fetch/$s_!5R-N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45efb6f1-7b1e-4663-809e-469d5306baf8_1368x1106.png 848w, https://substackcdn.com/image/fetch/$s_!5R-N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45efb6f1-7b1e-4663-809e-469d5306baf8_1368x1106.png 1272w, https://substackcdn.com/image/fetch/$s_!5R-N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45efb6f1-7b1e-4663-809e-469d5306baf8_1368x1106.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>Las acciones, especialmente las tecnol&#243;gicas, suelen ser muy vol&#225;tiles. Eso significa que en cuatro a&#241;os el valor puede ser muy distinto a lo que pon&#237;a en el contrato, para bien o para mal. Yo tuve mala suerte al entrar en 2021 en m&#225;ximos, justo antes de la ca&#237;da en 2022.</p><h2>Bonus y sign-on</h2><p>El sign-on bonus es una parte importante del TC del primer a&#241;o. Es un <strong>bonus &#250;nico, que recibes al empezar</strong> y que est&#225; condicionado a superar el per&#237;odo de prueba.</p><p>Adem&#225;s est&#225;n los bonus anuales, que suelen ser del <strong>10% al 20% del salario base</strong> dependiendo del nivel. De nuevo, te lo venden como algo &#8220;seguro&#8221;, pero nada m&#225;s lejos de la realidad. </p><p>El primer a&#241;o &#8220;s&#243;lo&#8221; recib&#237; un 6% porque a la empresa no le fue del todo bien. Otros a&#241;os me dieron el 9% y el 11%. Tambi&#233;n var&#237;an en funci&#243;n de tu rendimiento, pero al menos en mi experiencia tienen mucho m&#225;s peso los resultados de la empresa.</p><h2>Refreshers</h2><p>Como las acciones que te dan al entrar <strong>se acaban a los cuatro a&#241;os</strong>, muchas empresas ofrecen las llamadas <em>refreshers</em>. Estos son paquetes de RSUs que se reparten de nuevo en cuatro a&#241;os.</p><p>Suelen ser m&#225;s peque&#241;os que el paquete inicial, y <strong>se asignan anualmente en funci&#243;n de tu rendimiento.</strong> Pero en casos especiales, como ascensos, pueden ser incluso m&#225;s grandes.</p><p>Siguen la misma l&#243;gica: se calcula un precio inicial y se libera un porcentaje cada cierto tiempo.</p><p>De nuevo, otra variable en la que influye mucho la suerte. A m&#237;, por ejemplo, me dieron refreshers en el m&#237;nimo, y las pude vender por bastante m&#225;s.</p><h2>ESPP</h2><p>Casi me olvido de un &#250;ltimo detalle xD. La gran mayor&#237;a de empresas ofrece tambi&#233;n el <em>Employee Stock Purchase Plan (ESPP)</em>.</p><p>Cada mes te <strong>retienen un porcentaje de tu sueldo base</strong>, normalmente hasta un 15%. A los seis meses, ese dinero se utiliza <strong>para comprar acciones de la empresa con descuento</strong>, normalmente tambi&#233;n del 15%.</p><p>Adem&#225;s, se establecen dos precios: el precio al inicio de esos seis meses, y el actual. <strong>Se elige el menor, y a ese precio se le aplica el descuento</strong>. Si decides venderlas al momento, obtienes siempre un beneficio inmediato.</p><p>Se infravalora bastante, pero si la acci&#243;n sube mucho en esos seis meses puedes llevarte un buen pellizco. Hay empleados de NVIDIA que ganaron cientos de miles s&#243;lo con los ESPP cuando la acci&#243;n subi&#243; tanto.</p><h2>&#191;Todo lo que no es sueldo base es humo?</h2><p>Escribo esta entrega para explicar el tema mejor despu&#233;s de bastantes debates que tuve por Twitter, donde mucha gente rechaza todo tipo de compensaci&#243;n variable porque &#8220;<strong>no es sueldo que entra todos los meses</strong>&#8221;.</p><p>Eso es cierto. Pero en la pr&#225;ctica, las empresas que ofrecen estos beneficios suelen ofrecer tambi&#233;n sueldos base m&#225;s altos.</p><p>Cuando emigr&#233; a Irlanda, un mid pod&#237;a cobrar 60k-70k en empresas locales. Las empresas americanas ofrec&#237;an 75k-85k de sueldo base, y m&#225;s de 100k de compensaci&#243;n total sumando el resto de beneficios.</p><p>Es cierto que hay que mantener las expectativas realistas para no llevarse decepciones. Pero ignorar completamente este tipo de compensaci&#243;n variable, en mi opini&#243;n, <strong>es pegarse un tiro en el pie.</strong></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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><blockquote><p><strong>Y recuerda echarle un vistazo a mis cursos si te interesa entrar en empresas extranjeras:<br></strong><br>&#128313; <a href="https://danielblanco.dev/link/algoritmos">Algoritmos, Estructuras de Datos y Entrevistas de Programaci&#243;n</a>: cubro las pruebas de <em>Live Coding</em>, adem&#225;s de consejos para el CV y c&#243;mo aplicar.</p><p>&#128313; <a href="https://danielblanco.dev/link/diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a>: enfocado en entrevistas de <em>System Design</em>, muy comunes para roles mid y senior.</p></blockquote><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[#6 - OpenAI vs Anthropic: dos visiones muy distintas de la IA]]></title><description><![CDATA[La historia y los conflictos detr&#225;s de dos empresas que est&#225;n definiendo el rumbo de la IA]]></description><link>https://newsletter.danielblanco.dev/p/openai-vs-anthropic-dos-visiones-muy-distintas-de-la-ia</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/openai-vs-anthropic-dos-visiones-muy-distintas-de-la-ia</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 11 Feb 2026 17:02:19 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2824f230-c932-46f5-a394-6ee73b0539ed_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hace unos d&#237;as, Anthropic lanz&#243; una serie de anuncios atacando directamente a OpenAI por <strong>incluir publicidad en las respuestas</strong> de los planes gratuitos y Go de ChatGPT. Se pudieron ver incluso en la Super Bowl, el show m&#225;s visto del a&#241;o.</p><div id="youtube2-FBSam25u8O4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;FBSam25u8O4&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/FBSam25u8O4?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>Sam Altman reaccion&#243; r&#225;pidamente en X. Primero diciendo que los anuncios son muy buenos y que se hab&#237;a re&#237;do con ellos, para despu&#233;s atacar de vuelta con un texto de 420 palabras. &#8220;M&#225;s gente usa ChatGPT gratis en Texas que todos los usuarios de Claude en Estados Unidos. Tenemos un problema distinto&#8221;, dec&#237;a Altman, entre otras cosas.</p><p>Este es s&#243;lo uno de los muchos choques p&#250;blicos entre las dos compa&#241;&#237;as punteras en IA. En este art&#237;culo recorro la historia de OpenAI y Anthropic y c&#243;mo dos visiones distintas est&#225;n compitiendo en el mismo espacio.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>Esta entrega de Status 418 est&#225; patrocinada por <a href="https://apps.apple.com/us/app/deep-focus-todo-app-blocker/id6755938923">Deep Focus</a>.</p><p><strong>Bloquea distracciones hasta completar tus tareas.</strong></p><ul><li><p>Elige qu&#233; apps y webs bloquear.</p></li><li><p>A&#241;ade tus tareas.</p></li><li><p>Las distracciones no se desbloquean hasta que las completes!</p></li></ul><p>Con modo Pomodoro e integraci&#243;n con tus tareas de Notion. </p><p>Disponible para iOS. <strong>Desc&#225;rgala ya en la <a href="https://apps.apple.com/us/app/deep-focus-todo-app-blocker/id6755938923">App Store</a></strong>.</p></blockquote><div><hr></div><h2>Los inicios de Anthropic</h2><p>Anthropic nace en enero de 2021 cuando un grupo de 11 investigadores clave de OpenAI decide marcharse de la empresa. Entre ellos, Dario Amodei (ex-VP de Investigaci&#243;n en OpenAI y actual CEO de Anthropic) y su hermana Daniela Amodei.</p><p>Decidieron salir de OpenAI porque sent&#237;an que, tras el acuerdo con Microsoft, <strong>se priorizaba demasiado la velocidad</strong> de desarrollo, dejando de lado la <strong>seguridad</strong>. Crearon una nueva empresa con los siguientes objetivos:</p><ul><li><p><strong>La seguridad como mayor prioridad</strong>: El crecimiento estar&#237;a controlado, sacrificando velocidad de iteraci&#243;n para ofrecer productos realmente seguros.</p></li><li><p><strong>El concepto de IA Constitucional</strong>: En lugar de depender &#250;nicamente del feedback humano para la revisi&#243;n de respuestas, quer&#237;an crear un conjunto de principios que el propio modelo utilizar&#237;a para auto-evaluarse y corregir su comportamiento.</p></li><li><p><strong>Mantener la gobernanza:</strong> Para evitar las presiones de los inversores, Anthropic crear&#237;a un consejo independiente para vigilar la &#233;tica, con poder para vetar decisiones.</p></li></ul><p>Este enfoque sent&#243; las bases de una empresa muy distinta a OpenAI (al menos en la teor&#237;a, la pr&#225;ctica vino despu&#233;s xD). En marzo de 2023, dos a&#241;os despu&#233;s de fundar la empresa, anunciaban oficialmente Claude.</p><h2>La realidad: Anthropic no es una ONG</h2><p>La teor&#237;a suena muy bonita, pero en la pr&#225;ctica, Anthropic es una empresa. Su principal objetivo es crecer, ganar dinero y, si es posible, aplastar a la competencia en el camino.</p><p>A pesar de que su mayor objetivo sobre el papel sea sacrificar velocidad de desarrollo en favor de la seguridad, sus avances son igual o incluso m&#225;s r&#225;pidos que los de OpenAI. </p><p>El CEO es una de las principales figuras mundiales que defiende que, en 6 a 12 meses, se acabar&#225;n los Ingenieros de Software. Pocas intenciones de &#8220;sacrificar velocidad de desarrollo&#8221; veo aqu&#237; xD.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;89897177-8a9e-4620-89ce-b377b433090f&quot;,&quot;duration&quot;:null}"></div><p>Adem&#225;s, Anthropic ha tomado una serie de decisiones pol&#233;micas que <strong>van en contra de los usuarios finales.</strong></p><p>Por ejemplo, la <strong>limitaci&#243;n de sus APIs</strong> en plataformas de terceros como OpenCode, prohibiendo las integraciones externas. En contraste, OpenAI lanz&#243; Codex como un proyecto Open Source y permite utilizar sus APIs desde cualquier entorno.</p><p>Lo mismo ocurre con su enfoque de tener una <strong>forma propietaria de hacer todo</strong>: un CLAUDE.md en lugar del est&#225;ndar AGENTS.md, estructuras espec&#237;ficas de skills o APIs. Mientras que <strong>OpenAI suele tirar m&#225;s a est&#225;ndares</strong> que facilitan la interoperabilidad.</p><h2>OpenAI y el problema de la escala</h2><p>El modelo de negocio de Anthropic est&#225; <strong>muy enfocado en desarrolladores</strong>, especialmente tirando hacia <em>enterprise</em>. Busca intencionalmente vender menos, pero sacar mayores m&#225;rgenes de ello.</p><p>El objetivo de OpenAI es muy distinto. <strong>Buscan ser la IA que usan tus padres.</strong> El modelo de negocio est&#225; m&#225;s centrado en consumidores finales que en empresas. Eso implica crecer m&#225;s, necesitar m&#225;s inversi&#243;n y, como consecuencia, tener m&#225;s presi&#243;n de tus inversores.</p><p>En 2024, Sam Altman dec&#237;a en una conferencia que <strong>la publicidad ser&#237;a el &#250;ltimo recurso que utilizar&#237;a como modelo de negocio</strong>, y s&#243;lo lo usar&#237;a si fuera la &#250;nica forma de conseguir que todo el mundo tuviera acceso a buenos servicios.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;c3bccb34-f33d-45ff-a1f3-614c9db23511&quot;,&quot;duration&quot;:null}"></div><p>A&#241;o y medio despu&#233;s, OpenAI anuncia que incluir&#225; anuncios en los planes gratuitos y Go (un nuevo plan de $8 al mes). Es el precio a pagar cuando quieres crecer a ese ritmo, recaudando 60.000 millones de d&#243;lares y buscando una nueva ronda de 100.000 millones.</p><p>Adem&#225;s, en 2025, tuvo su mayor pol&#233;mica hasta el momento. <strong>La empresa pas&#243; de ser un laboratorio de investigaci&#243;n</strong> con beneficios limitados que buscaba &#8220;el bien de la humanidad&#8221;, <strong>a una empresa comercial que puede dar retornos ilimitados</strong> a sus inversores (Microsoft, SoftBank y compa&#241;&#237;a)</p><p>Anthropic puede evitar <strong>hoy</strong> ese tipo de decisiones porque a&#250;n no juega en esa liga (como bien les record&#243; Sam en su respuesta).</p><h2>Dos visiones, el mismo destino</h2><p>En resumen, aqu&#237; <strong>no hay ni buenos ni malos.</strong></p><p>Por un lado, Anthropic seguir&#225; intentando posicionarse como la opci&#243;n m&#225;s segura y &#233;tica, que no busca un avance loco sacrificando lo anterior.</p><p>Por otro lado, OpenAI seguir&#225; apostando por ser la opci&#243;n del pueblo, con el objetivo de hacer que sus servicios lleguen a la mayor cantidad de gente posible.</p><p>Pero en el fondo, <strong>ambas son empresas.</strong> Y por mucho que intenten desacreditarse entre ellas en esta guerra no tan fr&#237;a, las dos tienen sus propias costuras que resolver. Son empresas financiadas por miles de millones de capital externo. Y como cualquier empresa respaldada por VCs, <strong>les deben fidelidad a ellos, no a los usuarios finales.</strong></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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><blockquote><p><strong>Y recuerda probar <a href="https://apps.apple.com/us/app/deep-focus-todo-app-blocker/id6755938923">Deep Focus</a> si quieres dejar de lado tus distracciones</strong> mientras trabajas.</p></blockquote>]]></content:encoded></item><item><title><![CDATA[#5 - Cómo me preparé para entrar en empresas americanas]]></title><description><![CDATA[De sufrir en empresas locales a trabajar en Salesforce y MongoDB, mejor pagado y con menos presi&#243;n]]></description><link>https://newsletter.danielblanco.dev/p/5-como-me-prepare-para-entrar-en</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/5-como-me-prepare-para-entrar-en</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 04 Feb 2026 17:02:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/abcf8820-e6d0-4458-a2d3-f5936b93acce_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Empec&#233; mi carrera en consultoras locales en Espa&#241;a, <strong>mal pagado y con mucha m&#225;s presi&#243;n</strong> de la que me correspond&#237;a para la experiencia que ten&#237;a.</p><p>Seis a&#241;os despu&#233;s he trabajado en Salesforce y MongoDB, y he pasado procesos de entrevistas con empresas como Google, Stripe o Amazon.</p><p>El cambio no fue solo salarial. Al contrario de lo que se suele pensar, <strong>la presi&#243;n baj&#243; mucho</strong> y los proyectos en los que trabaj&#233; fueron bastante m&#225;s interesantes y &#250;tiles para mi crecimiento.</p><p>En esta entrega te cuento c&#243;mo me prepar&#233; para esas entrevistas y c&#243;mo consegu&#237; perderles el miedo.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><h2>C&#243;mo fueron mis inicios</h2><p>Ten&#237;a claro que quer&#237;a irme de Espa&#241;a para mejorar profesionalmente y por disfrutar de la experiencia. Al principio empec&#233; aplicando sin ton ni son a todo lo que encontraba por LinkedIn.</p><p>Yo cre&#237;a que no ten&#237;a que prepararme nada. Pensaba que ten&#237;a que contar mi experiencia en la entrevista y que, si les encajaba, me acabar&#237;an haciendo una oferta. Grave error. </p><p><strong>Las primeras 10-20 entrevistas fueron un aut&#233;ntico desastre.</strong> Las pocas que pas&#233; de la ronda de RRHH terminaron en la primera entrevista t&#233;cnica, donde me destrozaron. Y lo peor es que no era consciente de que estaba haciendo algo mal.</p><p>De casualidad, una noche encontr&#233; un hilo en Forocoches, de un chico que trabajaba para Twitch en Silicon Valley. Sus inicios eran muy similares a los m&#237;os: consultora peque&#241;a en Espa&#241;a y cansado del sector. Y ahora cobraba $600k anuales en Twitch.</p><p>Le escrib&#237; para preguntarle c&#243;mo lo hab&#237;a hecho y su respuesta fue clara: <strong>las entrevistas hay que prepararlas</strong>. Me pas&#243; material y, en ese momento, me cambi&#243; el chip y me puse manos a la obra.</p><h2>Entrevistas de algoritmos y estructuras de datos</h2><p>A pesar de que a muchos no les gustan, las entrevistas del estilo &#8220;LeetCode&#8221; siguen siendo las m&#225;s utilizadas en las entrevistas t&#233;cnicas de empresas anglosajonas.</p><p>Si has pasado por la universidad es probable que ya tengas una buena base de algoritmos y estructuras de datos. Pero a&#250;n as&#237;, <strong>estos ejercicios hay que prepararlos de forma espec&#237;fica.</strong></p><p>Yo ten&#237;a una base muy floja y me sirvi&#243; un mont&#243;n el libro <em>Cracking the Coding Interview</em>. Lo compr&#233; en f&#237;sico y fue la mejor inversi&#243;n de mi vida.</p><p>Para prepararlas, segu&#237; los siguientes pasos:</p><ol><li><p>Repasar la complejidad algor&#237;tmica (<strong>Big O</strong>) y hacer los ejercicios del libro</p></li><li><p>Repasar todas las estructuras de datos y hacer ejercicios concretos para cada una de ellas: <strong>Arrays, Linked Lists, Queues, Stacks, Trees, Graphs, Heaps y Tries</strong></p></li><li><p>Ejercicios sobre <strong>Recursion y Dynamic Programming</strong></p></li><li><p>Ejercicios aleatorios del libro y de LeetCode</p></li></ol><p>De Abril a finales de Julio del 2021 me prepar&#233; casi a diario con los ejercicios del libro, dedicando una media de ~15-20 horas semanales.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-3Ow!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a6fbc5-6f5f-4a08-a77b-88667750545e_2098x622.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-3Ow!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a6fbc5-6f5f-4a08-a77b-88667750545e_2098x622.png 424w, https://substackcdn.com/image/fetch/$s_!-3Ow!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a6fbc5-6f5f-4a08-a77b-88667750545e_2098x622.png 848w, https://substackcdn.com/image/fetch/$s_!-3Ow!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a6fbc5-6f5f-4a08-a77b-88667750545e_2098x622.png 1272w, https://substackcdn.com/image/fetch/$s_!-3Ow!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a6fbc5-6f5f-4a08-a77b-88667750545e_2098x622.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-3Ow!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a6fbc5-6f5f-4a08-a77b-88667750545e_2098x622.png" width="1456" height="432" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2a6fbc5-6f5f-4a08-a77b-88667750545e_2098x622.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:432,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:116673,&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://newsletter.danielblanco.dev/i/185621623?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a6fbc5-6f5f-4a08-a77b-88667750545e_2098x622.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_!-3Ow!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a6fbc5-6f5f-4a08-a77b-88667750545e_2098x622.png 424w, https://substackcdn.com/image/fetch/$s_!-3Ow!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a6fbc5-6f5f-4a08-a77b-88667750545e_2098x622.png 848w, https://substackcdn.com/image/fetch/$s_!-3Ow!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a6fbc5-6f5f-4a08-a77b-88667750545e_2098x622.png 1272w, https://substackcdn.com/image/fetch/$s_!-3Ow!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a6fbc5-6f5f-4a08-a77b-88667750545e_2098x622.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>Al sentirme c&#243;modo con los ejercicios del libro pas&#233; a LeetCode, donde segu&#237; haciendo ejercicios hasta principios de septiembre.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dvm_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e839335-e93a-48a9-8d3c-e921842db776_2546x606.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dvm_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e839335-e93a-48a9-8d3c-e921842db776_2546x606.png 424w, https://substackcdn.com/image/fetch/$s_!dvm_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e839335-e93a-48a9-8d3c-e921842db776_2546x606.png 848w, https://substackcdn.com/image/fetch/$s_!dvm_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e839335-e93a-48a9-8d3c-e921842db776_2546x606.png 1272w, https://substackcdn.com/image/fetch/$s_!dvm_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e839335-e93a-48a9-8d3c-e921842db776_2546x606.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dvm_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e839335-e93a-48a9-8d3c-e921842db776_2546x606.png" width="1456" height="347" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3e839335-e93a-48a9-8d3c-e921842db776_2546x606.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:347,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:130982,&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://newsletter.danielblanco.dev/i/185621623?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e839335-e93a-48a9-8d3c-e921842db776_2546x606.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_!dvm_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e839335-e93a-48a9-8d3c-e921842db776_2546x606.png 424w, https://substackcdn.com/image/fetch/$s_!dvm_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e839335-e93a-48a9-8d3c-e921842db776_2546x606.png 848w, https://substackcdn.com/image/fetch/$s_!dvm_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e839335-e93a-48a9-8d3c-e921842db776_2546x606.png 1272w, https://substackcdn.com/image/fetch/$s_!dvm_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e839335-e93a-48a9-8d3c-e921842db776_2546x606.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Al mismo tiempo que hac&#237;a LeetCode, a partir de Julio empec&#233; a aplicar a empresas y a hacer mis primeras entrevistas. En Septiembre consegu&#237; una oferta de Salesforce y en Octubre del 2021 me mud&#233; a Irlanda &#127470;&#127466;</p><p>No os voy a mentir, fue un proceso duro. Muchas horas invertidas en aprender una habilidad que no se practica ni en la universidad ni en el trabajo. Se convirti&#243; en un trabajo a tiempo parcial en s&#237; mismo.</p><p>Las siguientes veces que me prepar&#233; es cierto que ya necesit&#233; muchos menos d&#237;as para sentirme c&#243;modo, normalmente sobre 3-4 semanas.</p><h2>Entrevistas de System Design</h2><p>Para roles senior (e incluso mid en muchos casos), preparar s&#243;lo algoritmos no es suficiente. Tendr&#225;s que pasar una ronda en la que te piden <strong>dise&#241;ar sistemas grandes a alto nivel</strong>, como Uber, WhatsApp, YouTube, tinyURL, etc.</p><p>Aunque sigue siendo un reto importante, este tipo de entrevistas se parecen mucho m&#225;s al trabajo real. No te van a pedir la soluci&#243;n perfecta, sino <strong>ver c&#243;mo piensas, c&#243;mo priorizas y c&#243;mo comunicas</strong> decisiones.</p><p>El libro que m&#225;s me ayud&#243; fue <em>System Design Interview &#8211; An Insider&#8217;s Guide</em>, de Alex Xu. Sobre todo porque me ense&#241;&#243; a estructurar la conversaci&#243;n y a no perderme con el tiempo tan limitado que te dan. En estas entrevistas si no sigues una buena estructura es muy f&#225;cil quedarte sin tiempo y no haber mostrado nada interesante.</p><p>Mi enfoque siempre es el siguiente: primero aclarar bien el alcance, despu&#233;s hacer estimaciones r&#225;pidas para definir el alcance del problema (usuarios, QPS, almacenamiento, etc.) y despu&#233;s hablar del dise&#241;o a alto nivel. Antes de profundizar en nada, hay que estar alineado con el entrevistador.</p><p>A partir de ah&#237;, elijo una o dos partes cr&#237;ticas del sistema y profundizo en ellas, explicando <strong>decisiones y trade-offs</strong>. Es preferible cubrir bien pocas cosas que mencionar muchas por encima.</p><p>Si queda tiempo al final, lo utilizo para comentar aspectos de los que no hemos hablado a&#250;n, como anal&#237;ticas o seguridad, por ejemplo.</p><h2>Entrevistas behavioral</h2><p>Estas son las entrevistas &#8220;de toda la vida&#8221;. Te preguntan por tu experiencia, tus proyectos y c&#243;mo has actuado en situaciones reales. Yo pensaba que no hac&#237;a falta prepararlas, pero estaba muy equivocado.</p><p>Fui a varias entrevistas sin preparar y hubo preguntas que me pillaron por sorpresa, o situaciones para las que no pod&#237;a encontrar un buen ejemplo que demostrara mi experiencia.</p><p>A partir de ah&#237;, siempre las prepar&#233;. Eleg&#237;a <strong>tres o cuatro proyectos</strong> donde mi impacto hubiera sido relevante, de empresas diferentes para no acabar hablando siempre de lo mismo. Para cada uno anotaba <strong>cosas que salieron bien, cosas que har&#237;a diferente, conflictos que surgieron y decisiones t&#233;cnicas importantes.</strong></p><p>Son entrevistas bastante relevantes, porque suelen llevarlas managers, PMs o incluso directors. Si no das una buena imagen pueden vetar tu contrataci&#243;n a pesar de que te hayas lucido en las pruebas t&#233;cnicas.</p><h2>Aplicando a ofertas</h2><p>Al menos en mi caso, <strong>nunca me funcion&#243; aplicar a todo lo que se mueve</strong>. Lo hice bastante tiempo a trav&#233;s de LinkedIn, pero pocos recruiters me contactaron.</p><p>Tuve mucho m&#225;s &#233;xito buscando primero empresas que me parec&#237;an interesantes por sus productos, condiciones y opiniones en Glassdoor y Reddit. Hice una lista con unas 100 empresas, y fui filtrando las que no contrataban en Europa.</p><p>A partir de ah&#237;, empec&#233; a aplicar a posiciones espec&#237;ficas que me cuadraban. Mi objetivo principal era emigrar a Suiza &#127464;&#127469;, pero me serv&#237;a tambi&#233;n Holanda, Alemania o Irlanda.</p><p>En 2021, en pleno boom post-covid, se contrataba much&#237;simo. Eso hizo que empresas como Spotify, Salesforce o Amazon me dieran entrevistas incluso sin referral, a pesar de tener un perfil &#8220;poco atractivo&#8221;.</p><p>A partir de 2022 eso se volvi&#243; mucho m&#225;s dif&#237;cil. En mi caso, lo que empec&#233; a hacer fue contactar directamente con gente que trabajaba en esas empresas para pedir referencias internas. Estas referencias <strong>no garantizan nada</strong>, pero s&#237; aumentan las probabilidades de conseguir una primera entrevista.</p><p>Consegu&#237; entrevistas en Google y en Amazon de nuevo porque conoc&#237;a a gente que trabajaba all&#237;, y me recomendaron. Pero tambi&#233;n en empresas como Stripe, MongoDB o Workday gracias a hablar con gente que no conoc&#237;a previamente por LinkedIn.</p><h2>La realidad de estos procesos</h2><p>Incluso prepar&#225;ndote bien, la mayor&#237;a de procesos con estas empresas terminan en rechazo.</p><p>Para que te hagas una idea, en mi &#250;ltimo cambio apliqu&#233; a m&#225;s de 400 ofertas. De ah&#237; salieron 8 entrevistas y una &#250;nica oferta final, la de MongoDB. Y eso que ya ten&#237;a bastante experiencia con este tipo de entrevistas (f&#225;cilmente m&#225;s de 100).</p><p>Muchos de estos rechazos no dicen demasiado sobre tu nivel. Influyen factores que no controlas, como el entrevistador, el ejercicio o los nervios de ese d&#237;a.</p><p>Por eso nunca trat&#233; cada proceso como algo de vida o muerte. Siempre llevaba varios en paralelo y bajaba mis expectativas para no ilusionarme.</p><h2>Otros recursos</h2><p>Si este tema te interesa y prefieres un aprendizaje m&#225;s guiado, en mis cursos profundizo justo en estas partes del proceso.</p><p>En el de <a href="https://danielblanco.dev/link/algoritmos">Algoritmos, Estructuras de Datos y Entrevistas</a> cubro las pruebas tipo LeetCode, entrevistas behavioral y c&#243;mo aplicar de forma m&#225;s efectiva.</p><p>En el de <a href="https://danielblanco.dev/link/diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a> trato las entrevistas de system design, con teor&#237;a y ejercicios reales.</p><p>Si prefieres seguir por tu cuenta, los libros que he mencionado a lo largo del art&#237;culo, junto con recursos gratuitos como LeetCode o el repo de <a href="https://github.com/donnemartin/system-design-primer">System Design Primer</a>, son tambi&#233;n muy buenas opciones!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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>]]></content:encoded></item><item><title><![CDATA[#4 – Lo urgente vs lo importante: cómo aprendí a priorizar mejor]]></title><description><![CDATA[Por qu&#233; hacer m&#225;s cosas no significa avanzar m&#225;s y lo que aprend&#237; despu&#233;s de varios a&#241;os equivoc&#225;ndome.]]></description><link>https://newsletter.danielblanco.dev/p/4-lo-urgente-vs-lo-importante-como-aprendi-priorizar-mejor</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/4-lo-urgente-vs-lo-importante-como-aprendi-priorizar-mejor</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 28 Jan 2026 17:02:58 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/123ce10e-7d81-42e4-9cf0-c8e3fe3fe38b_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Como desarrolladores, estamos todo el d&#237;a siendo bombardeados con emails, mensajes y tareas que surgen &#8220;para ayer&#8221;. Al mismo tiempo, tenemos que hacer hueco para completar las tareas de nuestros proyectos a largo plazo.</p><p>Esto es un desaf&#237;o constante, sobre todo para los m&#225;s juniors. Si no proteges tu tiempo, puedes caer f&#225;cilmente en la trampa de estar todo el d&#237;a ocupado haciendo cosas, pero llegar al final del d&#237;a con la sensaci&#243;n de no haber hecho nada.</p><p>Y lo peor de todo es que <strong>muchas veces esa sensaci&#243;n es real</strong>. Completamos decenas de tareas pero posponemos justo las que nos dar&#237;an m&#225;s valor a largo plazo. Y gran parte de ese problema viene de no diferenciar entre lo urgente y lo importante.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><blockquote><p>Esta entrega de Status 418 est&#225; patrocinada por <a href="https://x.com/DanielBlancoSWE">@DanielBlancoSWE</a> (yo xD)</p><p>Mis <strong>cursos de Udemy est&#225;n al mejor precio disponible</strong>! Aprovecha las rebajas para aprender m&#225;s sobre las <strong>bases de la ingenier&#237;a de software.</strong></p><p>&#128313; <a href="https://danielblanco.dev/link/best_arq_avanzada">Arquitectura Software Avanzada: M&#225;s All&#225; de los Patrones</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_senior">El Camino a Senior: Claves para el &#201;xito como Programador</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_diseno_sistemas">Dise&#241;o de Sistemas a Gran Escala</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_arq_moderna">Arquitectura Software Moderna: DDD, Eventos, Microservicios</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_clean_code_solid">Principios SOLID y Clean Code. Escribe c&#243;digo de calidad.</a></p><p>&#128313; <a href="https://danielblanco.dev/link/best_algoritmos">Algoritmos, Estructuras de Datos y Entrevistas Programaci&#243;n</a></p></blockquote><div><hr></div><h2>Mi mayor error como junior: ser el &#8220;yes man&#8221;</h2><p>Cuando era junior dec&#237;a a todo que s&#237;. Era el primero en contestar dudas de mis compa&#241;eros y el primero en ayudar cuando alguien ten&#237;a problemas. En cuanto a lo que me ped&#237;an mis superiores, ya te lo puedes imaginar. Lo hac&#237;a a&#250;n con m&#225;s &#233;nfasis si cabe, para responder a sus peticiones lo antes y lo mejor posible.</p><p>Hac&#237;a eso porque pensaba que era lo que hab&#237;a que hacer para estar bien visto dentro del equipo y de la empresa. Y, en parte, me ayud&#243; a que mis compa&#241;eros siempre me vieran como un gran jugador de equipo y como alguien resolutivo.</p><p>El problema viene cuando te das cuenta de que el tiempo no es infinito. Llegaba el final del d&#237;a y muchas veces no hab&#237;a logrado avanzar en mis tareas. Y eso lo ten&#237;a que suplir con horas extras, sacrificando calidad o justificando retrasos en las entregas. Y ninguna de esas opciones es aceptable a largo plazo.</p><p>Con las peticiones de mis superiores era a&#250;n peor. Ayudar a un compa&#241;ero pod&#237;a esperar, pero decir &#8220;no&#8221; hacia arriba me parec&#237;a imposible. Acataba todo lo que me ped&#237;an, sin pararme a pensar si era realmente importante.</p><h2>El coste de vivir en lo urgente</h2><p>Una de esas tareas urgentes que normalmente me ped&#237;an mis superiores era realizar ciertas queries a mano para un cliente importante. </p><p>La parte de anal&#237;ticas de la plataforma no cubr&#237;a todo lo que necesitaban, y cuando lo hac&#237;a, a veces romp&#237;a con vol&#250;menes grandes de datos porque los algoritmos eran horribles (muchos joins en c&#243;digo con bucles for anidados, un cristo xD).</p><p>Yo lo hac&#237;a sin pensarlo demasiado. Era nuestro cliente m&#225;s importante y adem&#225;s no llevaba mucho tiempo, &#8220;s&#243;lo&#8221; me ocupaba un par de horas.</p><p>En unas semanas, ese &#8220;par de horas&#8221; fue aumentando, porque otros clientes chocaban con el mismo problema. Llegamos a un punto en el que ten&#237;amos a <strong>todo el equipo haciendo queries manuales</strong> por descuidar la plataforma.</p><p>Si en lugar de priorizar esas peticiones urgentes, hubi&#233;ramos invertido tiempo en mejorar la parte de anal&#237;ticas desde el principio, nada de eso habr&#237;a pasado.</p><p>Por cada minuto que atiendes cosas &#8220;urgentes&#8221;, est&#225;s quitando tiempo de las tareas realmente importantes. Y el mayor problema no es que tu tiempo personal sufra. Es que si todos hacen lo mismo, el producto deja de avanzar a largo plazo. La deuda se acumula y <strong>cada nueva &#8220;urgencia&#8221; se vuelve m&#225;s cara que la anterior.</strong></p><p>Por eso debes bloquear la mayor parte del d&#237;a para dedicar tiempo a esas tareas. Cosas como:</p><ul><li><p>Trabajar en las funcionalidades cr&#237;ticas del roadmap.</p></li><li><p>Refactorizaciones que acaban con deuda t&#233;cnica que est&#225; ralentizando al equipo.</p></li><li><p>Bugs que sabes que van a causar un aumento de tickets de soporte.</p></li></ul><p>En definitiva. Todo lo que sepas que te va a morder a medio y largo plazo si no lo haces cuanto antes.</p><h2>Cu&#225;ndo lo urgente es correcto</h2><p>Dicho todo esto, el error contrario tambi&#233;n existe: usar &#8220;lo importante&#8221; como excusa para ignorar problemas que s&#237; requieren atenci&#243;n inmediata.</p><p>Hay situaciones en las que lo urgente es lo m&#225;s importante. Ca&#237;das en producci&#243;n, bugs que bloquean completamente a clientes y que requieren de intervenci&#243;n manual, o incidentes de seguridad, no pueden esperar a que haya un hueco en el roadmap.</p><p>En esos casos, parar todo lo dem&#225;s no es una mala decisi&#243;n. No hacerlo, puede causar un da&#241;o irreparable a largo plazo, como la p&#233;rdida de confianza de nuestros usuarios o clientes que dejen de trabajar con nosotros.</p><p>Quiero que quede claro que el problema no es atender lo urgente, sino <strong>convertir cualquier petici&#243;n en una emergencia</strong>. Y eso pasa mucho m&#225;s de lo que creemos.</p><h2>C&#243;mo intento priorizar hoy</h2><p>En mis primeros a&#241;os, vivir en urgencias constantes me hizo buscar formas de gestionar mejor mi tiempo y aprender a decir &#8220;no&#8221; cuando hac&#237;a falta.</p><p>Leyendo y probando distintas cosas, descubr&#237; herramientas que me ayudaron, entre ellas la matriz de Eisenhower. Seguramente ya la conoces, y no voy a entrar en la teor&#237;a. A m&#237; me sirve mucho como punto de partida para pensar si una tarea merece realmente mi atenci&#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_!u99u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210ebfb-9d28-4014-870a-0539c6e20565_1536x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u99u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210ebfb-9d28-4014-870a-0539c6e20565_1536x928.png 424w, https://substackcdn.com/image/fetch/$s_!u99u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210ebfb-9d28-4014-870a-0539c6e20565_1536x928.png 848w, https://substackcdn.com/image/fetch/$s_!u99u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210ebfb-9d28-4014-870a-0539c6e20565_1536x928.png 1272w, https://substackcdn.com/image/fetch/$s_!u99u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210ebfb-9d28-4014-870a-0539c6e20565_1536x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u99u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210ebfb-9d28-4014-870a-0539c6e20565_1536x928.png" width="1536" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b210ebfb-9d28-4014-870a-0539c6e20565_1536x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1536,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1136572,&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://newsletter.danielblanco.dev/i/185621489?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2026a330-8684-4782-bfc9-379d45e81741_1536x1024.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_!u99u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210ebfb-9d28-4014-870a-0539c6e20565_1536x928.png 424w, https://substackcdn.com/image/fetch/$s_!u99u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210ebfb-9d28-4014-870a-0539c6e20565_1536x928.png 848w, https://substackcdn.com/image/fetch/$s_!u99u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210ebfb-9d28-4014-870a-0539c6e20565_1536x928.png 1272w, https://substackcdn.com/image/fetch/$s_!u99u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210ebfb-9d28-4014-870a-0539c6e20565_1536x928.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">Urgencia vs importancia: la matriz de Eisenhower</figcaption></figure></div><p>De todas formas, <strong>no la sigo al pie de la letra. </strong>De lo contrario, despriorizar&#237;a mucho ayudar a otros compa&#241;eros, cosa que a m&#237; me encanta y me parece importante para construir relaciones fuertes y una buena din&#225;mica de equipo.</p><p>Intento siempre encontrar un equilibrio. Ayudo, pero sin entrar en laberintos sin salida que se coman el d&#237;a entero, y pensando si hay algo realmente cr&#237;tico que atender primero.</p><p>Adem&#225;s de servirme para relativizar las urgencias, donde m&#225;s me ayuda la matriz es en eliminar las tareas que est&#225;n en el cuadrante azul. O, al menos, darme cuenta de que estoy perdiendo tiempo con ellas y no estoy siendo realmente productivo xD.</p><div><hr></div><p>&#191;Te has visto alguna vez en situaciones as&#237;? Me encantar&#237;a leer c&#243;mo lo gestionas t&#250; en los comentarios!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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>]]></content:encoded></item><item><title><![CDATA[#3 - Vibecoding en un proyecto real: lo bueno y lo malo]]></title><description><![CDATA[Una experiencia real construyendo una app para iOS sin experiencia previa, usando Codex y Claude Code]]></description><link>https://newsletter.danielblanco.dev/p/3-vibecoding-en-un-proyecto-real</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/3-vibecoding-en-un-proyecto-real</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 21 Jan 2026 17:02:40 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d01009ec-167f-4e93-afa6-a5c3b9976779_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Uno de mis objetivos del 2025 era construir una app para iOS que me bloqueara las distracciones hasta completar una serie de tareas. Empec&#233; en enero, pero por falta de tiempo y motivaci&#243;n lo dej&#233;.</p><p>A final de a&#241;o, con los avances de los LLMs, decid&#237; darle otra oportunidad y empec&#233; a construir <a href="https://apps.apple.com/us/app/deep-focus-todo-app-blocker/id6755938923">Deep Focus</a> utilizando principalmente Claude Code y Codex.</p><p>Desde el primer momento not&#233; una mejora enorme en estas herramientas para este caso concreto. Lo que a principios de a&#241;o les costaba, <strong>ahora lo resolv&#237;an en un prompt. </strong>Gracias a eso, consegu&#237; publicar la app a finales de diciembre.</p><p>Pero no todo fue un camino de rosas. Surgieron muchos inconvenientes (y mucha deuda t&#233;cnica) que tambi&#233;n quiero contar aqu&#237;. No va a ser un post ni pro ni anti IA, simplemente una experiencia real construyendo un side project desde cero.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><h2>La IA acelera, y mucho</h2><p>Esto es innegable. Los avances son incre&#237;bles, y gracias a ello pude crear una app sin tener experiencia previa en iOS. Sin la inteligencia artifical habr&#237;a tenido que formarme bastante o seguir la documentaci&#243;n oficial paso a paso. Habr&#237;a tardado horas en tener la pantalla de tareas b&#225;sica.</p><p>Con Claude Code ten&#237;a una app de gesti&#243;n de tareas funcionando en mi iPhone en cuesti&#243;n de minutos. Es cierto que no era nada excesivamente complejo, pero el ahorro de tiempo fue enorme.</p><h2>El primer problema: la tecnolog&#237;a elegida</h2><p>Delegu&#233; en la IA la tecnolog&#237;a para este proyecto. Le dije que en principio quer&#237;a sacarla para iOS, y si a la gente le gustaba me plantear&#237;a sacarla para Android m&#225;s tarde. Tambi&#233;n a&#241;ad&#237; que no ten&#237;a experiencia desarrollando en iOS, pero que s&#237; ten&#237;a experiencia con JS / TS y algo de react.</p><p>Teniendo eso en cuenta, la tecnolog&#237;a elegida fue React Native. Y al principio todo fue genial. Pod&#237;a entender el c&#243;digo sin problema y hacer mis ajustes si era necesario. Prob&#233; a desplegarla en Android por curiosidad y funcionaba igual de bien.</p><p>El problema vino a la hora de desarrollar los widgets y el bloqueo de aplicaciones. Esta funcionalidad depende de l&#243;gica nativa, no se puede desarrollar &#250;nicamente en React Native.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K433!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f58408e-abc6-48e0-b518-22eab8157494_1578x570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K433!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f58408e-abc6-48e0-b518-22eab8157494_1578x570.png 424w, https://substackcdn.com/image/fetch/$s_!K433!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f58408e-abc6-48e0-b518-22eab8157494_1578x570.png 848w, https://substackcdn.com/image/fetch/$s_!K433!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f58408e-abc6-48e0-b518-22eab8157494_1578x570.png 1272w, https://substackcdn.com/image/fetch/$s_!K433!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f58408e-abc6-48e0-b518-22eab8157494_1578x570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K433!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f58408e-abc6-48e0-b518-22eab8157494_1578x570.png" width="1578" height="570" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f58408e-abc6-48e0-b518-22eab8157494_1578x570.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:570,&quot;width&quot;:1578,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:99608,&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://newsletter.danielblanco.dev/i/184851948?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3556243-eda1-487c-ac27-abfc10d53217_1578x822.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_!K433!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f58408e-abc6-48e0-b518-22eab8157494_1578x570.png 424w, https://substackcdn.com/image/fetch/$s_!K433!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f58408e-abc6-48e0-b518-22eab8157494_1578x570.png 848w, https://substackcdn.com/image/fetch/$s_!K433!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f58408e-abc6-48e0-b518-22eab8157494_1578x570.png 1272w, https://substackcdn.com/image/fetch/$s_!K433!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f58408e-abc6-48e0-b518-22eab8157494_1578x570.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">Distribuci&#243;n de lenguajes usados en Deep Focus</figcaption></figure></div><p>Al principio pens&#233; que ser&#237;a necesaria poca l&#243;gica en Swift. Pero el respositorio tiene actualmente un 30% de c&#243;digo nativo. Si implemento soporte para Android (suponiendo los mismos porcentajes, por simplificar), tendr&#237;a <strong>menos de un 50% del c&#243;digo en React Native.</strong></p><p>Vi&#233;ndolo con perspectiva, si hubiera sabido esto desde el principio habr&#237;a desarrollado la app directamente en Swift. Me habr&#237;a ahorrado muchos problemas y, sobre todo, la complejidad a&#241;adida de la comunicaci&#243;n entre React Native y c&#243;digo nativo.</p><p>Pero me fi&#233; a ciegas de la decisi&#243;n de Claude Code, que a pesar de tener todos los requisitos y de comentarle las funcionalidades nativas que necesitaba, decidi&#243; tirar por el modelo h&#237;brido.</p><p>En este caso es &#8220;solo&#8221; un side project y el impacto es limitado. Pero en una empresa, esto puede significar mucho tiempo y dinero invertido. La velocidad inicial puede acabar siendo <strong>pan para hoy y hambre para ma&#241;ana.</strong></p><h2>Mi mayor sufrimiento: Live Activities y background jobs</h2><p>Tras recibir feedback de varios usuarios, decid&#237; implementar un modo Pomodoro en <a href="https://apps.apple.com/us/app/deep-focus-todo-app-blocker/id6755938923">Deep Focus</a>.</p><p>La idea era sencilla: implementar un temporizador en la app y utilizar Live Activities para que el usuario pudiera ver el tiempo que le quedaba desde fuera de la aplicaci&#243;n o la pantalla de bloqueo.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tJUh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd645261-eacd-4d3b-99ba-54ffd2b17631_1290x184.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tJUh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd645261-eacd-4d3b-99ba-54ffd2b17631_1290x184.png 424w, https://substackcdn.com/image/fetch/$s_!tJUh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd645261-eacd-4d3b-99ba-54ffd2b17631_1290x184.png 848w, https://substackcdn.com/image/fetch/$s_!tJUh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd645261-eacd-4d3b-99ba-54ffd2b17631_1290x184.png 1272w, https://substackcdn.com/image/fetch/$s_!tJUh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd645261-eacd-4d3b-99ba-54ffd2b17631_1290x184.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tJUh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd645261-eacd-4d3b-99ba-54ffd2b17631_1290x184.png" width="1290" height="184" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd645261-eacd-4d3b-99ba-54ffd2b17631_1290x184.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:184,&quot;width&quot;:1290,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:28221,&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://newsletter.danielblanco.dev/i/184851948?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd645261-eacd-4d3b-99ba-54ffd2b17631_1290x184.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_!tJUh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd645261-eacd-4d3b-99ba-54ffd2b17631_1290x184.png 424w, https://substackcdn.com/image/fetch/$s_!tJUh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd645261-eacd-4d3b-99ba-54ffd2b17631_1290x184.png 848w, https://substackcdn.com/image/fetch/$s_!tJUh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd645261-eacd-4d3b-99ba-54ffd2b17631_1290x184.png 1272w, https://substackcdn.com/image/fetch/$s_!tJUh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd645261-eacd-4d3b-99ba-54ffd2b17631_1290x184.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aCuD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c849697-1609-4f4c-921e-44ebee3495d3_1290x725.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aCuD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c849697-1609-4f4c-921e-44ebee3495d3_1290x725.png 424w, https://substackcdn.com/image/fetch/$s_!aCuD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c849697-1609-4f4c-921e-44ebee3495d3_1290x725.png 848w, https://substackcdn.com/image/fetch/$s_!aCuD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c849697-1609-4f4c-921e-44ebee3495d3_1290x725.png 1272w, https://substackcdn.com/image/fetch/$s_!aCuD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c849697-1609-4f4c-921e-44ebee3495d3_1290x725.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aCuD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c849697-1609-4f4c-921e-44ebee3495d3_1290x725.png" width="1290" height="725" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c849697-1609-4f4c-921e-44ebee3495d3_1290x725.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:725,&quot;width&quot;:1290,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:542991,&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://newsletter.danielblanco.dev/i/184851948?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb82e10-0fd9-4054-925f-87f422097410_1290x2796.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_!aCuD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c849697-1609-4f4c-921e-44ebee3495d3_1290x725.png 424w, https://substackcdn.com/image/fetch/$s_!aCuD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c849697-1609-4f4c-921e-44ebee3495d3_1290x725.png 848w, https://substackcdn.com/image/fetch/$s_!aCuD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c849697-1609-4f4c-921e-44ebee3495d3_1290x725.png 1272w, https://substackcdn.com/image/fetch/$s_!aCuD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c849697-1609-4f4c-921e-44ebee3495d3_1290x725.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>Yo no quer&#237;a un simple icono de temporizador, como se ve en la anterior imagen. Quer&#237;a poder pausar, reanudar y pasar a la siguiente fase directamente desde la Live Activity.</p><p>Claude Code implement&#243; esta funcionalidad con pocos prompts. Y, al principio, parec&#237;a funcionar. Pero pronto me di cuenta de que era muy inestable. El bot&#243;n de pausar a veces ten&#237;a efecto en la app, y a veces no, causando inconsistencias en el estado. Y esto era imposible de <em>debuggear.</em></p><p>Ah&#237; empez&#243; una iteraci&#243;n de la cual no me siento muy orgulloso. Del estilo &#8220;<em>pls fix make no mistakes</em>&#8221;. Pasaron horas y horas, repartidas en varios d&#237;as, y todo el c&#243;digo que la IA a&#241;ad&#237;a no mejoraba la estabilidad del Live Activity.</p><p>La desesperaci&#243;n me llev&#243; a la documentaci&#243;n oficial y a buscar problemas similares en Google. Para mi sorpresa, aprend&#237; que <strong><a href="https://www.reddit.com/r/iOSProgramming/comments/1m906a4/live_activities_are_a_joke_theyre_not_live_at_all/">las Live Activities no son realmente &#8220;Live&#8221;</a></strong>, y que 20-30 segundos despu&#233;s de que una app de iOS pase a background no se puede ejecutar c&#243;digo de manera fiable. <strong>Las tareas en background se ejecutan si el OS quiere, y no est&#225;n garantizadas.</strong></p><p>La inestabilidad que ve&#237;a tambi&#233;n era causada en parte por estar conectado al XCode, que mantiene la app &#8220;viva&#8221; m&#225;s tiempo aunque est&#233; en background. Al final, despu&#233;s de tanto trabajo, volv&#237; a la versi&#243;n sin botones.</p><h2>La IA como revisora</h2><p>Como estaba en bucle con Claude Code, decid&#237; probar con Codex. Le ped&#237; que me revisara la implementaci&#243;n actual del Pomodoro e identificara la causa de los problemas que sufr&#237;a.</p><p>Ah&#237; es donde v&#237; la primera se&#241;al de que quiz&#225;s el problema no estaba en la implementaci&#243;n, si no en las limitaciones del sistema operativo. Codex mencion&#243; varias restricciones de los background jobs de iOS que encajaban perfectamente con lo que estaba viendo. Como ya he comentado, investigando en internet confirm&#233; esa hip&#243;tesis.</p><p>A partir de ah&#237; empec&#233; a utilizar Codex como &#8220;revisor&#8221; de todo lo que escrib&#237;a Claude Code. Al principio pens&#233; que no ser&#237;a tan &#250;til, pero me sorprendi&#243; la cantidad de problemas y mejoras que fue capaz de detectar!</p><h2>El <em>bias<strong> </strong></em>por a&#241;adir c&#243;digo sin parar</h2><p>Los LLM (especialmente Opus 4.5) han llegado a un punto en el que pueden construir software bastante top desde cero. Incluso, por experiencia en mi trabajo, operan decentemente en proyectos enormes. Algo que no esperaba que sucediera tan r&#225;pido.</p><p>El mayor problema que les veo ahora es que siguen teniendo un <em>bias</em> enorme en a&#241;adir c&#243;digo. Y eso es un gran riesgo a largo plazo si <em>vibecodeas</em> al 100% tu sistema, al menos por ahora.</p><p>Problemas que se podr&#237;an arreglar eliminando o reutilizando c&#243;digo suelen acabar siempre con Claude Code a&#241;adiendo decenas o cientos de l&#237;neas.</p><p>Esto me caus&#243; muchos dolores de cabeza en Deep Focus. El m&#225;s grave fue la inconsistencia del estado de la app: en lugar de mantener un &#250;nico single source of truth, se fueron a&#241;adiendo m&#250;ltiples stores que luego hab&#237;a que sincronizar. La situaci&#243;n empeor&#243; seg&#250;n crec&#237;a la app, especialmente al introducir m&#243;dulos nativos para el Shield, los widgets y las Live Activities.</p><p>Esto fue mi culpa, por optimizar el &#8220;avance&#8221;, en lugar de mirar a largo plazo. Podr&#237;a haber hecho un mayor esfuerzo en definir bien la arquitectura y las reglas del proyecto para que Claude Code tuviera ese contexto presente desde el principio.</p><h2>D&#243;nde la IA realmente brilla para un backender</h2><p>Si eres backender y tienes las skills de front oxidadas como yo, probablemente estar&#225;s de acuerdo conmigo. Sin duda, el punto donde m&#225;s me ha ayudado la IA es en mejorar la interfaz de usuario y en crear assets &#8220;bonitos&#8221;, como el logo de la app y otras im&#225;genes.</p><p>Es cierto que las interfaces generadas por IA suelen ser bastante gen&#233;ricas, pero para un side project es m&#225;s que suficiente para dejarlo en un estado aceptable.</p><p>El problema de a&#241;adir mucho c&#243;digo sigue estando presente. Los ficheros de la pantalla de tareas y del pomodoro superan ambos las 2000 l&#237;neas de c&#243;digo, y estoy seguro de que podr&#237;an ser mucho m&#225;s simples. Pero es un lugar menos cr&#237;tico, no es el core de la aplicaci&#243;n, por lo que decid&#237; darle mucha m&#225;s libertad a la IA en este aspecto.</p><h2>He aprendido &#8220;poco&#8221;</h2><p>La IA ha bajado una barbaridad la barrera de entrada para programar. Sin experiencia previa en iOS, y con conocimientos b&#225;sicos de React Native pude publicar mi side project en tres o cuatro semanas.</p><p>El problema es que el proyecto se convierte en una &#8220;caja negra&#8221;, donde la interfaz principal es el LLM. En ese proceso he aprendido bastante poco realmente. Ahora s&#233; c&#243;mo funciona iOS un poco mejor, pero simplemente porque <strong>me vi forzado a investigar yo mismo sin depender de la IA</strong>.</p><p>Ahora mismo no ser&#237;a capaz de crear ni una app b&#225;sica desde cero, y mucho menos hacerlo de forma nativa en Swift. Para balancear aprendizaje y velocidad, tendr&#237;a que haber revisado todo el output generado y haber entendido todas las decisiones tomadas.</p><p>Para aprender algo desde cero sigo prefiriendo los m&#233;todos tradicionales: libros, v&#237;deos, documentaci&#243;n oficial y crear cosas a mano. Eso, con el apoyo de la IA, va a potenciar mucho tus habilidades.</p><div><hr></div><h2>Conclusi&#243;n: el <em>vibecoding</em> acelera, pero no es gratis</h2><p>De este side project saco muchas cosas positivas y varias lecciones claras sobre c&#243;mo usar estas herramientas en proyectos que realmente importen.</p><p>La IA acelera un mont&#243;n el desarrollo, sobre todo al principio. Reduce much&#237;simo la fricci&#243;n para empezar algo desde cero y es un apoyo enorme en temas de UX y dise&#241;o, especialmente si vienes del backend. En ese sentido, vibecodear es casi adictivo. Yo me lo he pasado como un ni&#241;o construyendo Deep Focus.</p><p>Pero esa velocidad tiene un coste. Vibecodear sin control introduce complejidad y deuda t&#233;cnica muy r&#225;pido, especialmente cuando no conoces bien la plataforma en la que est&#225;s trabajando. Adem&#225;s, si delegas todas las decisiones en la IA, el aprendizaje real es bastante limitado. Avanzas, pero entiendes poco lo que est&#225;s construyendo.</p><p>Mi conclusi&#243;n es que la IA acelera mucho, pero <strong>no sustituye entender el sistema que est&#225;s construyendo.</strong></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a Status 418. Gracias por el apoyo!</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></p><p></p>]]></content:encoded></item><item><title><![CDATA[#2 - 6 estrategias que aceleraron mi carrera como ingeniero de software]]></title><description><![CDATA[Las decisiones que m&#225;s impacto tuvieron en mi desarrollo como ingeniero.]]></description><link>https://newsletter.danielblanco.dev/p/2-6-estrategias-que-aceleraron-mi-carrera</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/2-6-estrategias-que-aceleraron-mi-carrera</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 14 Jan 2026 17:02:21 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/acee3585-8178-4977-8980-7283fbff98e6_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>En esta entrega te cuento las 6 estrategias que m&#225;s aceleraron mi carrera como ingeniero de software, y de c&#243;mo me ayudaron a pasar de sufrir en empresas locales a poder trabajar para empresas americanas y llegar a senior.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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://newsletter.danielblanco.dev/subscribe?"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><h2>1. Proyectos personales desde el primer d&#237;a</h2><p>Nunca fui una eminencia en los estudios. Siempre me cost&#243; much&#237;simo concentrarme en clase y estudiar para los ex&#225;menes (lo cual se ve&#237;a reflejado en mis notas xD)</p><p>Me met&#237; en Ingenier&#237;a Inform&#225;tica por una simple raz&#243;n: Me gustaban los ordenadores y solucionar problemas. Y una de las mejores cosas de esta carrera es que <strong>puedes crear lo que quieras</strong> casi desde el primer d&#237;a, a diferencia de otras ingenier&#237;as cl&#225;sicas o carreras de ciencias. S&#243;lo necesitas un port&#225;til y ganas.</p><p>Y algo que me sorpende, es que muy poca gente toma ventaja de esto. No es criticable, pero es algo que marca la diferencia. En mi caso, siempre estuve liado en alg&#250;n side project. Por ejemplo:</p><ul><li><p>Juego que lleg&#243; a 100k descargas en Android. Lo cre&#233; en Navidad en segundo a&#241;o de carrera, en lugar de estudiar para los ex&#225;menes de enero xD.</p></li><li><p>Web de noticias de NFL.</p></li><li><p>Incubadora de huevos con Raspberry Pi.</p></li><li><p>Mis cursos de <a href="https://danielblanco.dev/cursos">Udemy</a>.</p></li><li><p>Y el m&#225;s reciente, <a href="https://apps.apple.com/us/app/deep-focus-todo-app-blocker/id6755938923">Deep Focus</a>, la app para bloquear distracciones.</p></li><li><p>Y muchos m&#225;s!</p></li></ul><p>La mayor&#237;a de estos proyectos no me hicieron ganar ni un s&#243;lo euro. Pero s&#237; me ayudaron a crecer, y no s&#243;lo t&#233;cnicamente. Te obligan a pensar en una <strong>visi&#243;n</strong>, <strong>planificaci&#243;n</strong>, implementaci&#243;n <strong>end to end</strong> e incluso algo de <strong>marketing</strong> si quieres llevarlo un poco m&#225;s all&#225;.</p><p>Y adem&#225;s, en entrevistas de trabajo <strong>siempre me preguntan por alguno de ellos</strong>. En Salesforce, por ejemplo, un antiguo compa&#241;ero se descarg&#243; mi juego de f&#250;tbol y lo estuvo probando antes de entrevistarme.</p><h2>2. Generalista primero, especialista despu&#233;s</h2><p>Mucha gente se enfoca en especializarse lo antes posible, pensando que eso les ayudar&#225; a crecer r&#225;pido y ganar m&#225;s. En mi opini&#243;n, esto es un error cuando est&#225;s empezando.</p><p>Si te especializas demasiado pronto, pierdes la oportunidad de ver el resto del stack, de descubrir qu&#233; te gusta realmente y de mejorar t&#233;cnicamente en otras partes del desarrollo. Adem&#225;s te encasillar&#225; para futuras ofertas laborales.</p><p>Ejemplos t&#237;picos son los desarrolladores de una &#250;nica plataforma (Android / iOS), quienes s&#243;lo trabajan en una &#250;nica parte del stack (frontend, backend, QA...), o el caso extremo, gente que s&#243;lo quiere trabajar con un lenguaje o framework concreto.</p><p>Un generalista puede <strong>aportar valor en muchas &#225;reas diferentes</strong>, mientras que un especialista s&#243;lo en una. Seguramente el especialista rinda mejor en su nicho, pero el generalista tiene m&#225;s flexibilidad, entiende mejor el sistema completo y puede desbloquear m&#225;s frentes.</p><p>La clave es llegar a ser un buen Ingeniero <em><strong>T-shaped</strong>. </em>Alguien capaz de aportar en varias &#225;reas, pero con profundidad en una concreta.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wxWp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ad3785-274e-4c3c-b661-04e0a9af3b16_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wxWp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ad3785-274e-4c3c-b661-04e0a9af3b16_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!wxWp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ad3785-274e-4c3c-b661-04e0a9af3b16_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!wxWp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ad3785-274e-4c3c-b661-04e0a9af3b16_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!wxWp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ad3785-274e-4c3c-b661-04e0a9af3b16_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wxWp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ad3785-274e-4c3c-b661-04e0a9af3b16_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29ad3785-274e-4c3c-b661-04e0a9af3b16_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:329576,&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://newsletter.danielblanco.dev/i/184297924?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ad3785-274e-4c3c-b661-04e0a9af3b16_1536x1024.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_!wxWp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ad3785-274e-4c3c-b661-04e0a9af3b16_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!wxWp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ad3785-274e-4c3c-b661-04e0a9af3b16_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!wxWp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ad3785-274e-4c3c-b661-04e0a9af3b16_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!wxWp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ad3785-274e-4c3c-b661-04e0a9af3b16_1536x1024.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>Esto lleva a&#241;os, y es mucho m&#225;s dif&#237;cil llegar ah&#237; si te especializas demasiado pronto.</p><h2>3. Mentalidad de producto</h2><p>En mis primeros a&#241;os de carrera solo pensaba en ejecutar. Me centraba en escribir buen c&#243;digo que cumpliera los requisitos que me ped&#237;an mis superiores. No entend&#237;a, ni me interesaba el producto en s&#237;, y eso <strong>fren&#243; much&#237;simo mi crecimiento</strong>.</p><p>Era muy bueno generando <em>output</em>, pero no tanto generando <em>outcomes.</em></p><p>Entender a fondo el producto que est&#225;s desarrollando es clave para tomar decisiones t&#233;cnicas. A veces lo vemos como un problema de <em>Product Managers</em>, pero no lo es<em>. </em>Muchos problemas que parecen puramente t&#233;cnicos, se resuelven mucho mejor si entiendes qu&#233; intenta conseguir el usuario y para qu&#233; existe esa funcionalidad.</p><p>Un desarrollador con mentalidad de producto:</p><ul><li><p>Entiende el producto a fondo y lo usa si puede.</p></li><li><p>Conoce a los <strong>usuarios</strong> y por qu&#233; lo usan.</p></li><li><p>Sabe que <strong>lo que genera dinero es el producto</strong>, no el c&#243;digo.</p></li><li><p>Tiene criterio para decidir qu&#233; aporta y qu&#233; no.</p></li><li><p>Valida ideas con <strong>pruebas de concepto</strong> antes de querer implementar media plataforma.</p></li></ul><p>Con esta mentalidad puedes <strong>aportar valor m&#225;s all&#225; del c&#243;digo</strong>, lo que mejorar&#225; la comunicaci&#243;n con PMs y el equipo de dise&#241;o, y te dar&#225; mejores oportunidades laborales. Te percibir&#225;n como un ingeniero m&#225;s completo, no como alguien t&#233;cnico que recibe Jiras y los cierra.</p><p>El primer punto que trat&#233; tambi&#233;n ayuda con esto. Al crear un side project est&#225;s obligado a pensar en tus usuarios y en c&#243;mo evolucionar tu producto para que tenga m&#225;s oportunidades de &#233;xito.</p><p>Por ejemplo, en <a href="https://apps.apple.com/us/app/deep-focus-todo-app-blocker/id6755938923">Deep Focus</a> tengo un peque&#241;o bug con el modo pomodoro en usuarios Pro. Mi instinto como desarrollador es ponerme a investigarlo y solucionarlo ya mismo. Pero viendo los datos, s&#243;lo el 10% de los usuarios es Pro, y s&#243;lo una fracci&#243;n utiliza la funcionalidad que tiene el problema. Con mi tiempo limitado, s&#233; que arreglar el bug aporta mucho menos que otras mejoras que afectan a todos los usuarios.</p><h2>4. Preparar entrevistas t&#233;cnicas</h2><p>Este es un punto pol&#233;mico que ya he tratado muchas veces en Twitter. Mucha gente ve preparar entrevistas como &#8220;perder el tiempo&#8221;. Y en parte lo entiendo: las pruebas de <em>Live Coding</em> son estresantes, algo repetitivas y no representan del todo el trabajo real.</p><p>Aun as&#237;, creo que demonizarlas es un error. La realidad es que la mayor&#237;a de empresas extranjeras (y sobre todo las que mejor pagan y mejor talento tienen) siguen us&#225;ndolas.</p><p>Invertir en ello me dio muchas ventajas:</p><ul><li><p><strong>Fortalecer mis fundamentos</strong> en algoritmos y estructuras de datos.</p></li><li><p>Entrar en Salesforce, multiplicando x5 mi sueldo en 1 a&#241;o, y tres a&#241;os m&#225;s tarde conseguir trabajo full remote en MongoDB.</p></li><li><p>Tener <strong>&#8220;acceso&#8221; a una densidad de talento</strong> muy alta. Al haber tanta competencia por entrar, todos los compa&#241;eros eran muy buenos, y aprend&#237; un mont&#243;n.</p></li><li><p>Mejorar mi comunicaci&#243;n y mi tolerancia a la presi&#243;n.</p></li></ul><p>Es cierto que no fue un camino de rosas. Muchos meses invirtiendo 2-4 horas al d&#237;a despu&#233;s del trabajo, y m&#225;s horas a&#250;n durante los fines de semana. Pero ha sido sin lugar a dudas la decisi&#243;n que m&#225;s impacto ha tenido en toda mi vida, y no s&#243;lo a nivel profesional.</p><p>Finalmente, desde un punto de vista puramente t&#233;cnico, prepararme para entrevistas t&#233;cnicas mejor&#243; mis fundamentos, tanto de algoritmos y estructuras de datos como de dise&#241;o de sistemas. Y, al menos en mi caso, eso me ha ayudado much&#237;simo en mi d&#237;a a d&#237;a como ingeniero.</p><h2>5. Dar la milla extra de forma estrat&#233;gica</h2><p>En mi primera empresa, hacer horas extras era lo normal. Hab&#237;a una cierta presi&#243;n social por demostrar que &#8220;ten&#237;as puesta la camiseta&#8221;. Y lo peor es que muchos ni siquiera estaban trabajando, s&#243;lo &#8220;esperando&#8221; a que el resto se levantase para irse.</p><p>El extremo contrario tambi&#233;n me parece negativo. Negarse siempre a dar un minuto m&#225;s de tu tiempo, incluso cuando tu equipo est&#225; en problemas.</p><p>La estrategia que siempre me funcion&#243; es la de <strong>&#8220;dar la milla extra&#8221; cuando tiene sentido</strong>, cuando hay un beneficio real por hacerlo.</p><p>Por ejemplo, al <strong>entrar en un nuevo equipo</strong>. Las primeras impresiones pesan mucho y un esfuerzo extra al principio te da &#8220;cr&#233;dito&#8221; para el futuro.</p><p>Otro ejemplo es cuando <strong>tu equipo, o un compa&#241;ero, tiene problemas</strong>. Ofrecer tu ayuda para salir de una crisis tiene un gran impacto en tu imagen dentro del equipo.</p><p>Esos esfuerzos puntuales valen mucho m&#225;s que hacer horas extra por hacer, sin un prop&#243;sito claro. Encontrar ese equilibrio es dif&#237;cil, pero marca una diferencia enorme.</p><p>Gracias a esto, siempre se me ha visto como un jugador de equipo, resolutivo y fiable. Y mis managers siempre han respondido ofreci&#233;ndome mucha autonom&#237;a y flexibilidad para trabajar como a m&#237; me gusta.</p><h2>6. No tener miedo a salir de la zona de confort</h2><p>Esto es muy <em>clich&#233;</em>, lo s&#233; xD. Pero realmente ha sido un punto en el que siempre me he esforzado, y que me ha dado grandes resultados.</p><p>Siempre he sido un chaval t&#237;mido. Cosas como hablar con desconocidos, presentar en p&#250;blico, o viajar s&#243;lo me daban p&#225;nico. Por eso <strong>me obligu&#233; a enfrentarme a esas situaciones</strong>: me fui  de &#8220;mini erasmus&#8221; al acabar la carrera, me apunt&#233; a actividades donde ten&#237;a que hablar en p&#250;blico y sal&#237; m&#225;s de fiesta para hablar con desconocidos (a ver qu&#233; otro creador de contenido te recomienda eso xD). Poco a poco, dej&#233; de ver estas cosas como algo imposible.</p><p>Con las entrevistas me pasaba igual. Me pon&#237;an nervioso, y en ingl&#233;s todav&#237;a m&#225;s. Para mejorar, hice decenas de entrevistas con empresas que ni me interesaban, s&#243;lo para practicar.</p><p>Intento mantener siempre esa mentalidad: <strong>recibir el cambio con los brazos abiertos y adaptarme r&#225;pido</strong>. En nuestro sector y en la vida en general, la pregunta no es si algo te va a incomodar, sino cu&#225;ndo. Cuanto m&#225;s entrenado est&#233;s para enfrentarte a ello, menos sufrir&#225;s cuando llegue el momento en el que de verdad importe.</p><div><hr></div><h2>Para terminar</h2><p>Yo no soy ning&#250;n prodigio. Empec&#233; como cualquiera, cobrando poco, sin contactos y sin tener mucha idea de inform&#225;tica. Pero estas 6 estrategias me llevaron a donde estoy hoy.</p><p>Ojal&#225; alguna de ellas te ayude a avanzar un poco m&#225;s r&#225;pido. Y si te apetece, <strong>cu&#233;ntame qu&#233; puntos han marcado m&#225;s tu carrera</strong>. Me encantar&#225; leerte!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a <em>Status 418</em>. Gracias por el apoyo!</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></p>]]></content:encoded></item><item><title><![CDATA[#1 - Durante años me puse objetivos equivocados]]></title><description><![CDATA[Prop&#243;sitos de a&#241;o nuevo, frustraci&#243;n y por qu&#233; empiezo esta newsletter as&#237;.]]></description><link>https://newsletter.danielblanco.dev/p/1-durante-anos-me-puse-objetivos-equivocados</link><guid isPermaLink="false">https://newsletter.danielblanco.dev/p/1-durante-anos-me-puse-objetivos-equivocados</guid><dc:creator><![CDATA[Daniel Blanco]]></dc:creator><pubDate>Wed, 07 Jan 2026 17:01:08 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6c0322e5-5b5d-41ce-a85d-9eab945c1509_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>En esta entrega voy a hablarte de c&#243;mo sol&#237;an ser mis objetivos anuales, y por qu&#233; creo que lo hac&#237;a fatal. Adem&#225;s, como manda la tradici&#243;n de a&#241;o nuevo, echar&#233; un vistazo a los objetivos principales del a&#241;o pasado y los de este 2026.</p><div><hr></div><h2>Antes de seguir</h2><p>Esta es la primera entrega de Status 418. Aqu&#237; escribir&#233; sobre:</p><ul><li><p>Arquitectura de Software y Dise&#241;o de Sistemas</p></li><li><p>Tecnolog&#237;a y programaci&#243;n en general</p></li><li><p>Mis experiencias en Salesforce y MongoDB</p></li><li><p>Proyectos y un poco de vida personal</p></li></ul><p>Siempre desde un enfoque directo, sincero y personal.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Bienvenido y muchas gracias por tu apoyo! Suscr&#237;bete para recibir una entrega semanal</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><h2>Un repaso a los objetivos de 2025</h2><p>El a&#241;o pasado fue bastante loco para m&#237;. Cumpl&#237; mi primer a&#241;o en MongoDB y en Viena, me cas&#233; y viaj&#233; mucho. Demasiado incluso (s&#237;, ya estoy poniendo excusas de por qu&#233; no cumpl&#237; mis objetivos xD)</p><p>Me puse muchos objetivos el a&#241;o pasado, as&#237; que mencionar&#233; s&#243;lo los principales.</p><h3>1. Sacar dos cursos nuevos</h3><p>El principal objetivo era crear dos cursos nuevos para Udemy. S&#243;lo lo hab&#237;a conseguido el a&#241;o que empec&#233; en esto, en 2021.</p><p>&#10060; S&#243;lo publiqu&#233; el curso de <a href="https://danielblanco.dev/link/arq_avanzada">Arquitectura Software Avanzada</a></p><p>Crear un curso implica much&#237;simo trabajo, al acabar uno necesito desconectar y no empezar otro hasta encontrar un tema valioso y sentirme motivado. Como eso no sucedi&#243;, s&#243;lo publiqu&#233; uno.</p><h3>2. Conseguir 43,000 inscripciones totales</h3><p>Era un objetivo complicado porque no depende al 100% de m&#237; (uno de los errores que comentar&#233; m&#225;s tarde), pero se consigui&#243; gracias a un gran inicio de a&#241;o.</p><p>&#9989; 44,024 / 43,000 </p><h3>3. Llegar a 28,000 seguidores en X</h3><p>Era mi meta m&#225;s ambiciosa, porque empec&#233; el a&#241;o con 18,000 seguidores en <a href="https://x.com/DanielBlancoSWE">@DanielBlancoSWE</a>. Crecer en redes requiere de mucha constancia y tambi&#233;n suerte, no depende al 100% del contenido que publiques.</p><p>Aunque no llegu&#233; a la meta, estoy contento porque me qued&#233; bastante cerca, y lo m&#225;s importante, conoc&#237; gente incre&#237;ble este a&#241;o gracias a esa red social!</p><p>&#10060; 27,700 / 28,000</p><h3>4. Leer doce libros en alem&#225;n</h3><p>La mayor fumada del a&#241;o, no s&#233; en qu&#233; estar&#237;a pensando, pero con un nivel que no llegaba al A1 no ten&#237;a ning&#250;n sentido xD</p><p>&#10060; 5 / 12</p><div><hr></div><h2>Mis errores con los objetivos</h2><p>Los que hemos visto son s&#243;lo 4 de los 12 objetivos que me puse. En total cumpl&#237; 5, as&#237; que al acabar el a&#241;o me par&#233; a revisar cada uno para entender qu&#233; hab&#237;a fallado y qu&#233; pod&#237;a mejorar en mi planteamiento.</p><p>Algunos errores fueron evidentes desde el principio. Otros no tanto.</p><h3>Demasiadas metas</h3><p>El que mucho abarca poco aprieta. Todas mis metas estaban relacionadas con h&#225;bitos o proyectos personales. No suelo ponerme metas sobre mi trabajo.</p><p>Teniendo en cuenta que el trabajo ya me ocupa 8 horas al d&#237;a, el margen real para avanzar en objetivos personales es limitado si quiero tener un m&#237;nimo de vida.</p><p>Ponerme <strong>12 objetivos fue una locura</strong>. Algunos ni los empec&#233;, como aprender Golang o sacarme el B1 de alem&#225;n.</p><p>Esto me gener&#243; cierta ansiedad y la sensaci&#243;n de tener que<strong> cumplir objetivos por cumplir</strong>, s&#243;lo para sentirme &#8220;productivo&#8221;, hasta que me d&#237; cuenta de mi error y descart&#233; varios de ellos.</p><p>Mirando atr&#225;s, habr&#237;a sido mucho mejor <strong>definir 4 o 5 objetivos importantes</strong> y centrarme de verdad en ellos.</p><h3>Objetivos que no dependen de m&#237;</h3><p>Me puse demasiados objetivos que depend&#237;an de factores externos sobre los que ten&#237;a poco o ning&#250;n control:</p><ul><li><p>28k seguidores en X: Depende de la constancia, pero tambi&#233;n de la suerte y del algoritmo.</p></li><li><p>43,000 inscripciones y facturaci&#243;n en Udemy: depende en gran parte de las recomendaciones y de la publicidad que hace la propia plataforma.</p></li><li><p>Llegar a cierto patrimonio: teniendo el 95% de mi patrimonio invertido en ETFs, dependo totalmente de c&#243;mo vaya el mercado.</p></li></ul><p>Establecer objetivos as&#237; s&#243;lo consigue dos cosas: <strong>frustrarte si no los consigues</strong> o darte una falsa sensaci&#243;n de avance si salen bien, al menos en mi caso.</p><p>Y ojo, no digo que estas m&#233;tricas sean in&#250;tiles. Es &#250;til echarles un vistazo y analizar si tu esfuerzo tiene resultados o si debes cambiar el enfoque.</p><p>Pero si tus metas son, como en mi caso, h&#225;bitos y side projects y tu tiempo es muy limitado, puedes acabar frustrado muy f&#225;cilmente si los resultados no acompa&#241;an. Este tipo de metas tienen m&#225;s sentido si dedicas el 100% de tu tiempo a ellas.</p><h3>Metas difusas o mal definidas</h3><p>Esto es de primero de planificaci&#243;n, pero a&#250;n as&#237; fall&#233; en algunas. En parte por pereza y en parte por no dedicar tiempo a definir bien las metas. Adem&#225;s, al ser objetivos secundarios, tampoco les di demasiada prioridad.</p><p>&#8220;Aprender Golang&#8221; o &#8220;poder mantener una conversaci&#243;n b&#225;sica en alem&#225;n&#8221; son dos ejemplos de metas s&#250;per difusas.</p><p>Cuando una meta est&#225; mal definida, es muy f&#225;cil mover el baremo y considerarla cumplida cuando realmente no lo est&#225;.</p><p>Acab&#243; el a&#241;o y no tengo claro si puedo o no mantener una conversaci&#243;n b&#225;sica en alem&#225;n. Mi esposa me dice que s&#237;, pero mi experiencia en la vida real me dice lo contrario xD.</p><div><hr></div><h2>Mis metas para 2026</h2><p>Defin&#237; mis metas para este nuevo a&#241;o teniendo en cuenta los errores del anterior:</p><ul><li><p>S&#243;lo 4 o 5 metas importantes.</p></li><li><p>Que dependan al 100% de m&#237;.</p></li><li><p>Nada de metas difusas.</p></li></ul><p>La lista final es la siguiente:</p><ol><li><p><strong>Sacar un nuevo curso. </strong>Crear contenido de valor para mis estudiantes sigue siendo la primera prioridad del a&#241;o.</p></li><li><p><strong>Publicar </strong><em><strong>Status 418</strong></em><strong> semanalmente. </strong>Esta newsletter tendr&#225; una prioridad alta. Siempre me gust&#243; escribir y creo que es una gran forma de organizar mis ideas mientras sigo creando comunidad. Adem&#225;s, apost&#233; con un amigo una cena por cada semana que falle. No puedo fallar si no quiero arruinarme xD.</p></li><li><p><strong>Publicar 5k tweets durante el a&#241;o. </strong>Quiero seguir construyendo una comunidad en espa&#241;ol, y X / Twitter es lo m&#225;s cercano y c&#243;modo que he probado. Me voy a enfocar en la constancia durante todo el a&#241;o, no en el n&#250;mero de seguidores.</p></li><li><p><strong>Convertir <a href="https://apps.apple.com/us/app/deep-focus-todo-app-blocker/id6755938923">Deep Focus</a> en algo que use a diario. </strong>En diciembre estuve trabajando en una app de productividad. Acabo de publicarla en la <a href="https://apps.apple.com/us/app/deep-focus-todo-app-blocker/id6755938923">App Store</a> y quiero evolucionarla hasta que disfrute us&#225;ndola en mi d&#237;a a d&#237;a.</p></li></ol><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/DanielBlancoSWE/status/2008204409411633523?s=20&quot;,&quot;full_text&quot;:&quot;Bloquea distracciones hasta completar tus tareas con Deep Focus &#128640;\n\n- Elige qu&#233; apps y webs bloquear\n- A&#241;ade tus tareas\n- Las distracciones no se desbloquean hasta que las completes\n\nIncluye modo Pomodoro &#9200;\n\nDisponible en la App Store. Enlace en el siguiente tweet&#128071; &quot;,&quot;username&quot;:&quot;DanielBlancoSWE&quot;,&quot;name&quot;:&quot;Daniel Blanco &#128187;&#129302;&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1979168625794686976/BH9Ht0eZ_normal.jpg&quot;,&quot;date&quot;:&quot;2026-01-05T15:50:16.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/G96SPBcXAAA1Yq6.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/BYomETuF5u&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:13,&quot;retweet_count&quot;:12,&quot;like_count&quot;:124,&quot;impression_count&quot;:22847,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><ol start="5"><li><p><strong>Sacar un mapa para Fortnite.</strong> Tengo un amigo que es creador de contenido de Fortnite y queremos colaborar para lanzar un mapa en la plataforma. Ya avanc&#233; bastante en 2025, pero no llegu&#233; a publicarlo. Mi meta m&#225;s random, sin lugar a duda.</p></li></ol><h2>En resumen</h2><p>Este a&#241;o voy a centrarme en menos objetivos, mejor definidos y que pueda medir y controlar al 100%. Con este enfoque, espero avanzar en mis proyectos personales sin la presi&#243;n innecesaria que provocaban las metas de otros a&#241;os.</p><p>Revisaremos estos objetivos al empezar 2027 y veremos qu&#233; tal funcion&#243; el cambio.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.danielblanco.dev/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">Si te apetece seguir leyendo sobre arquitectura, tecnolog&#237;a y mis movidas personales, puedes suscribirte a <em>Status 418</em>. Gracias por el apoyo!</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></channel></rss>