Soy más feliz escribiendo código a mano
(abhinavomprakash.com)- Tras usar repetidamente herramientas de generación de código basadas en LLM, redescubrió la sensación de inmersión y disfrute que siente al escribir código directamente
- Escribir código no es solo un acto de producción, sino un proceso para entender el espacio del problema y refinar el pensamiento, y la generación automática interfiere con eso
- Es difícil verificar la exactitud del código que uno no escribió, y solo al escribirlo directamente se puede interiorizar el contexto
- Al usar los LLM de forma limitada, aportando manualmente el contexto y usándolos solo para modificar partes del código o generar tests, se mantiene el control del pensamiento
- Se enfatiza que hay que priorizar la profundidad del pensamiento y la sensación de felicidad por encima de la productividad, y desconfiar de las herramientas si interfieren con la forma de pensar
Experiencia de uso de generación de código con LLM y escepticismo
- Usó claude-code varias veces, pero cada vez sintió depresión y apatía, y terminó eliminándolo
- El código generado automáticamente “parece plausible”, pero le hace perder el sentido de lo que él mismo tiene que hacer
- Cada vez que dejaba de usar la herramienta, recuperaba de nuevo la alegría de programar
- Programar no es solo implementar, sino un proceso de explorar el espacio del problema y aprender a través del fracaso
- Para entender realmente una API, hay que usarla directamente; leer solo la documentación no basta
- El acto mismo de escribir código es un medio para concretar el pensamiento
La relación entre pensamiento y exactitud
"Si no escribes y solo piensas, lo único que haces es engañarte creyendo que estás pensando." - Leslie Lamport
- Es mucho más difícil verificar la exactitud del código que uno no escribió
- En el proceso de escribir directamente se interioriza el contexto del problema, y eso es esencial para entender la calidad del código
- Depender de un LLM hace que uno se salte este proceso, lo que debilita la comprensión del dominio del problema
La adicción y los efectos secundarios del ‘vibe coding’
- La generación de código con LLM tiene un carácter adictivo porque da una recompensa inmediata de dopamina
- Provoca la ilusión de que “si ajusto un poco más el prompt, ahora sí saldrá bien”
- Esta forma de trabajar fomenta la inercia del pensamiento, vuelve pasivo al cerebro y hace que incluso tareas simples dependan del LLM
- Por ejemplo, hasta una tarea sencilla de find-and-replace se la dejó al LLM y terminó tardando más tiempo
- Aunque se genere mucho código, al final la responsabilidad de revisarlo y entenderlo sigue siendo humana, y eso incluso puede convertirse en un cuello de botella
La forma en que las herramientas moldean el pensamiento
- Desde la idea de que “las herramientas no son neutrales”, una herramienta que obstaculiza el pensamiento es una mala herramienta
- La capacidad central de los trabajadores del conocimiento es pensar con profundidad, y hay que ser cautelosos con la tecnología que interfiera con eso
- Aun así, no se excluye por completo a los LLM, sino que se usan de forma intencional y limitada
- Se copian solo los archivos necesarios para dar contexto, y se usan únicamente para modificar partes del código o escribir tests
- Así, el alcance de los cambios generados es pequeño y uno puede entender por sí mismo la estructura general del codebase
- Se pasa de una generación pasiva a una ‘generación reflexiva’, lo que permite mantener la actividad mental y el estado de flow
El equilibrio entre felicidad y productividad
- La vida es corta, y hay que priorizar la felicidad
- Generar automáticamente una funcionalidad completa puede aumentar la productividad, pero si provoca ansiedad existencial y depresión, a largo plazo resulta improductivo
- Reconoce que uno puede o no sentirse identificado con estas emociones, pero
"No tengas miedo de elegir distinto"
14 comentarios
Hay gente a la que, aunque exista la calculadora, le gusta calcular a mano o hacer cuentas mentalmente.
Creo con cautela que el proceso de escribir a mano y pensar directamente en las partes con mucha complejidad y fundamentales para la lógica de negocio, y luego transmitir eso a los ingenieros de IA, podría de alguna manera ayudar a la productividad. Los matemáticos también usan herramientas como calculadoras, pero cuando piensan en la idea central suelen tomar muchas notas a mano, ¿no?
Vivimos en una época en la que se puede tomar una foto con un solo toque en el celular, pero aun así sigue habiendo gente que puede pasar horas dibujando. Creo que solo son procesos y direcciones distintas, no una cuestión de qué está bien o qué está mal.
Pero esto no suena más que a decir que va a chocar de frente con la dirección que buscan seguir las empresas...
Respeto el ideal de felicidad y satisfacción personal, pero desde la perspectiva de un trabajo en el que se presta mano de obra y se recibe dinero, me parece una mentalidad inapropiada.
Si alguien está ignorando las métricas de largo plazo y solo persigue las de corto plazo, hasta a una persona totalmente ajena seguramente le darían ganas de pasar y decir: "No se hace así, tsk tsk".
Ahora bien, si se trata de un programador que cree que ha compartido las buenas y las malas con la empresa, que ha hecho grandes contribuciones y que cumple un papel importante dentro de ella, ¿cuánto más fuerte no sería ese sentimiento?
Al final, eso significa que los desarrolladores realmente talentosos, los que de verdad desarrollan bien, disfrutan del vibe coding...
No lo digo yo (como Linus Torvalds o Robert Martin)
Solo lo usaba para scripts de Python. No sé si podría decirse que realmente lo disfrutaba.
Busqué el artículo de Linus Torvalds y parece que lo escribió como hobby, y que todavía no lo usa para el desarrollo de Linux.
Comentarios de Hacker News
Comparan programar con la carpintería. Aunque una máquina pueda fabricar muebles, sigue habiendo gente que los hace a mano. Codificar a mano también puede hacerse por placer, pero en adelante será difícil hacerlo profesionalmente
Yo elijo el método que me dé los resultados más rápidos y mejores a largo plazo. Por ahora ese papel lo cumplen neovim y programar a mano. Si escribo yo mismo y entiendo el proyecto a fondo, a la larga puedo sacar funcionalidades más rápido. Le dejo al LLM lo que no ayuda a aprender, pero como de eso hay bastante, lo uso mucho
El problema del vibecoding es que la sensación de “se siente bien” nubla los resultados reales
Lanza una pregunta sarcástica: “¿Ser feliz hace que produzcas 200 veces más código?”
La IA claramente tiene valor. Por ejemplo, al convertir una tabla de BD de 300 columnas en un
structde Rust, con un prompt de 15 palabras generó 900 líneas de código. Para este tipo de trabajo repetitivo la IA es perfecta. Pero no quiero delegarle todo. La uso solo en un nivel de uso felizLa pregunta clave es: “¿Qué hago yo mientras el LLM escribe el código por mí?”. No se le puede dejar todo por completo; se siente más bien como cuidarlo desde al lado. Un desarrollador junior crece, pero el LLM no aprende. Por eso se siente como si hubiera desaparecido la satisfacción de mentorizar
Le da curiosidad cómo ha cambiado últimamente la contratación de desarrolladores. Se pregunta si se permite usar LLM o si todavía exigen programar a mano
Desde antes de los LLM, yo ya desarrollaba a velocidad de vibecoding con desarrollo basado en modelos (MDD). El modelo de datos es la aplicación, y el LLM encima de eso solo escribe procedimientos un poco más rápido. La dirección del modelo de datos la sigo decidiendo yo
La programación con IA se divide en tres tipos
La sociedad moderna se está volviendo una estructura de dopamina obtenida con clics de botón. Por eso todo se siente tan descompuesto
Últimamente siguen apareciendo publicaciones de desarrolladores rezagados que se autoengañan para sentirse mejor. De todas formas, no van a poder detener la dirección de los tiempos.
Esto ya se pasó demasiado de la raya.
Yo también estoy de acuerdo con esa opinión: aunque uno insista en programar todo a mano, a menos que trabaje por su cuenta
inevitablemente va a ser reemplazado, pero parece que no se da cuenta de eso.
Uf, qué fuerte T_T