31 puntos por GN⁺ 2025-03-19 | 29 comentarios | Compartir por WhatsApp
  • Es cierto que las herramientas basadas en LLM aumentan la productividad de los desarrolladores
  • Pero, a largo plazo, depender de estas herramientas reduce la capacidad de resolver problemas por cuenta propia
  • Desaparece la sensación de logro que se obtiene durante el proceso de escribir código, y en vez de resolver problemas uno termina esperando la respuesta de la IA

Debilitamiento de la pasión por desarrollar y del espíritu de desafío

  • Hay personas que ni siquiera disfrutan programar → en ese caso, puede que el desarrollo de software no sea lo suyo
  • Los mejores ingenieros que he conocido crean herramientas o software por iniciativa propia incluso los fines de semana y buscan innovar
  • Mejorar el rendimiento de un sistema solo es posible si existe una comprensión profunda de sus fundamentos; de lo contrario, no pasa de ser probar cosas al azar

El fenómeno de "Copilot Lag"

  • "Copilot Lag" se refiere al estado de esperar la siguiente indicación de la IA
  • Es parecido a cuando un desarrollador junior espera instrucciones de un senior
  • Al usar GitHub Copilot, uno puede terminar olvidando incluso elementos básicos del lenguaje y la sintaxis
  • La mejora de velocidad a corto plazo hace que el conocimiento a largo plazo se deteriore

Los LLM pueden interferir con el proceso de aprendizaje

  • Al estudiar "Writing An Interpreter In Go" de Thorsten Ball, Copilot generó el código, pero eso no me dio la capacidad de volver a escribirlo por mi cuenta
  • Se pueden pasar por alto conceptos importantes como la gestión de memoria o el diseño orientado a datos
  • El código generado por la IA puede parecer correcto a simple vista, pero si no se entienden los principios fundamentales, no tiene sentido

Cómo usar los LLM de forma efectiva

  • Los LLM pueden usarse de forma útil como si fueran un motor de búsqueda
  • Igual que al buscar en Stack Overflow, se pueden tomar como referencia las respuestas de un LLM
  • Pero los LLM no reflejan tal cual el conocimiento de expertos reales, sino que generan respuestas a partir de patrones aprendidos y secuencias de tokens → cometen muchos errores
  • No hay que aceptar sin más las respuestas del LLM; hay que analizar por qué recomienda ese enfoque
  • Cuando algo no se sabe, hay que investigarlo y aprenderlo por cuenta propia
  • Al aprender un lenguaje nuevo (como Zig), puede ser útil tomar notas de lo aprendido
  • Las notas pueden servir como material de referencia para el aprendizaje y también ayudar al compartirlas con otras personas

Conclusión

  • Las herramientas de IA son útiles, pero depender ciegamente de ellas puede producir el efecto contrario
  • Es importante entender los principios detrás de las soluciones que propone la IA y mantener una actitud de aprendizaje autónomo
  • Al final, lo importante es mantener la capacidad fundamental de resolver problemas sin depender de las herramientas

29 comentarios

 
madnix 2025-03-27

Hmm... creo que desde el principio es una diferencia de perspectiva sobre si se ve a la IA como una herramienta o como una inteligencia... Yo no puedo estar de acuerdo con este artículo porque, como dije en los comentarios de abajo, ya de por sí es una idea equivocada ver al desarrollador solo a nivel de código. Incluso cuando ocurrió la Revolución Industrial en Inglaterra en el pasado, los agricultores clamaban que se iban a morir de hambre, pero al final eso creó más empleos y trajo muchos beneficios para la humanidad. Además, cuando aparecieron las computadoras en el pasado, también se decía que por culpa de las computadoras la gente se volvería cada vez más tonta, pero al final se pudieron resolver más tareas en menos tiempo y las personas se volvieron más inteligentes.

 
jokerized 2025-03-24

Los LLM, incluida la investigación profunda, todavía no son útiles para la resolución de problemas de alto nivel. (por ejemplo, el desarrollo de algoritmos a nivel de paper)
La optimización extrema y la programación que requiere entender diversas características de sistemas y problemas técnicos también siguen necesitando la mano humana. Un desarrollador no es solo un programador simple, sino alguien que resuelve problemas. Algún día quizá también sea posible la resolución de problemas de extremo a extremo, pero por ahora parece algo positivo en términos de productividad, porque permite ahorrar tiempo en tipeo y programación simple e invertirlo en enfoques para problemas más difíciles.

 
skarl86 2025-03-22

