<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: jose muñoz</title>
    <description>The latest articles on DEV Community by jose muñoz (@jose_muoz_7408dd1b5bd4c9).</description>
    <link>https://dev.to/jose_muoz_7408dd1b5bd4c9</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3297431%2Fe7e0a41d-929d-4520-956b-fc65039d35fe.png</url>
      <title>DEV Community: jose muñoz</title>
      <link>https://dev.to/jose_muoz_7408dd1b5bd4c9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jose_muoz_7408dd1b5bd4c9"/>
    <language>en</language>
    <item>
      <title>Sin Containers no hay paraíso.</title>
      <dc:creator>jose muñoz</dc:creator>
      <pubDate>Wed, 05 Nov 2025 05:30:13 +0000</pubDate>
      <link>https://dev.to/jose_muoz_7408dd1b5bd4c9/sin-containers-no-hay-paraiso-3c7c</link>
      <guid>https://dev.to/jose_muoz_7408dd1b5bd4c9/sin-containers-no-hay-paraiso-3c7c</guid>
      <description>&lt;p&gt;La primera vez que escuché hablar de Docker fue gracias a uno de mis mentores,fue como cuando alguien te recomienda una serie buenísima… y tú dices “sí, la voy a ver”, pero nunca la ves.&lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/WUSpcgNWWqc"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;Hasta que un día, recibí una aplicación que debía mantener. El deploy se hacía con Docker.&lt;/p&gt;

&lt;p&gt;En ese momento tenía dos caminos:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Seguir los comandos del manual sin entender nada. &lt;/li&gt;
&lt;li&gt;Aprovechar la oportunidad para aprender el porqué detrás del cómo.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Después de un tiempo, decidí hacer lo segundo.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Docker no es solo una herramienta, es un superpoder.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  El poder del encapsulamiento
&lt;/h2&gt;

&lt;p&gt;Pero antes de seguir, vale la pena responder la gran pregunta:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿qué es Docker realmente?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Imagina que tu aplicación es como un platillo de cocina.&lt;br&gt;
Necesita ingredientes (dependencias), una receta (tu código) y una cocina con las mismas condiciones (el ambiente donde se ejecuta).&lt;/p&gt;

&lt;p&gt;El problema es que cada computadora es una cocina distinta:&lt;br&gt;
en una falta la harina, en otra el horno calienta demasiado, y en otra ni siquiera hay gas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Docker soluciona eso creando una cocina portátil.
&lt;/h2&gt;

&lt;p&gt;Empaqueta todo lo necesario —el código, las librerías / el ambiente dentro de un contenedor que puedes llevar y ejecutar donde sea.&lt;br&gt;
Y lo mejor: siempre sale igual.&lt;/p&gt;

&lt;p&gt;Técnicamente, Docker utiliza contenedores, entornos aislados que comparten el mismo kernel del sistema operativo, pero se comportan como si fueran máquinas independientes.&lt;br&gt;
Eso los hace ligeros, rápidos de iniciar y consistentes entre desarrollo, pruebas y producción.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;En resumen:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Docker te deja decirle al mundo “mi aplicación corre aquí”&lt;br&gt;
y saber que también correrá allá.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3a1253g4jx4ctjic3d9w.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3a1253g4jx4ctjic3d9w.webp" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Lo que realmente enseña Docker
&lt;/h2&gt;

&lt;p&gt;Más allá de la magia técnica, Docker te enseña algo que todos los desarrolladores aprendemos tarde o temprano: los entornos importan.&lt;br&gt;
No basta con que el código funcione, tiene que funcionar igual sin importar dónde se ejecute.&lt;/p&gt;

&lt;p&gt;Y eso es precisamente lo que Docker hace tan bien.&lt;br&gt;
Empaqueta tu aplicación, tus dependencias, tu configuración.&lt;/p&gt;

&lt;p&gt;Lo que antes requería una lista de pasos, versiones y oraciones tipo:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Primero instala esto, luego corre esto otro&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;ahora se reduce a:&lt;br&gt;
&lt;code&gt;docker run calculadora&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Y listo.&lt;br&gt;
Simplemente funciona.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Antes de Docker:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;“No sé por qué no te corre.”&lt;/p&gt;

&lt;p&gt;“En mi máquina sí funciona.”&lt;/p&gt;

&lt;p&gt;“Debe ser tu versión de Node.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Después de Docker:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;“Corre el contenedor y listo.”&lt;/p&gt;

&lt;p&gt;Silencio… porque simplemente funciona.&lt;/p&gt;

