30 puntos por GN⁺ 2025-04-04 | 16 comentarios | Compartir por WhatsApp
  • Cuando empecé a usar herramientas de código con IA, me sorprendieron y me impresionó su eficiencia
  • En particular, me ayudaban a analizar errores de compilación en C++, y se sentía casi como magia
  • Al usar GitHub Copilot y varias herramientas de integración de editores basadas en LLM, se convirtieron en parte de mi flujo de trabajo de desarrollo
  • Sin embargo, a finales de 2024 eliminé todas las funciones de integración con LLM de mi editor de código
  • Todavía uso IA de vez en cuando, pero ya no la incluyo en mi flujo de trabajo principal

Una experiencia similar a Tesla FSD

  • Entre 2019 y 2021, mientras conducía un Tesla, usé FSD con frecuencia
  • Al usar FSD en carretera, mi nivel de concentración al volante fue bajando poco a poco
  • Por depender de FSD, se debilitó mi capacidad de conducir por mí mismo
  • Cuando volví a manejar un auto normal, me tomó tiempo recuperar la concentración

Mi experiencia usando editores de código con IA

  • Cuanto más usaba herramientas de IA, más rápido trabajaba, pero mis habilidades fundamentales se debilitaban
  • En proyectos personales me resultaba incómodo no poder usar herramientas de IA, y mi confianza disminuyó
  • Empecé a sentir dificultad en tareas básicas como definir funciones o escribir código de pruebas
  • Al depender de la IA, fui perdiendo seguridad para tomar por mí mismo decisiones de implementación
  • Al final, sentí claramente que mis habilidades se habían debilitado en tareas complejas

La pérdida de la intuición

  • La palabra alemana Fingerspitzengefühl se refiere a la capacidad intuitiva de juicio que tiene una persona experta
  • Al escribir código, también es esa sensibilidad que surge cuanto más te familiarizas con un lenguaje y un framework
  • Esa sensibilidad es importante en decisiones técnicas detalladas, como el uso de punteros, la elección de la biblioteca estándar o el uso de assert
  • Las herramientas de IA debilitan esa sensibilidad
  • Cuando se consideran la calidad del código y su mantenimiento, la intuición humana es muy importante

Desarrollo posible incluso sin herramientas de IA

  • El miedo a no poder trabajar sin herramientas de IA está exagerado
  • En la práctica, la IA no es tan útil en proyectos grandes ni en sistemas heredados
  • En proyectos que usan herramientas internas, frameworks o DSL internos, los LLM no ayudan
  • El código relacionado con seguridad (JWT, RBAC, etc.) no debe dejarse en manos de la IA
  • La seguridad es un área que uno debe entender y asumir personalmente
  • Si la IA se encargara de todo, desde escribir código hasta revisar PR y desplegar, los problemas de seguridad aumentarían drásticamente

Definir un criterio para usar IA

  • La IA es útil, pero evito usarla integrada en el editor
  • Ingreso yo mismo el contexto y solo recibo el código necesario para aplicarlo manualmente
  • Por ejemplo: conversión de pruebas, transformación de cálculos SIMD, decodificación de datos comprimidos, etc.
  • Este enfoque hace que uno sienta responsabilidad por el código y además reduce costos
  • Usar IA con fines de aprendizaje es beneficioso: es especialmente útil para pedir explicaciones sobre código ensamblador, shaders, código de red, etc.
  • En mi blog personal no uso contenido generado por IA y prefiero las creaciones humanas

Seguir haciendo lo que te gusta

  • Más allá de la eficiencia y la productividad, también es importante seguir haciendo lo que a uno le gusta
  • Así como en el ajedrez la gente sigue disfrutando una actividad aunque la IA pueda ganar, la programación también puede mantenerse como algo disfrutable
  • No se trata solo de hacerlo mejor, sino de seguir programando porque realmente lo disfrutas

Consejo para desarrolladores junior

  • No te conviertas en un “junior eterno” dependiente de la IA
  • Desarrolla tu capacidad de escribir código por ti mismo y comprende a fondo cómo funciona el sistema
  • Es importante mejorar tus habilidades estudiando la estructura que funciona under the hood
  • La IA es solo una herramienta, no una solución completa por sí sola
  • A veces también hace falta practicar trabajando sin IA
  • Solo con “vibe coding” no podrás convertirte en un desarrollador realmente competente
  • Si no puedes programar sin IA, entonces no estás programando de verdad

Conclusión

  • La IA es una forma de sacrificar conocimiento a cambio de velocidad
  • A veces ese trade-off vale la pena, pero entrenar las bases es indispensable
  • Los desarrolladores con habilidad practican repetidamente los fundamentos
  • La IA todavía está lejos de reemplazar profesiones, y en gran medida las empresas buscan inducir FOMO para atraer inversión
  • La IA es solo una herramienta, no un sustituto del pensamiento
  • Es importante mantener siempre la curiosidad y seguir aprendiendo

16 comentarios

 
supermaxi 2025-04-28

¿No ha sido invariable, desde que se inventó la computadora, lo que se considera la base fundamental de un desarrollador competente?

 
space0403 2025-04-05

Mientras me preparaba para pruebas de programación, lo abría casi por costumbre y terminé presionando más Tab que tecleando... jaja. Con toda buena intención, regresé a VS Code.

 
ahwjdekf 2025-04-05

