Ensayo de Carson Gross, profesor del Departamento de Ingeniería en Computación de Montana State University y creador de htmx, que responde a la pregunta “¿Todavía vale la pena seguir una carrera en programación en la era de la IA?” con un “Yes, and…” (“Sí, y…”).
"Yes" — Sí
- La esencia de programar es resolver problemas con computadoras + controlar la complejidad. Es difícil imaginar un futuro en el que esta capacidad valga menos
- Pero la IA es un riesgo para los juniors. Si no escriben código directamente, también dejarán de poder leerlo
- Si no puedes leer código, caes en la “trampa del aprendiz de brujo”: terminas creando sistemas que no entiendes ni puedes controlar
Codificar→promptear no es lo mismo que pasar de ensamblador→lenguajes de alto nivel
- Los compiladores son determinísticos, pero los LLM no
- Los lenguajes de alto nivel eliminaron complejidad accidental, pero el código generado por LLM muchas veces agrega más complejidad accidental
La IA no es un generador de código, sino un excelente ayudante de docencia (TA)
- Si se usa como un compañero que ayuda a entender conceptos y técnicas, es muy efectiva para el crecimiento intelectual
- Es especialmente útil para superar barreras donde uno se atasca por complejidad accidental
- Compartiendo un archivo
AGENTS.md, se puede configurar a la IA para que actúe como ayudante y no como generador de código
"and…" — y…
Las habilidades puras de codificación podrían volverse menos importantes
- En cambio, estas habilidades podrían volverse más importantes:
- Capacidad de comunicación — habilidad para escribir y comunicarse con claridad, tanto con LLM como con personas. Leer libros y escribir ensayos ayuda
- Entendimiento del negocio — tanto la visión de negocio de “no hacen falta programadores” como la visión del programador de “no hacen falta personas de negocio” son miopes. La IA da la oportunidad de entender más a fondo los problemas reales
- Arquitectura de sistemas — capacidad de controlar la complejidad de sistemas a gran escala. Eso sí: la mayoría de los malos arquitectos tenían poca experiencia programando
Cómo usan los LLM los seniors vs los juniors
- Senior: los usan para analizar código, ordenar ideas, generar pequeños fragmentos de código, generar código tedioso (regex, CSS), código exploratorio y sugerencias de tests. No les piden soluciones completas. Nunca les delegan el diseño de APIs
- Junior: deben resistir la tentación del vibe coding. A largo plazo, priorizar la comprensión por encima de la velocidad termina ganando. Pronto las empresas también se darán cuenta del problema de explosión de complejidad del vibe coding
Consejo para buscar trabajo — estrategia 4F
- Los sitios de empleo en línea son poco menos que una lotería
- 4F: Family (familia), Friends (amigos), Family of Friends (familia de amigos)
- No tiene que ser una gran empresa de tecnología. Si una empresa tiene más de 100 personas, probablemente ya tenga un equipo de desarrollo
- Caso de la sede de Costco: entrar por contactos familiares, empezar como analista y sumar capacidad de programación te vuelve muy valioso
Conclusión
Los fundamentos de la programación, en especial la capacidad de escribir buen código y controlar la complejidad, seguirán siendo importantes para siempre. La caída del mercado laboral es temporal. Y para las empresas: dejen que los juniors escriban código directamente.
31 comentarios
Si no entiendes la arquitectura, el vibe coding no tiene sentido..
Cualquiera puede hacer pasta con ketchup untado.
La pasta italiana no la hace cualquiera.
Si la pasta italiana costara $20 y la pasta con ketchup costara $2, yo elegiría la segunda, pero...
Los usuarios no pagan por algo de 2 dólares.
Parece que no entendiste el punto de la historia.
Sí, confieso que comenté sin siquiera leer el artículo;;
En hoteles o restaurantes especializados, una pasta con ketchup simplemente no puede existir.
Pero si piensas en resolver algo rápido en casa, una pasta con ketchup sí tiene sentido...
En un día especial, se me antoja comer pasta italiana hecha por un chef.
La pasta no es el problema; cuando un vino barato cuesta 2 dólares, los vinos de alta gama pueden costar decenas de miles de dólares, y aun así la demanda se mantiene constante.
Yo también comería pasta italiana si fuera un día especial, pero en el día a día(?)...
Qué gran frase. Se resume de forma clara en solo 3 líneas.
Somos ingenieros. Un ingeniero es alguien que entiende y se hace responsable de lo que maneja y propone. Decir que eso no es necesario solo significa que esa persona trabaja en un entorno así. La IA no cambia esa esencia; más bien, la expone de forma extrema. Si no pasa nada aunque no entiendas un PR, entonces eso ya no es un PR.
Si en una empresa un superior no puede entender el trabajo de sus subordinados, ¿podrá asignarles tareas?
¿Aunque no lo entienda, lo harán? ¿Podrá hacerse cargo de lo que hacen?
En los productos creados por los seres humanos, casi siempre lo importante ha sido la "intención humana". No la implementación en sí, sino
Así como no dejamos de estudiar matemáticas solo porque apareció la calculadora...
Más que esperar que mi área no pueda ser reemplazada, me parece más realista desear que, en la medida de lo posible, todos seamos reemplazados lo más rápido posible. Creo que todos lo están percibiendo vagamente.
Así como se puede programar sin saber lenguaje ensamblador,
parece que también será posible programar sin conocer Rust.
Al fin y al cabo, incluso cuando una persona programa, el código cambia cada vez.
También varía de una persona a otra.
Pero todos son desarrolladores de Rust.
Creo que el problema de complejidad de la IA al final lo va a resolver la propia IA. Hay que dejar de lado la ilusión y el orgullo de pensar que hay cosas que solo los humanos pueden hacer.
Con la arquitectura actual de los LLM, es imposible. Se necesita un paradigma completamente distinto.
Pero aun así, la gente tiene que ganarse la vida mientras tanto :(
Ojalá todos logren atravesar bien esta etapa de transición.
Con el avance de la IA, en los proyectos también están reduciendo de verdad a las personas. A medida que se recorta a una persona, parece que los gerentes, si no saben usar bien la IA además del negocio, terminan siendo parte del recorte.
En vez de intentar reducir personal a toda costa, sería mejor reasignar a esa gente a otras áreas para que hagan trabajo nuevo o cosas que hasta ahora no se podían hacer. Reducir de golpe es una visión demasiado cortoplacista.
Hasta ahora, el LLM/Agentic Coding sigue siendo una herramienta excelente, pero no un ingeniero excelente. Así como en el Agentic coding es importante tener un buen plan, al final el usuario debe tener la capacidad de entender el código y juzgarlo. Por ejemplo, fastrender y CCC mostraron el potencial del Agentic Coding, pero al mismo tiempo también dejaron en evidencia limitaciones claras.
Quiero plantearlo de otra manera.... “¿Le recomendaría esta profesión a mi hijo?”
A mi alrededor, mucha gente veía como la opción más común mandar a sus hijos a estudiar Ciencias de la Computación. Ahora parece que eso ha cambiado bastante.
Creo que para la gente después del vibe coding va a ser difícil estudiar desarrollo. Aprender se vuelve demasiado ineficiente... porque es muy fácil conformarse con un simple clic.
El vibe coding solo sirve para crear un resultado, y creo que la diferencia entre entender o no el resultado implementado va a ser realmente muy grande. Pienso que ese entendimiento surge justamente de lo que mencionas como "estudiar desarrollo".
Más bien, gracias al avance de la IA, el costo de aprender algo se ha reducido muchísimo, así que parece un muy buen momento para aprender más cosas.
Con vibe coding puedes crear código que funcione, pero al final quien tiene que revisarlo es una persona, y no es fácil producir solo con vibe coding código que sea fácil de mantener y escalable.
Y, al final, también hay resultados de investigación que muestran que como de todos modos una persona tiene que revisarlo, se termina invirtiendo más tiempo y la productividad queda más o menos igual.
Este tipo de esfuerzo individual también es importante, pero también se necesita apoyo para los sistemas sociales mediante discusiones entre los miembros a nivel nacional.
Yo también estoy totalmente de acuerdo. Se lo digo mucho a los más jóvenes, pero muchas veces me preocupa que lo sientan como un comentario de viejo.
Estoy muy de acuerdo con esto.