Software engineering in the AI era
Expand the table of contents
Artificial intelligence facilitates automation in software engineering
An example to try out
RACI matrix for software engineering with and without AI
The new weighting of tasks
Consequences for teaching and training
Conclusion: Redefinition instead of replacement
How is artificial intelligence changing the role of software engineers?
The automation of work is not a new phenomenon. For centuries, humans have dreamed of machines taking over monotonous or dangerous tasks. For a long time, this mainly affected physical or clearly automatable activities that could be described by rules. Today, however, in the age of artificial intelligence (AI), this change is also reaching intellectual work. What does this mean for software engineering? Which tasks will machines take over in the future, and which will remain the preserve of humans?
In the following, I outline a new, changing professional role. The role of the software engineer will not be replaced, but redefined.
Software engineering transformed by artificial intelligence
Software engineering has long been characterised by human discipline, systematic approaches and clearly structured processes, as described in IEEE Standard 610.12: ‘… a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software.’ However, this work is currently undergoing fundamental change.
AI models such as ChatGPT, Copilot and AlphaCode are not just tools, but act as co-producers and partners in the creation, testing and optimisation of software artefacts.
This has far-reaching consequences for processes, tasks, required skills, role models and also for the training of future software engineers.
Artificial intelligence facilitates automation in software engineering
Automation in software engineering began long before the advent of modern AI. For years, tools have been supporting the extraction of requirements from documents, the reverse engineering of legacy systems, model-based development and automated code generation. Rule- and key figure-based code analyses, model-based testing and test automation have also been established for some time.
However, the introduction of powerful AI models is changing the level of autonomy and flexibility that automation can achieve today. Systems are now also taking on tasks that previously could not be described purely in terms of rules. AI can
- create stakeholder analyses and context descriptions,
- propose innovative requirements, convert free text into user stories or improve specifications,
- design prototypes and sketches for user interfaces,
- generate code and test cases, and
- support reviews with checks.
A look at the typical tasks in software engineering shows the potential of this development. Classic tasks include:
- Requirements determination
- Requirement documentation
- Requirement review
- Architecture design
- Programming
- Testing
- Document management
- Configuration management
Without AI, it has so far been possible to automate mainly programming (code generation), testing and configuration management. With AI, almost all areas can now be supported automatically, at least in part. Only the actual requirements determination remains predominantly a human task.
Nevertheless, every AI result is only a draft or suggestion. It is only through testing, adaptation and quality assurance by software engineers that it becomes a reliable work result.
An example to try out
Why not try it yourself with any generative AI model, such as ChatGPT, and an application example of your choice: ‘Please create a prototype user interface for a mobile to-do list app in ASCII format.’
Note: HTML format also works well, but graphical user interfaces are not yet fully developed.
ChatGPT provided me with the following result:
The next prompt could be: ‘What other user interfaces does this application need?’
Or: ‘Please write me user stories for the to-do list app.’
You can create code and test cases in exactly the same way.
RACI matrix for software engineering with and without AI
A RACI matrix can be used to show which roles perform which tasks in the software development process. Table 1 shows a typical software engineering process without AI, and Table 2 shows the same process with AI.
The role of software engineer is a collective term that encompasses the activities of requirements engineers, architects, developers and testers.
Project Manager or Scrum Master | Requirements Engineer or Product Owner | Architect | Developer | Tester | User | AI | |
Requirements analysis and review | A | R | C | ||||
Requirements documentation | A | R | I | I | I | Q | |
Architectural design | A | R | Q | Q | |||
Programming | A | C | R | Q | |||
Testing | A | C | R | Q |
Table 1: RACI matrix without AI. The letters mean: R = responsible, A = accountable, C = consulted, I = informed, Q = quality assurance
Project Manager or Scrum Master | Requirements Engineer or Product Owner | Architect | Developer | Tester | User | AI | |
Requirements analysis and review | A | R | C | C | |||
Requirements documentation | A | Q | I | I | I | Q | R |
Architectural design | A | Q | Q | Q | R | ||
Programming | A | C | Q | Q | R | ||
Testing | A | C | Q | Q | R |
Table 2: RACI matrix with AI. Changes to Table 1 are highlighted in colour.
It is clear to see that AI takes on responsibility for many tasks, while the roles previously responsible for execution now take on quality assurance for the results.
The new weighting of tasks
Artificial intelligence is fundamentally changing the tasks of software engineers, not in terms of their objectives, but in terms of their weighting:
Classic | With AI support |
Write requirements | Write prompts |
Design architectures | Evaluate and integrate AI suggestions |
Write code by hand | Review and adapt code drafts |
Design tests manually | Monitor test generation and refine tests |
The comparison with the profession of translator is obvious: here too, AI has led to a shift from active translation to post-editing of machine results.
And what does this mean in concrete terms for the skill set that software engineers will need in the future? In addition to their existing qualifications, software engineers will need to have the following:
- AI expertise and a willingness to engage in lifelong learning about AI (knowledge of tools, mastery of prompt formulations)
- the ability to embed ethics and responsibility in AI systems (e.g. reducing bias, ensuring security and data protection)
- Review skills for critically examining machine-generated artefacts
- Communication and integration skills for the new work processes
The ability to engage in continuous professional development will also become crucial. As AI models and their capabilities evolve rapidly, lifelong learning is no longer an ideal, but a professional necessity.
Consequences for teaching and training
Despite all the technical advances, one thing remains true: the human role will not become obsolete. Creativity, empathy, judgement and an understanding of context-specific requirements will remain the preserve of humans. The role is simply shifting from purely productive activity to supervision. The software engineer of the future will not be a developer in the narrow sense, but rather a conductor of AI-supported development processes.
This changing role has far-reaching implications for universities, training programmes and continuing education institutions:
- Teaching traditional coding skills remains important, especially for developing a deep understanding of the concepts.
- Much greater emphasis must be placed on system design, review processes, communication with stakeholders and the use of AI-supported tools.
- The integration of complex systems will become a core task, especially the interaction between human-developed and machine-generated components.
However, we first need a new understanding of software engineering before we can teach it.
Conclusion: Redefinition instead of replacement
AI will not replace software engineers, but rather change the way we work. Where a lot of time used to be spent manually creating artefacts, the focus will now be on critiquing, improving and integrating AI suggestions.
Future software engineers will:
- work at least twice as productively (similar to translators)
- check and refine the results of AI
- ensure compliance with ethical and technical standards
- build bridges between stakeholders and AI-generated solutions.
The benefits: less routine work, higher productivity, more room for creativity and responsibility, and a new, exciting dimension of collaboration between humans and machines.
Notes:
This article is based on Dr Andrea Herrmann’s presentation ‘Vision: Redefining the Role of the Software Engineer in the Age of Artificial Intelligence,’ which she gave on 20 May 2025 at the International Software Quality Days conference.
Everything you need to know about requirements engineering in 37 pages, now available to download.
If you like this article or would like to discuss it, please share it with your network. And if you have any comments, please do not hesitate to send us a message.
Dr Andrea Herrmann has published more articles on the t2informatik Blog, including

Dr Andrea Herrmann
Dr Andrea Herrmann has been a freelance trainer and consultant for software engineering since 2012. She has more than 28 years of professional experience in practice and research.
Dr Herrmann was most recently a deputy professor at Dortmund University of Applied Sciences and Arts, she has published more than 100 specialist publications and regularly gives conference presentations. She is an official supporter of the IREB Board and co-author of the IREB syllabus and handbook for the CPRE Advanced Level Certification in Requirements Management.
In the t2informatik Blog, we publish articles for people in organisations. For these people, we develop and modernise software. Pragmatic. ✔️ Personal. ✔️ Professional. ✔️ Click here to find out more.