Creo que quienes crean herramientas de IA también conocen bien este problema. Solo que se hacen los de la vista gorda.

 
potatium 2025-04-05

Si dependes ciegamente de la IA, podrías terminar siendo conceptualmente igual que un gerente incompetente que ni entiende la arquitectura ni puede escribir una sola línea de código, que solo le hace trabajar a su equipo sin conocer los riesgos inherentes del código y que, cuando surge un problema, tampoco puede encontrar cómo resolverlo. Lo único que cambia es la herramienta: de la inteligencia humana a la inteligencia artificial.

 
aqqnucs 2025-04-04

No hay nada mejor para el codeo de picar piedra y repetitivo, pero...

 
dbs0829 2025-04-04

En general, estoy bastante de acuerdo. Creo que, al menos por ahora, hay áreas donde se necesita ese tipo de sensibilidad, y me parece que la diferencia entre ser consciente de ello y no serlo es bastante grande. Pienso que está bien usarlo como herramienta, pero hay que hacerlo con suficiente conciencia de ello.

 
dudghks5722 2025-04-04

La experiencia de usar editores de código con IA, la pérdida de la intuición y los consejos para desarrolladores junior: estos tres puntos me resultaron muy identificables.

 
reagea0 2025-04-04

Entonces mejor ni usar computadoras... ¿para qué?

 
plumpmath 2025-04-06

Jajaja, totalmente de acuerdo.

 
plumpmath 2025-04-06

jajajajajajaja

 
ifmkl 2025-04-04

¿Será la versión 2025 de “no uses la función del señor Kim”, jaja?

 
dbs0829 2025-04-04

Por lo que se ve en el texto, no parece que esté diciendo que no se use para trabajo repetitivo, sino más bien que no se delegue el pensamiento a la IA.

 
hhkkkk 2025-04-04

jaja, +1

 
tujuc 2025-04-04

Cada vez más... se vienen situaciones que requieren práctica deliberada... :)

 
kandk 2025-04-04

???: "sigan usando putty y vi"

 
GN⁺ 2025-04-04
Opiniones de Hacker News
  • Cree que hay dos tipos de habilidades: habilidades independientes y habilidades fundamentales

    • Históricamente, hemos perdido y ganado muchas habilidades independientes
    • La lógica, el razonamiento, la oratoria y la comprensión de principios básicos de mecánica e ingeniería habrían sido útiles tanto en la antigua Grecia como en la Francia del siglo XVIII
    • La IA es adecuada para usarse en las habilidades independientes de la programación
    • Si se deja en manos de la IA la arquitectura fundamental de un proyecto, pueden debilitarse la capacidad de resolver problemas básicos y de diseñar software
    • La IA es útil para las habilidades independientes, pero todavía es insuficiente para las habilidades fundamentales
    • Los editores de código basados en IA son útiles sin el riesgo de un deterioro de habilidades a largo plazo
  • Ahora ya no usa herramientas de IA a nivel editor como Cursor, y resuelve los problemas con autocompletado de texto en línea y chat

    • Sentía que su cerebro se estaba atrofiando por depender demasiado de la IA
    • En el futuro, la brecha entre quienes dependan en exceso de la IA y quienes no lo hagan será aún mayor
  • Hace la mayor parte del código manualmente, pero usa LLM para búsqueda semántica y enriquecer la investigación

    • No deja que el LLM escriba archivos completos
    • Hay una buena cita sobre el mercado de herramientas de IA: muchas empresas usan el FOMO como estrategia de venta
  • Desactivó el autocompletado de código; leer las sugerencias le genera una carga mental grande

    • Usa el chat solo cuando lo necesita
  • El libro de Nicholas Carr explica la dinámica por la cual, cuanto más se depende de la automatización, más se deterioran las habilidades

    • Apagó Copilot y usa menos el chat
    • Lo decidió por dos razones: sus habilidades estaban empeorando y programar se estaba volviendo menos divertido
    • Le gusta pensar por sí mismo y disfruta mejorar sus habilidades
    • Volver a programar solo es más lento, pero una experiencia más disfrutable
  • Es similar a artículos como "Por qué todo desarrollador debería aprender Assembly"

    • La capacidad de la IA para programar va a mejorar y ofrecerá soluciones al 90% suficientemente buenas para salir al mercado
    • Puede que no estén optimizadas o no sean completamente seguras, pero no serán muy distintas de la mayoría de los proyectos de software reales
  • Solo usa la IA de completado de línea que viene con Rider

    • Es una mezcla razonable entre el autocompletado clásico de código y un poco de inteligencia
  • Las herramientas de IA hacen la vida más conveniente

    • Se puede manejar un auto manual, pero la transmisión automática es más conveniente
    • También en programación quiere concentrarse en los problemas reales
    • La tecnología existe para hacer la vida más conveniente
  • La pérdida de habilidades funciona en ambos sentidos

    • Se pueden perder las habilidades iniciales para usar LLM de forma efectiva
    • Es posible que los LLM cambien los lenguajes de programación
  • Lo usa en lugar de buscar en Google cuando quiere encontrar un problema específico

    • Prefiere Google porque los resultados de la IA son demasiado largos y verbosos, pero Google cada vez sirve menos