Copilot: Programming with AI

Although there are still plenty of doubts about the real impact of AI, there is one sector where its effect can no longer be denied: software development. VORtech quickly started working with the new AI possibilities. But not without the necessary safeguards because there are indeed risks. 

VORtech makes extensive use of Github Copilot, a tool developed by the well-known company OpenAI (from ChatGPT) and Github, the site where many open-source developers store their software. The AI ​​is trained on publicly available software on Github and other sources, allowing it to support various programming tasks. 

The simplest one is the autocomplete functionality, which gives you as a programmer suggestions about the continuation of the line of code you are typing. Just like it works in Word and WhatsApp, for example, but then for the programming language in which you work.  

But Copilot can do much more. It can document, improve code quality, create unit tests, help fix bugs and even write complete programs based on a description of the functionality. 

Concerns 

VORtechs Martina Pippi was one of the first colleagues to start working on this. Martina: “There were quite a few doubts in the beginning whether we could use this. Much of our work is confidential and the software we work on should never leave the office, and certainly not go to OpenAI. But there is a solution for that: you can indicate that Copilot is not allowed to use your code. Even then, it is a strict requirement at VORtech that we do not show literal pieces of customer code to Copilot. Everyone is very aware of that.” 

Another risk is that you could unintentionally use pieces of code that other people have copyright on. When Copilot suggests a code snippet, it could be an exact copy of something Copilot used to learn. This option is turned off at VORtech; then Copilot checks for each suggestion whether it does not literally appear somewhere in public code. If that is the case, the suggestion will not be given. 

Apart from these risks, the correctness of the suggestions is another important point of attention. The tool is not yet perfect and sometimes provides wrong suggestions. So, the programmer still must pay attention.  A study from late ’23 found that as many as 52% of ChatGPT answers to programming questions were wrong. This will certainly have improved considerably by now, but it remains a point of attention. Especially for programming languages ​​that Copilot is less good at, such as Fortran, Delphi or Matlab. And it is precisely these languages ​​that are still regularly encountered at VORtech because we often build on existing software. 

Other skills 

This means that as a developer you must ask the right questions to Copilot, something that is called prompt engineering. Because you talk to Copilot partly in natural language, you will have to understand how Copilot interprets your questions and exactly what answer you are looking for. 

Despite the risks mentioned, Copilot remains a great tool that greatly increases developer productivity. Copilot ensures that developers can focus on the more creative and knowledge-intensive sides of programming, such as software design and finding algorithms with the right accuracy and robustness.  

This also changes the skills you need as a programmer. You will become less of a glorified typist and will make more use of your expert knowledge and skills to consult with customers and users. That has always been what distinguishes VORtechers from other software developers, so in that sense the current developments only make the work at VORtech more interesting. 

Everyone is a programmer, but then… 

Developments do not stop here. In an interesting video, Github CEO Thomas Dohmke talks about Github Copilot Workspace, which allows people to ‘program’ in natural language. This means that knowledge of a programming language is no longer required at all. This is in line with the trend towards low-code or even no-code. The question is to what extent these ideas can be applied to computing software, but here too we see that there are now so many libraries available that we are creating less and less new code. 

It is fascinating that this makes programming possible for a much broader group. But the disadvantage, of course, is that all that software has to be managed. VORtech is already regularly called in by companies to help set up the management of their software. That need will only become stronger. Especially now that software is increasingly becoming a strategic asset.  

In short, these are interesting times for software development.