One of the topics that no one has been able to avoid in recent months? Artificial Intelligence (AI).
Whether for process optimization in organizations, as ChatBots like ChatGPT, or legally questionable AI apps: “For only 4.99 euros, we’ll create avatars for you that, at best, look a bit like you” – we all remember.
One of the truly groundbreaking AI innovations is Copilot, a coding assistant developed by GitHub and OpenAI. Copilot aims to change the way software engineers work by making intelligent suggestions and automating repetitive tasks.
In this blog post, we go deeper into what the tool can do, how we code with AI in software engineering at BAYOOTEC and look at opportunities and risks. In the long term, can such programs really help us to make engineering projects even more efficient? Or will AI replace our jobs in the future?
What can the AI tool Copilot from GitHub offer?
In short, GitHub Copilot works on the basis of machine learning and is aimed specifically at software engineers to assist with programming. Step by step, the tool analyzes code that has already been written and thus learns about structures and patterns. Based on these, CoPilot then suggests suitable code segments – a big time saver.
The program uses not only its own code, but also a variety of data sources such as publicly available repositories on GitHub. Copilot is thus capable of solving even complex tasks.
It also offers a number of features such as the ability to create control flow diagrams, avoid conflicts between codes, and automatically check the quality of the code.
How we engineer software with Copilot at BAYOOTEC
Since the rise of Copilot, it has become tangible to us in the BAYOOTEC team how much time savings AI tools can mean in software engineering. Data-driven applications are what we focus on in many projects. Often, however, we need test data for the project that is as close as possible to reality, data that we can use for engineering.
Through pattern recognition, the tool recognizes names in the sample dataset and creates 10,000 sample names for us. It recognizes the email address and creates 10,000 more sample addresses.
For example, we notice in the user interface that the given characters are not sufficient for all variations of names or that we have not allowed hyphens for “Kai-Uwe”. This benefits us as software engineers, because our code is better, and our customers, because our code contains fewer potential problems.
Advantages of AI like Copilot in software engineering
Another important point is understanding code that is not written by us. We often work with legacy code that we receive from customers. It’s not always of the best quality – after all, there’s a reason why we, the experts, are now working on this code rather than those who originally created it. But before we go through the hassle of trying to figure out ourselves what the author was trying to tell us, Copilot can quickly and easily explain even code that is not the best in terms of quality.
Additionally, Copilot has a good nose when it comes to detecting potential bugs. It’s about the non-obvious bugs (of course, our engineers don’t create obvious bugs), it’s about the kind of bugs that only come out of context. Copilot reliably detects these and points them out. Sounds like the omniscient AI tool is so powerful that it could do all the work on its own right away, right? Why do we need software engineers at all?
The risk that AI will replace our jobs in the future
With all the advantages Copilot offers, there is one crucial shortcoming that saves us all our jobs: There still needs to be a human behind the program who knows which functions should be implemented in the first place, who understands and masters the big picture.
Although many people fear (as with most innovative technologies) that AI will replace jobs in the future, AI in software engineering should be seen much more as a hardworking helper that assists software developers and saves time that would otherwise be spent on manual tasks.
AI in software engineering will not replace our jobs, on the contrary: AI as a work facilitator gives us at BAYOOTEC the chance to put more time into creating innovative ideas and features. Ultimately, this also helps our customers, whose software solutions we continuously engineer and improve.
Conclusion: Is GitHub Copilot or another AI the future of software engineering?
In a nutshell, GitHub Copilot is a brilliant approach and an important step towards integrating AI tools into software engineering and making manual processes easier for engineers.
Of course, neither Copilot nor any other AI will be able to cover every aspect of software engineering – but that’s not what the tools are designed for. Human creativity, experience and expertise are irreplaceable, but AI tools can definitely already help us work more productively and efficiently. And considering the possibilities AI has already brought in other areas, we should by no means close our minds to its ability.
All in all, we can look forward to an exciting future with AI-based tools. And who knows, maybe they will open up possibilities for us that we are not even thinking about today.