- 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
¿No ha sido invariable, desde que se inventó la computadora, lo que se considera la base fundamental de un desarrollador competente?
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.
Creo que quienes crean herramientas de IA también conocen bien este problema. Solo que se hacen los de la vista gorda.
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.
No hay nada mejor para el codeo de picar piedra y repetitivo, pero...
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.
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.
Entonces mejor ni usar computadoras... ¿para qué?
Jajaja, totalmente de acuerdo.
jajajajajajaja
¿Será la versión 2025 de “no uses la función del señor Kim”, jaja?
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.
jaja, +1
Cada vez más... se vienen situaciones que requieren práctica deliberada... :)
???: "sigan usando putty y vi"
Opiniones de Hacker News
Cree que hay dos tipos de habilidades: habilidades independientes y habilidades fundamentales
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
Hace la mayor parte del código manualmente, pero usa LLM para búsqueda semántica y enriquecer la investigación
Desactivó el autocompletado de código; leer las sugerencias le genera una carga mental grande
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
Es similar a artículos como "Por qué todo desarrollador debería aprender Assembly"
Solo usa la IA de completado de línea que viene con Rider
Las herramientas de IA hacen la vida más conveniente
La pérdida de habilidades funciona en ambos sentidos
Lo usa en lugar de buscar en Google cuando quiere encontrar un problema específico