Inicio / Artículos / Después de la generación automática de código: habilidades que siguen siendo importantes para los ingenieros

Después de la generación automática de código: habilidades que siguen siendo importantes para los ingenieros

Cuando los modelos redactan código, el enfoque se desplaza hacia las especificaciones, las revisiones, la arquitectura y las prácticas de verificación.

1280 palabras

Utilícelo como una versión reestructurada dirigida a los operadores de las ideas presentadas en “La IA puede escribir tu código. ¿Qué deberías hacer ahora?”: etapas claras, espacios ordenados para el código y notas de recuperación que sobreviven al traspaso de tareas. La visión general funciona mejor cuando se considera como una superficie medible. Capture una transcripción ejemplar, un caso de fallo y la nota de reversión antes de ampliar el alcance. Considere esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas.

El código se está volviendo barato

Dado que el código se está volviendo económico, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificarlo. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo de tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando el proceso pasa de entornos de demostración a entornos compartidos. Añada una prueba de humo que ejecute la ruta crítica en CI utilizando fixtures, y no APIs pagadas en tiempo real, siempre que lo permitan los presupuestos.

Add JWT authentication.
Create login and refresh-token APIs.
Add PostgreSQL persistence.
Write integration tests.
Run the test suite.
Fix failures.

Anthropic nos muestra hacia dónde va todo esto

Anthropic nos muestra hacia dónde se dirige todo esto; por lo tanto, hay que definir las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar un paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Se debe mantener la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de datos confidenciales y las banderas de funcionalidad deben estar en un único lugar al que los operadores puedan acceder para realizar auditorías, sin necesidad de leer todo el sistema. Cada vez que lo permitan los presupuestos, se debe añadir una prueba de smoke que ejecute la ruta crítica en el proceso CI utilizando fixtures, y no APIs pagadas en tiempo real.

Is the architecture correct?
Is authentication secure?What happens under 10,000 requests?Can this transaction fail halfway?Will this leak memory?What happens when Redis is unavailable?What happens when the database is slow?Did the AI introduce a race condition?

Y luego ocurrió algo mucho más importante

Para ello, primero debe ocurrir algo mucho más importante: definir las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las intentonas repetidas, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores. Añada una prueba de funcionamiento básica que ejerza la ruta crítica en el proceso de integración continua, utilizando configuraciones fijas y no APIs pagadas en tiempo real, siempre que lo permitan los presupuestos. Trate esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los archivos generados, defina comprobaciones de éxito y rechace cualquier completación parcial silenciosa.

El mayor error que pueden cometer los desarrolladores

Al abordar el tema del mayor error que pueden cometer los desarrolladores, anote primero el contrato: las entradas requeridas, la señal de éxito y qué ocurre en caso de fallo parcial. Esa lista de verificación mantiene honestas las futuras modificaciones en el código. Registre los tiempos y el costo de tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando se pasa de entornos de demostración a entornos compartidos. Escriba un breve manual de operaciones: cómo rotar claves, cómo vaciar la cola y cómo revertir la última inserción.

@GetMapping("/users")
public List<User> getUsers() {
    return userRepository.findAll();
}

¿Entonces, qué deberían aprender los desarrolladores ahora?

Al trabajar en “¿Qué deberían aprender los desarrolladores ahora?”, anote primero el contrato: las entradas requeridas, la señal de éxito y qué ocurre en caso de un fallo parcial. Esa lista de verificación mantiene honestas las futuras modificaciones del código. Guarde la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de datos secretos y las banderas de funcionalidad deben estar en un lugar donde los operadores puedan auditarlos sin tener que leer todo el sistema. Escriba un breve manual de operaciones: cómo rotar las claves, cómo vaciar la cola y cómo revertir la última operación de ingestión.

Write this.
Refactor this.
Explain this.
Test this.
Fix this.
Convert this.
Don't build it this way.
Here's why.
Here's the simpler architecture.
Here's the failure mode you missed.
Here's what we should measure in production.

