Sunday, March 8, 2026

5 Tips para seguir siendo relevante en la era de la IA

Cada vez se escribe menos código a mano. La pregunta no es si la IA va a cambiar tu trabajo — ya lo está haciendo. La pregunta es: ¿qué valor vas a aportar tú?


1. Aprende a usar la IA — pero sobre todo, entiende lo que genera

Usar GitHub Copilot o ChatGPT para escribir código es fácil. Cualquiera puede hacerlo hoy. El problema es que la IA se equivoca, y se equivoca con mucha confianza. Genera código que compila, que se ve correcto, pero que tiene bugs sutiles, vulnerabilidades de seguridad o que simplemente no escala.

Tu valor como developer ya no está en escribir la línea de código — está en saber si esa línea debería existir, y si está bien escrita. Eso requiere criterio. Y el criterio solo viene de entender profundamente lo que estás construyendo.

Si no tienes el conocimiento para detectar cuando la IA se equivoca, entonces básicamente eres un copypaste humano. Y eso sí lo puede hacer la IA sola.

→ La IA es un amplificador: amplifica a los buenos developers y expone a los que no saben lo que hacen.


2. El conocimiento profundo en tecnología nunca fue tan importante


Paradójicamente, en la era donde la IA "escribe el código por ti", entender los fundamentos de la tecnología se vuelve más importante, no menos. Cuando la IA genera una solución con O(n²) de complejidad donde necesitabas O(log n), ¿lo vas a detectar?

Estructuras de datos, algoritmos, arquitectura de sistemas, patrones de diseño, redes, sistemas operativos. Todo eso que quizás sentiste que podías saltarte porque "igual puedo buscar en Stack Overflow" — ahora es exactamente lo que te diferencia.

La IA puede completar código, pero no puede reemplazar la intuición que te dice que algo está mal diseñado desde la base. Esa intuición se construye con años de estudio y práctica real.

→ Invierte tiempo en entender cómo funcionan las cosas por dentro. Ese conocimiento no se puede generar con un prompt.


3. Sé Full-Stack en el sentido amplio del término

Full-Stack ya no significa solo "frontend y backend". Significa entender el stack completo: desde el código hasta la infraestructura donde corre.

Los developers que más valor aportan hoy son los que pueden razonar sobre DevOps, Cloud, Seguridad, Performance, Bases de Datos, Costos de infraestructura — y cómo todo eso interactúa. La IA puede generar una función, pero no puede diseñar un sistema resiliente con tus restricciones específicas de negocio.

Un developer que entiende que su código va a correr en Kubernetes, que necesita ser idempotente, que tiene un SLA de 99.9% y que debe cumplir con GDPR — ese developer es muy difícil de reemplazar.


→ El developer del futuro es un generalista profundo: sabe de todo y profundiza donde hace falta.


4. No hay sustituto para construir cosas reales

Puedes ver todos los tutoriales del mundo. Puedes tomar todos los cursos de Udemy. Pero hasta que no hayas debuggeado tu propio servidor a las 2am porque se cayó en producción, no entiendes realmente lo que significa construir software.

Empieza a construir proyectos por tu cuenta. No importa que sean pequeños, no importa que nadie los use. Construye una CLI tool, un bot, una API, un side project que resuelva un problema que tú tengas. La experiencia real de tomar decisiones de diseño, gestionar deuda técnica, manejar datos reales — eso no se puede simular.

Además, los proyectos reales te van a enseñar cosas que ningún tutorial menciona: los edge cases, los problemas de integración, los tradeoffs reales entre velocidad y calidad.

→ La experiencia acumulada es un moat que la IA no puede cruzar. Empieza a construirla hoy.


5. Muestra lo que haces y por qué importa

En un mercado donde cada vez más gente puede generar código con IA, la diferencia va a estar en quién puede demostrar que sabe lo que está haciendo y por qué sus decisiones son correctas.

Escribe sobre lo que aprendes. Documenta tus proyectos. Explica las decisiones técnicas que tomaste y las alternativas que descartaste. Comparte lo que construyes en GitHub. Habla en meetups locales. Crea una presencia técnica real que respalde tu trabajo.

No se trata de hacer personal branding vacío. Se trata de que cuando alguien vea tu trabajo, quede claro que detrás hay un developer que piensa, que razona, y que tiene criterio — y que eso vale mucho más que alguien que solo sabe invocar un LLM.

→ Tu portafolio, tu blog, tus contribuciones open source: eso es evidencia de que eres el tipo de developer que la IA no puede reemplazar.



