Cómo usar IA para programar sin sentirse un especialista en copiar y pegar

Herramientas como Copilot, Cursor, ChatGPT o Claude se volvieron parte del día a día de muchos (o quizás todos los) programadores. Para algunos, son una ayuda maravillosa, para otros una imposición por parte de su equipo, o una amenaza. Pero también puede llegar a ser una vergüenza silenciosa: “¿estoy programando o solo copiando y pegando?”.

En cualquier caso, todos deberíamos hacernos esa pregunta, no para torturarnos, sino para mantener la calidad.

Está pasando cada vez con mayor frecuencia que se cometen errores graves por aceptar ciegamente el código generado por la IA. El mayor peligro de esto es que el código de la IA siempre va a compilar, por lo que pasarán a producción sin lanzar errores evidentes y en flujo de trabajo sin una cobertura de tests realmente buena (que son… ¿todos?) pueden pasar desapercibidos hasta que falla en la cara del usuario.

Usar IA no significa dejar de pensar. Debe ser una oportunidad para programar mejor y más rápido, pero no hay que dejar de lado el criterio. El objetivo no es reemplazar tu razonamiento, sino potenciarlo.

Hasta que tengamos la AGI, mitigar estos problemas realmente depende del humano.

La IA no es ni tu jefe, ni tu empleada, es tu compañera. No pretendas que te diga qué hacer, tampoco pretendas que haga todo por vos.

La inteligencia artificial debe acompañar tu proceso de toma de decisión, sugiriéndote soluciones, explicándote conceptos, ayudándote a salir de un bloqueo, pero vos seguís al mando. Como un GPS ingenieríl.

Mis sugerencias:

1. Prestar atención al código que genera la IA. Usá tu criterio. ¿Tiene sentido? ¿Cometió algún error de lógica, o hizo algo que no está alineado con el objetivo de la tarea?

2. Probar cada cambio, aunque no tenga errores.

3. Tratar los warnings como errores.

4. En un mundo ideal, escribir tests unitarios.

También es bueno tener en mente cuándo es conveniente usarla y cuándo no. Mi caso de uso principal es la lectura e investigación de documentación, es decir, para tareas puntuales, donde ya tengo una idea de lo que quiero lograr, le pido explicaciones, ejemplos, o hasta sugerencias de librerías o vías alternativas.

Otras grandes ayudas son generar estructuras (boilerplate), autocompletar código a medida que yo lo escribo, realizar tareas repetitivas (reemplazar valores, reestructurar código, traducciones…), y revisar código o logs en busca de errores.

Pero ojo, es posible que la IA cometa errores difíciles de percibir pero con consecuencias graves al reestructurar código, aunque no le hayamos pedido modificaciones. Por eso, volvemos al punto 1 – prestar atención.

En mi opinión, evitá usarla (o usala con mayor precaución) para copiar o generar grandes fragmentos de código sin comprender cómo funciona, solucionar bugs sin investigar el motivo real (sí se puede usar para analizar alternativas o posibles causas, pero no es conveniente pedirle de entrada realizar la corrección), o tomar decisiones de arquitectura.

Programar con IA no es hacer trampa, tampoco es magia. Es una nueva forma de trabajar, y como toda herramienta depende de cómo la uses. La diferencia para destacarse como programador está en el enfoque: usar IA para resolver con criterio, no para reemplazar el criterio. No es copiar y pegar, es programar en 2025.

Publicado el

en

, , ,

¿Querés seguir la conversación?