La IA no elimina la necesidad de pensar

Cuando se trabaja con inteligencia artificial, eso no elimina la necesidad de pensar; primero escribe el contrato: los datos de entrada requeridos, la señal de éxito y qué ocurre en caso de un fallo parcial. Esa lista de verificación mantiene honestas las futuras modificaciones del código. Documenta tanto el camino óptimo como el de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores. Escribe un breve manual de operaciones: cómo rotar las claves, cómo vaciar la cola y cómo revertir la última inserción. Cuando se trabaja con inteligencia artificial, eso no elimina la necesidad de pensar; primero escribe el contrato: los datos de entrada requeridos, la señal de éxito y qué ocurre en caso de un fallo parcial. Esa lista de verificación mantiene honestas las futuras modificaciones del código. Considera esta etapa como un contrato entre los datos de entrada y los resultados validados. Nombra los artefactos, define las verificaciones de éxito y rechaza las completaciones parciales silenciosas.

Prompt → Copy → Commit → Next task

El nuevo ingeniero de software

El nuevo ingeniero de software funciona mejor cuando se le trata como una superficie medible. Capture una transcripción clave, un caso de fallo y la nota de reversión antes de ampliar el alcance. Registre los tiempos y el costo de tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando el proceso pasa de la demostración a entornos compartidos. Fije las versiones de dependencias y registre el resumen de la imagen que ejecutó la demostración. La reproducibilidad supera al conocimiento tribal.

Si usted fuera desarrollador hoy

Si usted fuera un desarrollador, trabajar hoy es más eficaz cuando se trata como una superficie medible. Capture una transcripción clave, un caso de fallo y la nota de reversión antes de ampliar el alcance. Mantenga la configuración fuera del código de la aplicación; los archivos de entorno, los almacenes de secretos y las banderas de funcionalidad deben estar en un lugar donde los operadores puedan auditarlos sin tener que leer todo el sistema. Fije las versiones de las dependencias y registre el resumen del archivo que ejecutó la demostración. La reproducibilidad supera al conocimiento tribal.

Lista de verificación operativa

Al trabajar con la lista de verificación operativa, primero escriba el contrato: entradas requeridas, señal de éxito y qué ocurre en caso de fallo parcial. Esa lista mantiene honestas las futuras modificaciones en el código.

Prefiera unidades pequeñas y verificables sobre scripts extensos. Cuando un paso falla, el fallo debe apuntar a una sola responsabilidad y no a un proceso complicado.

Escriba un manual breve: cómo rotar claves, cómo vaciar la cola de tareas y cómo revertir la última operación de ingestión.

Documente tanto el proceso normal como el de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores.

Añada una prueba de funcionamiento básica que ejecute el camino crítico en los procesos de integración continua utilizando configuraciones fijas, y no APIs pagadas en tiempo real, siempre que lo permitan los presupuestos.

Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de datos secretos y las banderas de funcionalidad deben estar en un único lugar al que los operadores puedan auditar sin tener que leer todo el sistema.

Antes de promocionar la solución, congele las versiones, guarde una transcripción de referencia del proceso crítico y confirme los pasos para revertir cambios. Los entornos compartidos requieren límites de velocidad, verificaciones de asignación y un responsable claro para la rotación de claves secretas. Prefiera una fiabilidad sólida a demostraciones ingeniosas pero puntuales.

Nota por lotes para 34004c5d2824: mantener las claves del proveedor fuera del repositorio, establecer un límite para los tokens por sesión y almacenar las transcripciones junto a los archivos de evaluación para que los cambios posteriores en el modelo sigan siendo comparables.

Lecturas relacionadas

  • Proyectos de ingeniería de IA que realmente indican capacidad de empleo — Trabajos del portafolio que demuestran juicio en la producción, no demos prácticas que nunca salen de un cuaderno.