La IA cambia el cómo, no el qué

Seguimos necesitando software que resuelva problemas reales, que escale, que sea seguro, que sea mantenible. Los developers que entiendan eso — y que usen la IA como herramienta, no como muleta — van a ser los más valiosos de la próxima década.


Monday, January 26, 2026

Introbook: Construcción y Despliegue

Esta área se enfoca en la automatización de los procesos de construcción del software, las pruebas y su despliegue en los diferentes entornos. La automatización busca agilizar la entrega, reducir errores humanos y aumentar la frecuencia de las liberaciones.

1. Integración continua

La integración continua (CI) es una práctica de desarrollo de software en la que los desarrolladores integran su código en un repositorio compartido de manera frecuente. Este proceso ayuda a detectar errores y mejorar la calidad del software al permitir una gestión más eficiente del código y permitir pruebas automáticas.

Acciones
  • Nivel 1:
    • Integración continua con pipeline estándar (que realice la compilación, un análisis estático y ejecute las pruebas unitarias) sobre rama Develop.
    • Integración continua con pipeline estándar (que realice la compilación, un análisis estático y ejecute las pruebas unitarias) sobre rama Main.
  • Nivel 2:
    • Integración continua con pipeline estándar (que realice la compilación, un análisis estático y ejecute las pruebas unitarias) sobre las ramas no principales adoptadas de acuerdo a la metodología.
    • Análisis estático configurado en el pipeline. El resultado del Quality Gate se informa en el pipeline o lo deja inestable.
    • Análisis en el pipeline de vulnerabilidades en artefactos externos o imágenes de contenedores. Con impacto (fallo/inestable) si se introducen nuevas vulnerabilidades
    • El pipeline se impacta (falla/inestable) si no se alcanza el Quality Gate establecido
  • Nivel 3:
    • La definición del proceso IC está versionada y en el SCV. IC con enfoque as code (Jenkinsfile, yaml, etc)
    • Pruebas unitarias automáticas integradas en el pipeline e impacto al no cumplir con el porcentaje de cobertura mínimo.
    • Pruebas funcionales ejecutadas automáticamente integradas en el pipeline con impacto y visualización de resultados

2. Estrategia de ejecución del pipeline

Definir cómo se orquestan y ejecutan los diferentes pasos dentro de un pipeline de CI/CD (construcción, pruebas, análisis de seguridad, despliegue, etc.). Esto incluye la definición de los triggers, las etapas, los flujos de trabajo y las herramientas utilizadas en cada fase.

3. Entrega continua

Extiende la integración continua automatizando el proceso de preparación para la liberación del software a los entornos de desarrollo o prueba. Implica que el software está siempre en un estado potencialmente desplegable basado en las ramas de integración definidas.

4. Despliegue continuo

Va un paso más allá de la entrega continua, automatizando el despliegue del software a los entornos de producción después de que ha pasado por todas las etapas de pruebas y validaciones.

Monday, January 19, 2026

Introbook: Versioning

Esta área se centra en la gestión y el seguimiento de los cambios realizados a lo largo del ciclo de vida del desarrollo de software y la infraestructura. Un versionamiento adecuado es fundamental para la colaboración, la trazabilidad y la capacidad de revertir cambios en caso de ser necesario.

1. Control de versiones del código fuente

El uso de sistemas de control de versiones (como Git) para gestionar los cambios en el código fuente de las aplicaciones. Permite llevar un historial de modificaciones, colaborar de manera eficiente entre desarrolladores, crear ramas para el desarrollo de nuevas funcionalidades o correcciones, y fusionar los cambios de forma controlada.

Acciones
  • Nivel 1:
    • Se cuenta con alguna herramienta para control de versiones de código fuente.
  • Nivel 2:
    • Se realiza sincronización de código asegurando que todos trabajen sobre la versión más reciente (uso de pulls y pushes regulares).

Qué es Git

Es un software de control de versiones, su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos (También puedes trabajar solo no hay problema). Existe la posibilidad de trabajar de forma remota y una opción es GitHub. 

Flujo de trabajo con Git

Tenemos nuestro directorio local (una carpeta en nuestro pc) con muchos archivos, Git nos irá registrando los cambios de archivos o códigos cuando nosotros le indiquemos, así podremos viajar en el tiempo retrocediendo cambios o restaurando versiones de código, ya sea en Local o de forma Remota (servidor externo). 


¿Qué es GitHub?

