Tres campeones de Java con más de una década de experiencia han compartido cómo usan GitHub Copilot en trabajos de producción y de código abierto. Sus ejemplos abarcan desde la creación de funciones y la migración de material didáctico hasta la investigación de errores. En sus distintos enfoques, destacan que la IA puede acelerar la ejecución, pero que los desarrolladores aún deben aportar contexto, verificar los resultados y hacerse responsables de lo que publican.
Vlad Mihalcea usa Copilot en IntelliJ IDEA para investigar código y crear prototipos de funciones para Hypersistence Utils y Hypersistence Optimizer. Explicó que una aplicación web para consultar el historial de eventos de un optimizador de rendimiento —un proyecto que antes esperaba que le llevara semanas— tardó dos días en implementarse con Copilot. Aun así, revisa tanto los planes propuestos como el código generado, y utiliza habilidades personalizadas para adaptar la documentación a su estilo de escritura y a las convenciones existentes del proyecto.
Patrick Baumgartner describió tres usos distintos. En uno de ellos, Copilot ayudó a migrar unas 900 diapositivas de 15 presentaciones de Reveal.js a Marp. El trabajo tomó aproximadamente entre ocho y diez horas. Baumgartner comprobó los resultados mediante capturas de pantalla, comparaciones visuales y algorítmicas, revisiones de animaciones en paralelo y comparaciones de archivos PDF, y conservó la responsabilidad sobre el contenido y los objetivos pedagógicos.
En otro caso, un usuario informó que la tecla Enter no funcionaba en algunos formularios de una aplicación de terminal. Baumgartner usó Copilot para ayudar a reproducir el problema con pruebas de interfaz de usuario, identificar la causa en el proyecto Tamboui y enviar una solución que se incorporó al proyecto. También usó la herramienta para encontrar una forma más compacta de representar los pasos de las pruebas cuando las descripciones originales superaban el contexto disponible.
Su tercer ejemplo fue una aplicación de aprendizaje de matemáticas diseñada según el currículo escolar suizo. Junto con Copilot, exploró distintos enfoques de aprendizaje y reconsideró su plan inicial de crear una aplicación universal. La aplicación resultante admite alemán, francés, italiano e inglés, e incluye modos de práctica y para dos jugadores. No tiene backend, por lo que los datos de los usuarios permanecen en el dispositivo.
Baumgartner afirmó que ahora utiliza principalmente flujos de trabajo con agentes: elige un editor cuando necesita una respuesta visual inmediata y un agente de programación basado en terminal para tareas más grandes. También recomendó conversar sobre los requisitos antes de pedirle a un agente que implemente un cambio importante, revisar un plan y establecer verificaciones específicas para demostrar que el trabajo está terminado. Tanto él como Mihalcea describieron las habilidades reutilizables como una forma de trasladar a tareas futuras las convenciones del proyecto y las lecciones aprendidas en trabajos anteriores.
Sus testimonios presentan Copilot como una herramienta para acelerar el trabajo y poner a prueba las ideas, no como un sustituto del criterio de ingeniería. El principio rector de Baumgartner era delegar la ejecución, no la responsabilidad; afirmó que los desarrolladores aún deben inspeccionar y probar los resultados por sí mismos.
Fuentes: GitHub Blog.