Github Copilot ¿El fin de los programadores?

Gonzaloturri
Pensando El Futuro
Published in
6 min readNov 24, 2021

¿Podría una inteligencia artificial, aprender a programar por su cuenta, teniendo como material de aprendizaje todo el código subido a Github? ¿Lograría esta máquina mejores resultados que los humanos?¿Podría reemplazar definitivamente a los programadores como los conocemos hoy?

En esta tesina me propondré analizar a Github Copilot; definiré que es, para que fue creado, y trataré de sacar una conclusión sobre cómo afectará esta tecnología al mundo de los programadores.

¿Que es Copilot?

Copilot es una inteligencia artificial basada en GPT-3. Este último es capaz de generar texto a partir de un entrenamiento previo. Ya ha sido capaz de realizar compras por si solo, y Microsoft decidió llevarlo al mundo del código. Acá te dejo un link por si querés saber más sobre GPT-3.

Copilot, desarrollado por Microsoft, fue entrenado a partir de todo el código disponible en Github y en Stack Overflow. Funciona de la siguiente manera.

1- Escribimos un comentario, o el nombre de una función que pide textualmente lo que queremos codear

2- Copilot traerá sugerencias sobre como podría ser ese código

3- El desarrollador elige la opción que mejor considere

Por si querés saber más sobre como funciona Copilot

¿Por qué Copilot?

Copilot fue creado en una colaboración entre el equipo de Github y OpenAI. Su página oficial propone a su producto como una herramienta para poder codear más rápido, con el argumento de que, si alguien ya hizo lo que buscas, para que hacerlo vos si Copilot ya sabe como hacerlo. Su lema también nos hace ver a esta herramienta como ¨humano-dependiente¨ y te aseguran de que vos sos el que está en completo control del desarrollo. Supuestamente además de que vos podes elegir y rechazar las distintas sugerencias que te da el algoritmo, este también se adapta a tu estilo de desarrollo, y propone soluciones lo más parecidas a algo que vos escribirías. Entonces el supuesto fin último de este asistente es agilizar el tiempo de desarrollo. La verdad no estoy seguro de cuántas horas de trabajo puede llegar a ahorrar, pero sin lugar a duda esta tecnología es solo el comienzo del verdadero potencial de la inteligencia artificial.

Opiniones y críticas de la comunidad

Las opiniones de la comunidad de desarrolladores fueron muy variadas; hubo muchos que vieron a esta herramienta como una maravilla para ahorrar tiempo de codeo, y para no tener que googlear lo que están buscando. A simple vista, Copilot parece un producto muy útil que soluciona muchos problemas . Sin embargo, muchos otros desarrolladores están muy descontentos con la salida de este asistente. Muchos se quejan de que Copilot esta violando los derechos de autor que tiene el código publicado en Github. Sería irónico que Copilot llegase a reemplazar a los desarrolladores, sabiendo que este fue entrenado con el código que nosotros mismos publicamos.

Otra cosa que es criticada es que el asistente puede estar sesgado y traer siempre el mismo código, o que puede traer código con errores. Por eso los creadores de Copilot insisten en que revises bien lo que te recomienda, pero si nos volvemos dependientes de esta herramienta podría pasar que los desarrolladores pierdan capacidades. Esto debido a que no van a estar pensando en cómo desarrollar una solución de forma adecuada con el Copilot haciendo todo por ellos. Tampoco sabemos si Copilot va a funcionar para todos los lenguajes y esto puede influenciar a la hora de elegir el lenguaje de programación.

Acá hay algunos videos con distintas opiniones

El primero da un montón de argumentos para no usar Copilot

El segundo da una mirada más optimista y se alegra por el producto logrado

¿Podría Microsoft estar planeando un monopolio de herramientas de desarrollo?

Imaginemos por un segundo que Copilot logra desplazar al desarrollador y ahora las empresas solo buscan gente que sepan usar la herramienta. Esto reduciría los costos una barbaridad; por ejemplo, en Microsoft el salario promedio de un desarrollador ronda los 100 mil dólares por año. Si pensamos que para cada producto nuevo que saca Microsoft usa un equipo de cientos de desarrolladores, el gasto es un número considerable. Microsoft también compro Github por 7,5 billones de dólares en 2018, sin embargo, sigue siendo gratuito. Visual Studio Code, producto de Microsoft, es el editor de código más usado y amado por la comunidad, también gratuito. Por ahora Copilot solo funciona como una extensión para vscode y tiene mucho sentido la verdad. Pensemos que el resto de las empresas quieren contratar a programadores que sepan usar el Copilot para ahorrar gastos. Como estos programadores sólo van a saber trabajar en vscode, Microsoft podría agarrar y hacer todas sus herramientas de pago y obligar a sus competidores a pagarles para sumarse a la rueda. Lo mismo puede pasar con Github, no tenemos ninguna garantía de que sea gratuito para siempre, y ya con la cantidad de empresas que tienen sus productos ahí, es poco probable que los saquen incluso si tuviesen que pagar.

¿Puede Realmente Copilot reemplazar a los programadores?

Cuando escuché por primera vez sobre Copilot, lo primero que se me vino a la cabeza fue que iba a ser el fin de los programadores una vez que el algoritmo aprenda a desarrollar por sí solo. Pero, después de escuchar varias posiciones al respecto, y entender detalladamente como funciona, estoy empezando a pensar que, por ahora, Copilot no supone ninguna amenaza para los programadores. Primero por que el algoritmo no esta entrenado para pensar por si solo, lo que hace es adaptarse a tu contexto de código y brindarte lo que le vayas pidiendo. Por ende, no creo que Copilot pueda desarrollar sistemas completos por sí solo. Otra cosa muy importante es que Copilot crea código nuevo inspirado en uno ya creado por nosotros, que como humanos que somos, es muy probable que tenga errores. Por ahora este algoritmo no se puede dar cuenta si el código que esta usando tiene fallas; es más incluso la comunidad podría intentar sabotear el algoritmo subiendo código malo, pero calificándolo como bueno. Entonces, si sos programador no deberías preocuparte por perder tu trabajo, al menos por estos años.

¿Cuál es mi veredicto final?

Para concluir, pienso que Copilot, si bien es muy controversial, es una herramienta muy interesante con mucho potencial. Ojalá que el equipo de Microsoft le deje probar la herramienta a toda la comunidad al menos por un tiempo, para que aprendamos a usarla. Es posible que haga más fácil el trabajo de desarrollador full-stack, por ejemplo si tiene buenos conocimientos en back-end y en UX pero no sabe mucho de CSS, ahí es donde Copilot puede venir y dar una mano. No soy capaz de imaginar cómo va a evolucionar esta herramienta en el futuro, pero puede ser que la forma en la que programamos hoy termine quedando obsoleta dentro de 5 o 10 años.

Fuentes:

Salario de programadores de Microsoft

Video sobre como funciona Copilot

Opinión de Dot CSV sobre Copilot

Opinión de Better dev sobre Copilot

--

--