Desde hace un tiempo, siento que muchas veces lo uso con una idea parecida a la de una revisión de código. Recibo propuestas de código, converso sobre la dirección que debería tomar, pienso y sugiero mejores maneras, y cuando sale un resultado con el que quedo satisfecho, lo cito.

 
kaydash 2025-03-22

La lógica de toda la aplicación y la lógica de negocio deben ser pensadas por las personas.

 
elbanic 2025-03-22

Esta preocupación surge si se limita a los desarrolladores solo a programar. En realidad, los desarrolladores hacen muchas más cosas, y aunque depender de la IA para la parte de codificación podría verse como volverse tonto, también puede considerarse como algo que les permite enfocarse más en otras áreas.

 
pcj9024 2025-03-21

Ttiudyai... yo, desarrollador tonto...

 
dongyagn1 2025-03-20

También se decía que Unity vuelve tontos a los desarrolladores de videojuegos, pero al final nadie se volvió tonto; más bien terminaron aprendiendo muchas otras cosas y con más trabajo nomás jaja

 
halfenif 2025-03-21

Solo hay más trabajo... no puede ser...

 
nimgnos 2025-03-20

Me cuesta estar de acuerdo con eso de que está volviendo tontos a los desarrolladores...
Desde que se adoptó la IA, la productividad realmente ha aumentado de forma espectacular.

 
vhzkfltmdnpxm 2025-08-18

Aquí hay un tonto.

 
alpharoom 2025-03-19

Hoy en día, vivimos en una época en la que si no estás de acuerdo con la idea de que la IA puede hacerlo todo, te caen insultos, ni modo.

 
play1204dev 2025-03-19

Si se trata de funciones de librerías que no conocías o de algo como scripts de shell que no se te vienen a la cabeza al instante, está bien, pero como se mezclan funciones ya deprecated o incluso function que ni existen, uno termina perdiendo todo el tiempo depurando.

> No hay que aceptar tal cual las respuestas del LLM, sino analizar por qué recomienda ese enfoque.

Creo que esa es la clave.

 
dongwon 2025-03-19

Creo que las herramientas siempre traen tanto una expansión del pensamiento como una destrucción del pensamiento. Deberíamos poder avanzar, a través de esa destrucción, hacia una expansión del pensamiento de un nivel más alto, pero cuando no estamos preparados para eso, parece que este tipo de problemas siempre nos acompañan.

Por eso, al final, siento que este tipo de preocupaciones siempre van de la mano con el uso de herramientas. Creo que son procesos necesariamente. Más que rechazarlas sin más o usarlas ciegamente, me parece deseable enfocarse en cómo conviene usar esta herramienta y en cómo aprovecharla para dedicar recursos, de forma fundamental, a las partes realmente más importantes.
(ya superando las 1,000 veces de uso mensual de Cursor...)

 
amarese 2025-03-19

Señor Kim. Hay algo que me atrevo a aconsejarle. No es otra cosa que esto: no use demasiado las funciones de Excel. Si hay comodidad, el riesgo también aumenta. Para atrapar una vaca hay una hoja adecuada; pero para atrapar un pollo, ¿hace falta un cuchillo? Lo sencillo puede ser la respuesta correcta.

 
codemasterkimc 2025-03-19

El texto de arriba es como la versión GPT de las funciones de Excel, jajaja

 
losoowmik 2025-03-19

En mi opinión, uno puede ser rápido para calcular mentalmente, y una calculadora puede ser útil. Solo quería dar mi opinión de que la computadora no es como un cuchillo para matar vacas.

 
jingjing2222 2025-03-19

No volveré a usar ChatGPT
Yo también escribí un texto parecido.

Sin duda hay un efecto de aumento de la productividad, pero creo que debemos evitar el acto mismo de delegarle el cerebro.

 
dicebattle 2025-03-19

Sigo siendo un ferviente creyente de Cursor y Anthropic, pero en algún momento me di cuenta de que dejé de usar poco a poco el tan emocionante modo agente y empecé a preguntarle primero en modo ask sobre la arquitectura y la forma de implementación; solo cuando lo entiendo y me convence por completo, voy aceptando una por una las propuestas de cambio de la IA.