&lt;p&gt;Docker te da algo que muy poco he visto: consistencia.&lt;/p&gt;

&lt;p&gt;Esa sensación de que lo que probaste localmente será exactamente lo que verás en producción.&lt;br&gt;
Y eso, para cualquiera parecera un milagro.&lt;/p&gt;

&lt;p&gt;Porque con Docker ya no hay “funciona en mi máquina”.&lt;br&gt;
Hay algo mucho mejor:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Funciona en todas.”&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>programming</category>
      <category>docker</category>
      <category>beginners</category>
      <category>spanish</category>
    </item>
    <item>
      <title>La cima inalcanzable-Perspectiva de un junior</title>
      <dc:creator>jose muñoz</dc:creator>
      <pubDate>Wed, 06 Aug 2025 02:54:19 +0000</pubDate>
      <link>https://dev.to/jose_muoz_7408dd1b5bd4c9/la-cima-inalcanzable-perspectiva-de-un-junior-24p9</link>
      <guid>https://dev.to/jose_muoz_7408dd1b5bd4c9/la-cima-inalcanzable-perspectiva-de-un-junior-24p9</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;"No hay cima, solo nuevas montañas por escalar."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;La industria tecnológica avanza constantemente. Cada año surge algo nuevo, sea lenguajes, frameworks, metodologías, herramientas. Para quienes estamos dando nuestros primeros pasos como desarrolladores, esta velocidad puede sentirse como una oportunidad... pero también como una carga.&lt;/p&gt;

&lt;h2&gt;
  
  
  Aprender constantemente: parte del oficio
&lt;/h2&gt;

&lt;p&gt;Una de las primeras realidades que se asimilan al entrar en este mundo es que nunca vas a saberlo todo. Incluso después de meses o años de estudio, siempre hay una sensación de que falta algo por aprender. No importa cuánto tiempo lleves programando: siempre habrá algo nuevo que entender, una nueva herramienta que explorar, una nueva tendencia que analizar.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Avanzar es obligatorio, pero descansar no siempre es una opción."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Esto no necesariamente es algo negativo. Es parte de la naturaleza del campo. Trabajar en tecnología implica comprometerse con el aprendizaje constante. No como una excepción, sino como una norma.&lt;/p&gt;

&lt;h2&gt;
  
  
  Una espada de doble filo
&lt;/h2&gt;

&lt;p&gt;Esta dinámica tiene ventajas claras. Por un lado, siempre hay espacio para crecer, reinventarse y adaptarse. Es difícil quedarse estancado cuando el entorno te obliga a evolucionar.&lt;br&gt;
Por otro lado, esta misma presión puede generar ansiedad o frustración. Especialmente cuando se siente que lo aprendido rápidamente queda desactualizado, o cuando el tiempo no alcanza para mantenerse al ritmo del cambio.&lt;/p&gt;

&lt;p&gt;En ese sentido, la tecnología funciona como una espada de doble filo: te ofrece herramientas para avanzar y mejorar, pero también puede hacerte sentir que nunca es suficiente.&lt;/p&gt;

&lt;h2&gt;
  
  
  La experiencia no lo resuelve todo
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;"La sabiduría está en reconocer lo que no se sabe."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A medida que interactúas con profesionales más experimentados, descubres que incluso quienes llevan años en la industria enfrentan dudas similares.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;El conocimiento profundo en ciertas áreas convive con brechas en otras.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;La experiencia ayuda, sí, pero no elimina la complejidad del entorno ni garantiza certezas absolutas.&lt;/p&gt;

&lt;p&gt;Aceptar eso es útil. No como resignación, sino como ajuste de expectativas. No se trata de dominarlo todo, sino de construir un criterio sólido para moverse con confianza entre lo que sí conoces y lo que aún no.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lo técnico es solo una parte
&lt;/h2&gt;

&lt;p&gt;También vale la pena recordar que no es solo saber escribir código. Un buen desarrolador es quien trabaja en equipo, comunica ideas con claridad, entiende las necesidades de negocio, mantiene sistemas, toma decisiones técnicas con impacto real.&lt;/p&gt;

&lt;p&gt;En ese sentido, el aprendizaje no se limita a lo puramente técnico. Y a veces, saber en qué enfocarse (y qué ignorar por ahora) es más valioso que intentar absorberlo todo al mismo tiempo.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusión: avanzar sin la necesidad de llegar&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;En tecnologia, no hay una cima definitiva. Siempre habrá una nueva herramienta, una mejor forma de hacer las cosas, o una tecnología emergente. Pero más que una desventaja, esto puede verse como una característica estructural del oficio.&lt;/p&gt;

