Qué va a pasar con la carrera de Ingeniería de Software
¿La programación está obsoleta?
Introducción a la situación actual de la programación
- Se menciona que el "sillo de envidia" ha declarado que todos son programadores, sugiriendo que la industria de la programación podría estar en declive.
- Se presenta GitHub Copilot como una herramienta que utiliza GPT-4 para generar código y pruebas unitarias, lo cual plantea dudas sobre la necesidad de aprender a programar.
Nuevas herramientas de inteligencia artificial
- Se introduce Devin, una nueva IA que se describe como un ingeniero de software. Aunque es similar a GPT-4, tiene características adicionales.
- Devin permite a los usuarios especificar el tipo de software que desean crear y ofrece un entorno dividido en cuatro áreas: prompt, código, depuración y navegador.
Comparación con otras IAs
- A pesar de estar en beta privada y ser propensa a errores, Devin supera a otras IAs como Codex 2 y Lama en términos de rendimiento.
- La reacción general ante estas herramientas es pesimista; muchos creen que ya no hay necesidad de aprender programación debido al avance tecnológico.
Reacciones ante el avance tecnológico
Estudiantes y novatos
- Los estudiantes sienten angustia sobre su futuro laboral y cuestionan si vale la pena seguir estudiando programación.
- La educación es vista como una inversión difícil; perder tiempo educándose puede parecer perjudicial para sus vidas.
No programadores
- Muchos no programadores han intentado aprender pero fracasaron o nunca tuvieron interés genuino. Su reacción ante las IAs es desalentadora respecto al aprendizaje de programación.
Programadores experimentados
- Los programadores con experiencia son escépticos sobre las capacidades reales de las IAs para resolver problemas complejos planteados por los usuarios finales.
Miedo a la obsolescencia profesional
- Existe un temor entre los estudiantes sobre si sus carreras quedarán obsoletas debido al avance tecnológico. Ejemplos históricos muestran profesiones que han desaparecido o cambiado drásticamente.
Reflexión final sobre el aprendizaje continuo
- Se discute cómo muchas personas piensan erróneamente que solo se enseña programación. Sin embargo, hay un bajo porcentaje (7%) de adultos mayores interesados en aprender algo nuevo.
La Importancia de la Programación y el Aprendizaje Continuo
Introducción a la Realidad del Aprendizaje
- Se destaca que, aunque existen cursos en Platzi sobre diversas áreas como desarrollo de software y marketing, lo crucial es desconectar el rol de CEO con la realidad del aprendizaje continuo.
Escuchar Antes de Reaccionar
- Se enfatiza la importancia de escuchar antes de reaccionar. La reacción instantánea puede ser gratificante pero no contribuye al aprendizaje ni al avance personal.
Definición y Proceso de Programación
- Programar se define como describir un problema sin ambigüedades, descomponiéndolo en partes más pequeñas para resolverlo secuencialmente. La claridad en las descripciones es esencial para evitar resultados ambiguos en inteligencia artificial.
Evolución Histórica de la Programación
- Se menciona cómo muchas personas se entusiasmaron con herramientas como ChatGPT, pero abandonaron su uso por falta de comprensión y lectura previa.
- La historia de la programación muestra una evolución desde tarjetas perforadas hasta lenguajes más accesibles como COBOL, que facilitó el proceso para muchos programadores.
Revoluciones Tecnológicas y su Impacto
- El salto tecnológico desde tarjetas perforadas a assembler y luego a COBOL se compara con los cambios actuales en comunicación con máquinas.
- Con la llegada de hojas de cálculo como Excel, se pensó que los programadores quedarían obsoletos; sin embargo, esto no ocurrió ya que aún requieren habilidades especializadas.
Desafíos Actuales para los Programadores
- A pesar del auge del desarrollo visual y herramientas "no code", los programadores siguen siendo necesarios debido a su experiencia técnica.
- Las herramientas "no code" han simplificado procesos, pero no han eliminado la necesidad del pensamiento sistémico que solo se adquiere aprendiendo a programar.
Comprensión Técnica Necesaria
- Los programadores experimentados no temen las nuevas tecnologías; ven estas herramientas como complementos útiles.
- Ejemplos prácticos muestran que conceptos técnicos son esenciales para interactuar efectivamente con inteligencia artificial; solo quienes comprenden estos términos pueden aprovechar plenamente estas herramientas.
Conclusión sobre el Futuro del Aprendizaje en Tecnología
¿Cómo la Inteligencia Artificial Impacta el Desarrollo de Software?
La Realidad del Ingeniero Civil y su Relación con el Software
- Un ingeniero civil no siempre trabaja directamente con concreto, pero debe entender conceptos fundamentales como los ángulos y espacios necesarios para aplicar cemento correctamente.
- La creación de software requiere claridad y precisión; la idea de que se puede pedir a una inteligencia artificial que genere aplicaciones rápidamente es irreal.
La Ambigüedad en el Desarrollo de Software
- Replicar aplicaciones existentes no genera innovación; simplemente se convierte en un commodity. Ejemplos incluyen clonar plataformas como WordPress o abrir tiendas en Shopify.
- Aunque la inteligencia artificial representa una revolución, su impacto en el empleo genera ansiedad, especialmente entre quienes vivieron eventos disruptivos como pandemias.
Empleo y Automatización
- Históricamente, la automatización ha creado más empleos de los que ha eliminado. El miedo al "prostituir" el mercado proviene de programadores inexpertos que no han evolucionado sus habilidades.
- Muchos desarrolladores se estancan en tecnologías antiguas y temen perder sus trabajos debido a la competencia creciente.
Crecimiento del Mercado de Desarrolladores
- Desde 1940 hasta 2020, ha habido un crecimiento exponencial en el número de desarrolladores. De 2018 a 2024, se proyecta un aumento significativo en esta cifra.
- A pesar del aumento en la cantidad de programadores, los salarios promedio continúan creciendo, lo cual contradice la teoría del "mercado prostituido".
Cambios Recientes y Adaptación Necesaria
- Si hubiera una saturación real del mercado, deberíamos ver una disminución salarial; sin embargo, esto no ocurre porque las ideas son infinitas mientras que las empanadas (talento técnico) son finitas.
- Los salarios anuales para ingenieros de software siguen aumentando globalmente; esto indica que hay demanda por talento calificado.
Reflexiones sobre Aprendizaje y Adaptabilidad
- La falta de empleo actual afecta principalmente a aquellos desarrolladores mediocres o estancados. Es crucial adaptarse a nuevas tecnologías para seguir siendo relevantes.
- La angustia frente a la inteligencia artificial puede ser un reflejo del miedo al cambio o al aprendizaje constante necesario para mantenerse actualizado.
Innovación vs. Tareas Repetitivas
- Es importante cuestionar si uno está creando algo nuevo o simplemente realizando tareas repetitivas (CRUD). Esto impacta directamente en la satisfacción laboral.
¿Cómo enfrentar el pánico en la programación?
La influencia del entorno en el pánico de los programadores
- Se menciona que el perihelio es una zona del sistema solar donde el efecto del sol interfiere, lo que se relaciona con la dificultad de procesar datos enviados desde allí. Esto genera un ambiente de incertidumbre entre los programadores.
- El pánico puede ser alimentado por amigos y familiares que no tienen conocimientos técnicos, pero cuya opinión influye debido a su cercanía emocional.
- Es importante distinguir entre programadores experimentados y aquellos inexpertos; si los primeros no sienten pánico, se debe cuestionar la autoridad de las opiniones de los segundos.
La educación y su papel en la programación
- Se critica la percepción negativa hacia los bootcamps, aclarando que Platzi no es uno de ellos, sino una plataforma educativa con cursos fundamentales para entender la ingeniería de software.
- En Platzi, todos los cursos son opcionales; sin embargo, se enfatiza que nunca se debe dejar de aprender para tener éxito en tecnología.
La importancia del aprendizaje continuo
- Aprender a programar es solo el primer paso; lo crucial es mantener un proceso constante de aprendizaje similar al que siguen los médicos.
- La angustia ante un mercado laboral cambiante requiere valentía y dedicación al estudio continuo para adaptarse a nuevas realidades tecnológicas.
Desafíos educativos globales
- Se observa una disminución en las habilidades matemáticas y científicas a nivel mundial, afectando incluso a países desarrollados como Dinamarca y Estados Unidos.
- A pesar del descenso educativo generalizado, hay quienes malinterpretan mensajes sobre la programación; es vital entender cómo resolver problemas específicos utilizando tecnología disponible.
Futuro incierto: carreras obsoletas
- Se afirma que todas las carreras serán obsoletas en 10 años debido a cambios constantes en el mercado laboral; esto implica que nadie puede garantizar seguridad profesional a largo plazo.
- No se debe ver negativamente ir a la universidad; sin embargo, es esencial reconocer que el aprendizaje debe ser continuo y adaptativo frente a un mundo laboral cambiante.