Ese cambio me llegó después de ver de primera mano cómo, mientras dos ingenieros refactorizaban y agregaban configuración a un módulo no tan grande (pero bastante importante para nuestro proyecto de trabajo), cada uno usando el modo agente, el código que supuestamente buscaba ordenar la arquitectura terminó en realidad dejando tanto la legibilidad como la estructura en un estado todavía más desastroso.

 
onixboox 2025-03-20

Yo también lo uso así. Si es un lenguaje que de verdad estoy tocando por primera vez, uso el modo agente, pero si es un lenguaje que conozco, termino revisando primero si el código tiene sentido.

 
iolothebard 2025-03-19

Más que la IA esté volviendo tontos a los desarrolladores…
los desarrolladores tontos siguen siendo tontos aunque usen IA…
Garbage in, garbage out

 
ehdgns104 2025-03-24

Tiene toda la razón jajaja

 
powerkid 2025-03-21

Estoy de acuerdo. No es algo que sea incondicionalmente malo ni incondicionalmente bueno; parece que simplemente tenemos otra herramienta de productividad útil.

 
halfenif 2025-03-21

Estoy de acuerdo.

Desde antes he dicho muchas veces que no todos los desarrolladores son iguales.

 
aer0700 2025-03-20

Parece que esto es cierto...

 
white9s 2025-03-19

Es una forma brusca de decirlo, pero no está del todo equivocada. Va en la misma línea de que de una buena pregunta sale una buena respuesta...

 
j2sus91 2025-03-19

Parece que el autor se refería a usar las herramientas de IA dependiendo de ellas ciegamente.

Mi opinión personal es que, si al aprovechar la IA ha aumentado la eficiencia del trabajo,
sería conveniente usarla activamente para reducir las tareas repetitivas
y dedicar el tiempo ganado a áreas más amplias (por ejemplo, que un desarrollador backend se expanda también al frontend o al desarrollo de apps)
o a direcciones más constructivas, como el diseño de arquitectura.

Viendo el contenido en general, creo que el autor también estaría de acuerdo con esta opinión,
pero como a veces también hay desarrolladores que rechazan la IA en sí, dejo unas líneas como respuesta.. jaja
.

 
tsboard 2025-03-20

Yo también estoy de acuerdo. Me hizo recordar un texto que decía que no había que usar las funciones de Excel.
Creo que aprovechar bien las funciones que ya existen para aumentar aún más la utilidad es una ventaja.

 
zinisuni 2025-03-19

