To wrap up our expert panel, we spoke with Stephan Felke. As a former software developer, the current product owner has a comprehensive understanding of what it means to work in these different roles and the impact AI will have on software development in the future.
Stephan Felke
How do you assess the current overall situation, and what does that mean for us as a company?
What’s happening right now in the field of AI is definitely having an impact—on us as well. To navigate these changes as smoothly as possible, our AI strategy is therefore based on two pillars. On the one hand, we use AI tools in software development to implement our clients’ projects as effectively as possible; on the other hand, we are developing AI-based solutions ourselves.
As for the first point, as an employer of the future, we are naturally aware that AI tools will most likely come to dominate the market, just as IDEs already do today in supporting software development. We want to play an active role in the modern development process and make it accessible to our employees as well. At the same time, it is also important to us to continue meeting our customers’ needs in the future.
When it comes to our own AI-based solutions, predictive maintenance is certainly one of the largest market segments that delivers added value to our customers. We are currently involved in two projects in this area. For example, we developed a predictive maintenance system for a major logistics company that relies on the analysis of audio data using data science methods and is in use at many locations across Europe and the U.S. The system helps ensure that hundreds of thousands of packages and letters reach their destinations safely every day. In the future, the solution will also be able to process video data to generate even more accurate information about the condition of equipment from a wide variety of manufacturers. For our internal database, we are currently researching ways to develop our own model based on a large language model (LLM).
As far as the general state of software development is concerned, it is clear that these LLMs represent nothing less than an AI revolution. They enable applications that, with earlier AI technologies, could only be implemented with considerable effort—or not at all. What’s astonishing is that these tools are also very easy to use. This ease of use means that more and more people are increasingly adopting these tools, making them more popular. As a result, the amount of development effort invested in these models is growing, which in turn makes them better and better. This creates a kind of virtuous cycle.
Changes like these naturally also have an impact on software development. Currently, IDEs primarily offer improvements on a syntactic level, but the use of AI makes improvements on a semantic level possible. For example, a coding AI can detect when errors have not been addressed and immediately suggest solutions.
AI provides software developers with better support throughout the development process. In the future, requirements will be translated directly into code or proposed solutions. I consider it unlikely at this point that software developers could be completely replaced as a result. As a human, I still have more context and a different perspective on problems, and I understand much better what needs to be implemented than a machine is currently capable of. However, the use of AI tools in software development will increase steadily over the next five to ten years and will ultimately become indispensable.
How do you think the work of software developers will change?
I see a major advantage in the fact that developers will no longer have to worry about things like boilerplate code. Even the generation of tests and all kinds of artifacts (build artifacts, Docker containers, etc.) will be handled more or less by AI tools. However, in my opinion, the core of the code will remain in human hands. These tools can also be helpful when it comes to acquiring new knowledge. Developers are always dependent on acquiring new knowledge. Here, AI can primarily help them gain inspiration or knowledge and assist with implementation.
I see problems arising when developers begin to rely on AI-generated solutions and no longer verify them. In the past, we were always told not to copy code from the Internet, and this rule should also apply to AI-generated solutions. The more complex a solution becomes, the harder it is for humans to understand. Anyone who places complete trust in AI and no longer questions or understands the generated solutions runs the risk of producing faulty or even malicious software. In this field, it’s extremely important to be able to understand what’s happening.
At the same time, the question arises here as well: Who is responsible for the code? As with self-driving cars, there are no clear guidelines yet in this area. In order to avoid software errors—which could have serious consequences—software developers must be able to identify them in AI-generated solutions. As I see it, it remains essential for software developers to ensure that AI-generated solutions are correct.
As the use of AI tools increases, the role of software developers will also change. Even today, this role is already divided into two parts. On the one hand, there’s the production of code, and on the other, there’s code review—that is, checking the code written by others. As for the first role, I can certainly imagine that it will be largely handled by AI tools. The situation is different when it comes to code review. As mentioned earlier, I believe that this review of solutions will continue to make up a large part of a developer’s work and cannot be easily replaced by AI tools.
Of course, all of this also has an impact on the expertise of software developers. Currently, senior developers have a deep understanding of the subject matter and possess extensive knowledge of the finer details. This helps them understand how a software product works, right down to the smallest detail. There will continue to be a need for this type of software developer, if only for the reasons mentioned earlier—such as verifying AI-generated solutions.
It becomes difficult when people work exclusively with AI tools from the very beginning and never even find themselves in a position where they have to grapple with the details. After all, these tools can, above all, lead to the need to work faster and faster. I definitely see a potential danger here: that a company might, for example, end up employing only software developers with superficial knowledge of the field. Companies lacking senior developers will definitely struggle to solve tasks that AI cannot handle due to their complexity.
There will also be an increasing convergence in the understanding of the roles of product owners and software developers. These skills—which go beyond mere coding—will become increasingly important for software developers in the future and cannot be easily outsourced to AI tools.
To avoid getting left behind, it’s important to stay on top of things. This is very much in line with the motto “Embrace the Change.” You can’t stop progress, and we’ve already seen that with things like industrialization. It’s important to recognize the positive aspects and to continually evolve—both as individuals and as a company—because otherwise, you’ll most likely fall by the wayside.
What concerns do you have regarding the increased use of AI?
For me, responsibility is definitely a major issue here. I’d like to come back to the example of self-driving cars. Even though self-driving cars aren’t directly related to software development, the technology behind them certainly is. There are scientific studies that examine what a person would do if, for example, they had to decide whether to drive into a wall or into a person or a group of people, depending on their chances of survival. The parameters can be interchanged at will. Some of these questions present moral dilemmas, and it’s not possible to make a clear-cut decision.
If even humans aren’t capable of deciding what’s right or wrong, how could a machine possibly do so? It also becomes problematic if the machine were trained using data that benefits a specific group. This is a very dystopian idea, but wouldn’t it be possible in principle—and we’re still talking about self-driving cars here—for a wealthy person to buy access to so-called “premium lanes”? In other words, an algorithm that, for this privileged individual, selects the route that offers the highest chance of survival in the event of an accident—even if someone else were to be harmed in the process? Self-driving cars are only part of the problem here. Especially for people who develop AI applications, the question arises time and again: Can I reconcile this with a moral compass that serves the common good?
Another aspect I see in this context is the issue of data protection and security. As a rule, the data used always feeds into the training of the AI model. In principle, it is possible to extract data that has been entered into a system. With the right queries against the AI system, it may be possible to regenerate parts of the raw data. This, of course, raises a data protection issue. It would certainly also be possible to train an AI specifically to recover data from an AI model.
Overall, however, I believe the opportunities created by the use of AI—whether in software development or for us humans—far outweigh the risks. After all, self-driving cars are leading to a significant drop in the number of traffic fatalities. When I think about how we’ve evolved from cave dwellers who used stones as tools, to people who made tools out of liquid metals, to people who use machines, and finally to people who build machines that do things on their own, I’m really quite impressed. Each of these developments has improved our situation as a species. Our current prosperity is based on this process of constant advancement. Why shouldn’t AI be the next step on this path—and why shouldn’t we use it to our advantage?