&lt;p&gt;La clave no está en intentar abarcarlo todo, sino en avanzar con criterio, mantener una mentalidad abierta y saber que estar aprendiendo constantemente no es señal de debilidad, sino parte del trabajo.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"El equilibrio entre técnica y criterio es lo que define a un profesional."&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>career</category>
      <category>learning</category>
    </item>
    <item>
      <title>Herramientas con IA-Perspectiva de un junior</title>
      <dc:creator>jose muñoz</dc:creator>
      <pubDate>Thu, 26 Jun 2025 16:52:03 +0000</pubDate>
      <link>https://dev.to/jose_muoz_7408dd1b5bd4c9/herramientas-con-ia-perspectiva-de-un-junior-1kkc</link>
      <guid>https://dev.to/jose_muoz_7408dd1b5bd4c9/herramientas-con-ia-perspectiva-de-un-junior-1kkc</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;La comodidad es enemiga del aprendizaje.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;La premisa de las herramientas con IA —como Cursor, ChatGPT o V0— es amplificar tus habilidades. Pero ¿cómo amplificas algo que aún estás desarrollando?&lt;br&gt;
Ahí es donde aparece el dilema para quienes estamos empezando.&lt;/p&gt;

&lt;p&gt;Hace poco le pregunté a un compañero de la universidad por qué usaba estas herramientas, y su respuesta me pareció interesante:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Me ahorra tiempo. Me ahorro el tener que aprenderlo."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Y sí, a corto plazo eso suena como un beneficio real: menos tiempo investigando, más productividad, menos frustración.&lt;br&gt;
Pero a largo plazo, esa factura llega.&lt;/p&gt;




&lt;h2&gt;
  
  
  ¿Por qué usar herramientas de IA desde el inicio puede ser desventajoso?
&lt;/h2&gt;

&lt;p&gt;El beneficio inmediato es claro: desarrollo más rápido, bugs resueltos casi al instante.&lt;br&gt;
Pero &lt;strong&gt;¿quién entiende realmente el código?&lt;/strong&gt;&lt;br&gt;
¿Quién hizo el razonamiento para solucionar el problema?&lt;br&gt;
Muchas veces, &lt;strong&gt;no fuiste tú&lt;/strong&gt;, fue el agente.&lt;/p&gt;

&lt;p&gt;Y aquí nace una pregunta clave, que define dos perfiles distintos en este nuevo ecosistema:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;¿La IA es tu ayudante, o tú eres el ayudante de ella?&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Usar herramientas con IA no es el problema.
&lt;/h2&gt;

&lt;p&gt;El problema aparece cuando "desarrollas" sin tener idea de lo que está pasando.&lt;br&gt;
Cuando el único que tiene el contexto real es el agente.&lt;br&gt;
Todos caemos en esto en mayor o menor medida: la posibilidad de crear algo sin dominar la tecnología es &lt;strong&gt;demasiado atractiva&lt;/strong&gt;, sobre todo cuando estás empezando y lo único que quieres es entrar al mercado laboral.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Quien a hierro mata, a hierro muere.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Para sorpresa de pocos, el vibecoding es muy común entre desarrolladores junior.&lt;br&gt;
En la búsqueda de resultados, lo único que importa es que el código &lt;strong&gt;funcione&lt;/strong&gt;, no &lt;strong&gt;por qué&lt;/strong&gt; funciona.&lt;br&gt;
Pero si solo te enfocas en eso y no en entender, &lt;strong&gt;tu crecimiento técnico se estanca&lt;/strong&gt;.&lt;br&gt;
Y mientras herramientas como Cursor entienden qué hacer y cómo hacerlo, tú seguirás siendo un junior.&lt;/p&gt;




&lt;h2&gt;
  
  
  ¿Entonces, cómo crecer usando estas herramientas?
&lt;/h2&gt;

&lt;p&gt;Recientemente vi una entrevista de un ingeniero distinguido de google, en donde menciona una frase con la que resoné.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Nunca me robaría a mi mismo de los fundamentos&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/Sku9aKQD5cI"&gt;
  &lt;/iframe&gt;
&lt;br&gt;
Ese es el punto. Las herramientas están ahí para ayudarte, pero no para pensar por ti.&lt;br&gt;
No se trata de no usarlas, sino de &lt;strong&gt;no delegar tu aprendizaje&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>development</category>
      <category>ai</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