Estoy de acuerdo. ^^

 
GN⁺ 2025-03-19
Opinión de Hacker News
  • Puede que algunas personas no disfruten escribir su propio código. En ese caso, se puede ver como que intentan trabajar en un campo que no es el adecuado para ellas
    • Yo he soportado escribir mi propio código durante décadas. A veces es satisfactorio, pero en su mayoría es una abstracción entre mis ideas y yo
    • Me gusta crear algo rápido, y cuando tengo una idea quiero implementarla de la forma más eficiente y limpia posible
    • He aceptado trabajar con LLMs. No creo que eso me haya vuelto más flojo
    • Más bien, me inspira a empezar cuando me quedo atascado. El LLM pone en marcha el trabajo y luego yo tomo el control para terminarlo a mi manera
    • Estoy produciendo más productos que antes
    • He trabajado con personas, y algunas de ellas son amigas mías. Ellas creen que su código y su metodología son sagrados
    • Creo que cuando entra la AI ya no hay lugar para ellas. Yo entré a este juego por la creatividad, y esa es la razón por la que estoy aquí
    • Las herramientas y la sintaxis son solo medios para un fin
    • Esto se repite cada vez que se desarrolla una nueva capa de abstracción que permite crear fácilmente código funcional sin entender las capas inferiores
    • Casi siempre es una abstracción con fugas. A veces sí hace falta saber cómo funciona realmente la capa inferior
    • Los desarrolladores que han invertido mucho tiempo y energía emocional en entender la capa inferior afirman que quienes dependen de la abstracción son más tontos
    • Todos seríamos más inteligentes si escribiéramos el código nosotros mismos sin depender de bibliotecas de terceros
    • Seríamos más inteligentes si administráramos la memoria manualmente
    • Seríamos más inteligentes si escribiéramos todo el código en ensamblador y no dependiéramos de compiladores
    • Seríamos más inteligentes si cableáramos nuestros propios transistores
    • Aprender las capas inferiores es educativo. A menudo hace falta para exprimir el rendimiento óptimo
    • Pero no hace falta entender las capas inferiores para entregar valor a los clientes
    • Lo que más me gusta es usar LLMs de programación para pedir ayuda a la hora de entender código que todavía no comprendo
    • Aunque a veces la respuesta está mal, seguido da pistas que puedo resolver por mi cuenta
  • He tenido una experiencia parecida. Usé un LLM para construir una funcionalidad, pero descubrí que el código venía de una biblioteca que ya existía
    • Si hubiera investigado bien, no habría hecho una versión mucho peor
    • Ahora solo lo uso para obtener una funcionalidad prototipo en el editor a partir de comentarios, y el resto lo hago yo
    • Configurar un pipeline de AI le quita toda la diversión y se siente como una tarea muy abrumadora
    • Preferiría estar programando
    • Cuando el LLM se equivoca 2, 3 o 4 veces seguidas, me hierve una furia real
    • Agota
    • Espero que en los próximos 1 o 2 años sea más fácil y que la UX mejore, pero no sé qué pasará
    • Tal vez soy yo el que carece de visión
  • Los LLMs les quitan a los estudiantes la motivación para entender a fondo y concentrarse en los problemas técnicos
    • En vez de eso, copian, pegan y siguen adelante sin entender
    • La analogía con la calculadora electrónica puede ser adecuada. Es una herramienta apropiada solo después de aprender a calcular a mano
    • En un experimento, se les dio a estudiantes de negocios ChatGPT y tareas de ciencia de datos
    • Encontraron soluciones sin conocimientos previos, pero no adquirieron conocimiento
    • Un amigo comentó: "Este modelo de lenguaje no debería ponerse a disposición del público general"
  • Una anécdota personal de un trabajo anterior
    • A un desarrollador junior le encargaron escribir un script para generar una lista de branches que llevaban mucho tiempo sin usarse
    • Me pidió revisión, y la mayor parte estaba escrita en awk
    • Habían metido la definición de la tarea en un LLM, copiaron la respuesta y la pegaron en el pull request
  • Platón, Fedro, 370 a. C.: "Ya no ejercitarán la memoria por sí mismos, sino que recordarán a partir de marcas externas"
  • Puede que yo sea anticuado, pero recuerdo una época en la que las fallas silenciosas se consideraban una de las peores cosas que un sistema podía hacer
    • Los LLMs son máquinas de fallas silenciosas
    • Son útiles en su lugar, pero si oigo a un jefe decir que va a reemplazar trabajo humano con AI, estoy seguro de que sufrirá el desastre que él mismo provocó
  • Entré a la ingeniería de software porque me gusta construir cosas y descubrir cómo funcionan
    • Escribir código con el teclado es solo un efecto secundario de la habilidad
    • Es como decir que para ser matemático hay que disfrutar escribir ecuaciones en un pizarrón
    • En ingeniería, encontrar la solución suele ser el objetivo final
    • Cuando valga la pena escribir todo a mano, un buen ingeniero debería hacerlo a mano
    • Si importar una biblioteca de terceros es el mejor uso, entonces debería hacerse
    • Si dejarle algo de la programación a un LLM es el camino más fácil, entonces debería hacerse
  • Existe un concepto llamado "Copilot Lag"
    • Se refiere al estado en que un ingeniero espera qué hacer después de cada tarea
    • He vivido esa experiencia durante 10 a 15 años
    • Los LLM no van a causar tanto daño
  • He llegado al punto de querer abandonar los copilotos de programación
    • Paso la mayor parte del tiempo peleando con ellos
    • Parte de eso puede ser culpa mía
    • También hay problemas de UX/implementación
    • Los LLMs son útiles como expertos intermedios en muchos temas
    • Pero es fácil caer en una cámara de eco
    • Es impactante toparse con una pared en los momentos en que se necesita intuición, curiosidad, creatividad y personalidad humanas
    • Me parece bien tenerlo como otra herramienta en la caja de herramientas
    • Pero prefiero colaborar con personas reales