Es una plataforma de desarrollo colaborativo para alojar proyectos (en la nube) utilizando el sistema de control de versiones Git.


Comando esenciales






2. Gestión de ramas

En la gestión de ramas de código, las ramas actúan como indicadores ligeros que permiten separar y organizar el trabajo en desarrollo. Una vez que se completa una tarea en una rama específica, es fundamental fusionar estos cambios de vuelta a la rama principal del equipo. Aunque existen diversas metodologías válidas para llevar a cabo este proceso, es crucial contar con una estrategia bien definida que sea comprendida por todos los miembros del equipo. Esto asegura una colaboración eficiente y un flujo de trabajo más organizado dentro del entorno de DevOps.

Acciones
  • Nivel 1:
    • Se cuenta con una estrategia de gestión de ramas conocida por todo el equipo y que cubre las necesidades del proyecto (GitHub Flow, Streamline, Gitflow, Trunk-Based Development o alguna metodología similar).
  • Nivel 2:
    • Borrado de ramas al integrar con ramas principales
  • Nivel 3:
    • Uso de etiquetas (tag) en la rama principal
    • Uso de merge/pull requests

Links

3. Control de versiones de entregables

El versionado de entregables es un aspecto fundamental en la gestión de proyectos de desarrollo de software, ya que permite mantener un control claro sobre las diferentes versiones de un producto a lo largo de su ciclo de vida. Este proceso no solo ayuda a identificar y organizar las actualizaciones de las funcionalidades, sino que también facilita la reversibilidad en caso de que surjan problemas con nuevas versiones.


4. Gestión de artefactos

La gestión de artefactos es un proceso crucial en el desarrollo de software que se refiere a la organización, almacenamiento y control de los diversos productos generados durante el ciclo de vida del proyecto. Estos artefactos pueden incluir código fuente, librerías, documentación, configuraciones y
cualquier otro componente que sea relevante para la construcción y despliegue del software. Implementar prácticas efectivas de gestión de artefactos para asegurar que todos los miembros del equipo tengan acceso a las versiones correctas y actualizadas de los mismos, así como para facilitar la trazabilidad y el control de cambios.


Prácticas técnicas de DevOps

 



El gráfico muestra un flujo completo de prácticas técnicas de DevOps, organizado como una cadena de 10 etapas conectadas entre sí. Representa el ciclo de vida del software, desde el código hasta la operación y mejora continua.

1. Versionamiento

Aquí se controla todo lo relacionado con el código y sus cambios.

  • Control de versiones del código fuente
  • Gestión de ramas
  • Control de versiones de entregables
  • Gestión de artefactos

👉 Es la base para trabajar en equipo sin conflictos.


2. Construcción y Despliegue

Se enfoca en automatizar la entrega del software.

  • Integración continua (CI)

  • Estrategias de ejecución de Pipelines

  • Entrega continua (CD)

  • Despliegue continuo

👉 El objetivo es entregar rápido y de forma confiable.


3. Bases de Datos

Gestiona los cambios en la base de datos.

  • Versionado y control de cambios de BD

👉 Evita errores cuando el esquema cambia entre entornos.


4. Aseguramiento de Calidad

Busca validar que el sistema funcione bien.

  • Pruebas unitarias

  • Pruebas funcionales

  • Pruebas de rendimiento

👉 Aquí se detectan errores antes de llegar a producción.


5. Mantenibilidad de Código

Se centra en la salud del código a largo plazo.

  • Gestión de deuda técnica

👉 Código limpio = menos problemas en el futuro.


6. Aprovisionamiento de Entornos

Automatiza la infraestructura.

  • Gestión de entornos

  • Configuración como código

  • Infraestructura como código (IaC)

👉 Todo reproducible y sin configuraciones manuales.


7. Seguridad

Integra la seguridad en el proceso.

  • Análisis estático

  • Análisis dinámico

👉 Seguridad desde el inicio (DevSecOps).


8. Reportes y Monitoreo

Permite observar el sistema en producción.

  • Reportes

  • Monitoreo

👉 Detecta fallos y mejora la estabilidad.


9. Documentación de Calidad

Asegura que el conocimiento no se pierda.

  • Gestión del conocimiento

👉 Facilita el mantenimiento y el onboarding.


10. GenAI

Incorpora inteligencia artificial en el proceso.

  • Diseño

  • Desarrollo

  • Pruebas

  • Seguridad

👉 Apoyo inteligente para acelerar y mejorar el desarrollo.