- Auf dieser Seite
- Wie setzen Softwareentwickler*innen KI aktuell ein?
- Wie KI die Rolle von Programmierer*innen verändert – im Detail
- Codeschreiben mit KI automatisieren: Fluch oder Segen?
- Die Zukunft der Softwareentwickler*innen im Zeitalter von KI
- KI vs. menschliche Entwickler*innen: wer gewinnt?
- Kommen wir zur Sache: Was wird nun aus den Entwickler*innen?
KI hat disruptive Kraft. Menschen auf der ganzen Welt experimentieren mit bekannten Tools wie ChatGPT, wie sie schneller und kreativer Texte und Bilder gestalten können. KI durchdringt je länger, je mehr auch die Arbeitswelt: Gemäss dem Global AI Adoption Index 2022 nutzen branchenübergreifend 35% aller Unternehmen KI. Zudem sind 75% der Führungskräfte überzeugt, dass KI ihrem Unternehmen zu mehr Wachstum verhelfen wird. Diese Zahlen dürften seit 2022 steil angestiegen sein.
Wir zeigen u.a. anhand realer Beispiele, wie KI die Softwareentwicklung verändert, wie sie sich auf die Arbeit von Programmierer*innen auswirkt und wie sich deren Rolle wandelt. Selbstverständlich beleuchten wir auch das Dafür und das Dawider KI-gestützter Softwareentwicklung und – am allerwichtigsten – beantworten die brennende Frage: Macht KI Softwareentwickler*innen überflüssig?
Wie setzen Softwareentwickler*innen KI aktuell ein?
Haben Sie sich schon mal gefragt, ob Softwareentwickler*innen im Zeitalter von KI einfach Däumchen drehen und die Arbeit der Technologie überlassen? Ganz so einfach ist es nicht.
Die Rolle von KI bei der Softwareentwicklung
Es ist wichtig zu verstehen, dass KI die Softwareentwicklung nachhaltig verändert. Mit KI-Funktionen ausgestattete Tools werden für Entwickler*innen Alltag. Sie unterstützen den Entwicklungsprozess bei diversen Schritten, z.B. automatisieren sie Routineaufgaben, schreiben und optimieren Code, erkennen Fehler und verbessern das Nutzererlebnis.
Ein herausragendes Beispiel ist DeepCode. Das KI-gestützte Tool analysiert Quellcode, findet mögliche Fehler und Schwachstellen und liefert Vorschläge zur Verbesserung der Codequalität. GitHub Copilot, ein weiteres Tool, erstellt Code auf der Grundlage von Kontext und vorhandenen Beispielen. Mit Milliarden von Codezeilen trainiert, kann es als Pair-Programmer für Entwickler fungieren, automatisch Code generieren, Vorschläge machen und umsetzen.
Interessiert an weiteren Tools? Hier entlang.
Wie KI die Rolle von Programmierer*innen verändert – im Detail
Seit die Menschen programmieren, mussten sie sich immer wieder anpassen und weiterentwickeln. Auch KI bringt Veränderungen mit sich. Mit den Fortschritten von KI ändern sich die Zeiten, auch für Programmierer*innen.
Wie KI die berufliche Situation von Programmierer*innen verändert
Indem KI repetitive Aufgaben automatisiert, die Produktivität steigert, eine erweiterte Fehlersuche ermöglicht usw., drängt sie Entwickler*innen in neue Rollen. Was bedeutet das in der Praxis? Hier ein Einblick von Jessica:
«Ich habe langjährige Erfahrung als Softwareentwicklerin. Bis vor Kurzem habe ich Code von Grund auf neu geschrieben, optimiert, getestet und verbessert. Um Informationen zu sammeln, nutzte ich meine Kenntnisse von Frameworks und Libraries, recherchierte im Internet oder fragte Kollegen.
Heute erledigt generative KI diese und mehr Aufgaben – in einem Bruchteil der Zeit. Das wirkt sich auf meinen Alltag als Entwicklerin aus.
Wenn ich jetzt neue Funktionalität in einem Projekt einführen soll, beginne ich mit der Ideenfindung. Zunächst beschreibe ich in groben Zügen die technischen und geschäftlichen Vorgaben sowie meine Vision der neuen Features. Dann bitte ich die KI um zwei Vorschläge, wie sich das Problem lösen lässt. Ich wähle eine Möglichkeit aus und schlage gestützt auf mein Fachwissen Verfeinerungen vor.
Nun fordere ich den in die IDE (integrierte Entwicklungsumgebung) integrierten KI-Assistenten auf, Platzhalter-Code, grundlegende Strukturen und eine erste Implementierung für die Geschäftslogik zu erstellen. Dies beschleunigt die erste Phase der Entwicklung. Dann verfeinere ich den von der KI erstellten Code wiederum. Dabei behalte ich stets die projektspezifischen Bedürfnisse und Vorgaben im Blick.
Zum Schluss prüfe ich das Ergebnis. Denn ich trage auch für den Beitrag der KI die volle Verantwortung.»
Fähigkeiten, die für Entwickler*innen im KI-Zeitalter ein Muss sind
Da künftig kein Weg an KI vorbeiführen wird, gewinnen sowohl KI-bezogene als auch gewisse herkömmliche Fähigkeiten an Bedeutung. Zum Beispiel:
- Für stetes Lernen und Weiterbildung offen sein
Entwickler*innen wie Jessica müssen stets auf dem Laufenden sein über die aktuellen Technologien, Tools und Programmiersprachen von KI. Sie müssen neue Fähigkeiten erwerben und sich in KI-Communitys engagieren. Ebenso wichtig: Zu verstehen, welche geschäftlichen Bedürfnisse aus der KI-getriebenen Disruption entstehen, und zu lernen, auf entscheidende Trends zu reagieren. Nur so sind Entwickler*innen letztlich in der Lage, ihr KI-Wissen zu nutzen, um echte Probleme von Menschen zu lösen. - Mit KI-Systemen zusammenarbeiten
Wollen Entwickler*innen effizienter und produktiver sein, müssen sie verstehen, wie sie KI-Tools in neue Designs und in den Entwicklungsprozess integrieren können. Eine zunehmende Anzahl Programmierer*innen wird sich mit Themen wie Data Engineering und ML Frameworks befassen müssen, um sie in ihre Arbeit einzubeziehen. - Auf KI-Bereiche spezialisieren
Um auf Nummer sicher zu gehen, sollten sich Entwickler*innen auf Teilgebiete von KI spezialisieren, etwa Natural Language Processing, Computer Vision oder bestärkendes Lernen (Reinforcement Learning). - Menschliche Fähigkeiten trainieren
Da KI Routineaufgaben übernimmt, können sich die Entwickler*innen auf komplexe Herausforderungen konzentrieren, bei denen eine kritische Denkweise, Kreativität oder intuitive Problemlösung gefragt ist. Diese menschlichen Fähigkeiten können KI-Tools nicht simulieren. Dasselbe gilt für Kommunikation, Teamarbeit und Anpassungsfähigkeit – Soft Skills, die für die Zusammenarbeit in fachübergreifenden Teams unerlässlich sind.
«Entwickler*innen müssen verstehen, welche geschäftlichen Bedürfnisse aus der Disruption entstehen, und lernen, auf Trends zu reagieren. Nur so können sie echte Probleme von Menschen lösen.» Dávid Balakirev |
|
Codeschreiben mit KI automatisieren: Fluch oder Segen?
Ob es eher Fluch oder Segen ist, wenn das Codeschreiben mit KI automatisiert wird, hängt von der Situation und den Zielen (zum Beispiel Standard- vs. Individualsoftware) eines Unternehmens ab.
Vorteile, wenn Codeschreiben mit KI automatisiert wird
Vorteile, wenn Codeschreiben mit KI automatisiert wird |
|
Höhere Produktivität |
|
Bessere Codequalität |
|
Skalierbarkeit und Anpassbarkeit |
|
Codepersonalisierung |
|
Konsistente Projekte |
|
Lernen und Erweitern von Fähigkeiten |
|
Kein Zweifel: Werden gewisse Aufgaben mit KI automatisiert, zeigen sich die Vorteile über den gesamten Entwicklungszyklus und firmenweit. Dies sind die wichtigsten Hebel für einen Performance-Kick:
- Höhere Produktivität
Dank Automatisierung wenden Entwickler*innen weniger Zeit für einfache Aufgaben auf. Sie können sich auf komplexere und kreativere Aspekte ihrer Arbeit konzentrieren, was zu höherwertigen Beiträgen führt. - Bessere Codequalität
KI analysiert Codemuster, deckt mögliche Fehler auf, schlägt Verbesserungen vor und trägt so zur Gesamtqualität des Codes bei. Automatisierte Prüfungen helfen, Probleme zu ermitteln, die mit Coding-Standards, Best Practices und möglichen Schwachstellen zusammenhängen. - Skalierbarkeit und Anpassbarkeit
Die Automatisierung mit KI ist skalierbar, d.h. sie eignet sich für verschieden grosse und komplexe Projekte. Überdies lassen sich KI-Tools in vielfältigen Entwicklungsszenarien anwenden, da sie an diverse Programmiersprachen und Frameworks anpassbar sind. - Codepersonalisierung
KI-Tools sind in der Lage, sich individuellen Stilen und Vorlieben beim Codeschreiben anzupassen. Sie liefern personalisierte Vorschläge und Verbesserungen. Entwickler*innen können das KI-Tool so auf ihre Gewohnheiten beim Codeschreiben abstimmen, dass es ihr Nutzererlebnis verbessert. - Konsistente Projekte
Die Automatisierung mit KI ermöglicht es, Standards und Best Practices beim Codeschreiben durchzusetzen. Dies gewährleistet eine projektübergreifende Konsistenz, was die Codepflege und die Zusammenarbeit der Entwicklerteams vereinfacht. - Lernen und Erweitern von Fähigkeiten
KI unterstützt Entwickler*innen dabei, sich neues Wissen über Programmiersprachen, Libraries, Frameworks und Konzepte anzueignen. Zudem tragen laufende Feedbacks und Vorschläge von KI-Tools dazu bei, die Fähigkeiten zu erweitern.
Beispiele von Aufgaben, die sich mit KI automatisieren lassen
Aufgaben, die sich mit KI automatisieren lassen:
Code erstellen
- Codeschnipsel, Vorlagen oder ganze Features erstellen
Code verstehen
- Programm bei Start eines neuen Projekts kennenlernen
Code überarbeiten und optimieren
- Bestehende Codebasis analysieren
- Ineffizienzen erkennen
- Überarbeitungsstrategien vorschlagen
Fehler beheben
- Potenzielle Probleme entdecken
- Fehlermuster erkennen
- Fixes vorschlagen
Vorausschauend Code schreiben
- Vervollständigung oder Korrektur vorschlagen, während Entwickler Code schreiben
Testen
- Testfälle erstellen
- Mögliche Grenzfälle vorhersagen
- Selbständig Tests ausführen
Nachteile, wenn Codeschreiben mit KI automatisiert wird
Nachteile, wenn Codeschreiben mit KI automatisiert wird | |
Geringere Kreativität |
|
Abhängigkeit und Verkümmern von Fähigkeiten |
|
Verzerrte Daten und Fehlerverstärkung |
|
Erstinvestition |
|
Ethische und rechtliche Herausforderungen |
|
Angst vor Stellenverlust |
|
Wie gezeigt, bringt es zahlreiche Vorteile, wenn Codeschreiben mit KI automatisiert wird. Wie üblich gibt es auch die Kehrseite der Medaille, insbesondere:
- Geringere Kreativität
KI tut sich schwer damit, Probleme kreativ zu lösen oder ausserhalb angestammter Muster zu denken. Die Grenzen von KI-Algorithmen können Kreativität und Innovation hemmen. - Abhängigkeit und Verkümmern von Fähigkeiten
Verlassen sich Entwickler*innen beim Codeschreiben zu stark auf KI, drohen wichtige Fähigkeiten wie kritisches Denken und Problemlösung zu verkümmern. - Verzerrte Daten und Fehlerverstärkung
KI-Modelle übernehmen gelegentlich Voreingenommenheiten in den Trainingsdaten. Ebenso können verzerrte Daten entstehen, wenn Entwickler*innen «schlechtem Code» aus der Datenbank verwenden. Finden sie zudem Fehler in den Trainingsdaten, können sie diese «verewigen» oder verstärken, was zu potenziell problematischem Code führt. - Erstinvestition und Pflege
Wer zwecks Automatisierung KI-Tools einführen will, muss zuerst in Zeit, Arbeitskraft und Training investieren. Die Pflege und die Aktualisierung dieser Tools, um mit den Coding-Verfahren Schritt zu halten, können sich ebenfalls als ressourcenintensiv erweisen. - Ethische und rechtliche Herausforderungen
Die Nutzung von KI zum Codeschreiben wirft eventuell ethische und rechtliche Fragen auf, insbesondere was Eigentum, Lizenzierung und Verantwortung für den erzeugten Code angeht. - Angst vor Stellenverlust
Es gibt Entwickler*innen, die befürchten, ihre Stelle zu verlieren, wenn das Codeschreiben im grossen Stil automatisiert wird.
Wie sich die Automatisierung des Codeschreibens mittels KI auswirkt, hängt letztlich davon ab, wie diese Änderung eingeführt und in den Entwicklungsprozess integriert wird. Entscheidend für den Erfolg wird die Balance sein zwischen dem Ausschöpfen des Potenzials von KI und dem Bewahren der wichtigsten Rollen menschlicher Entwickler.
Was sagen Experten zu den Grenzen von KI beim Codeschreiben?
Hier ein paar Stimmen von professionellen Softwareentwickler*innen zu den Erfahrungen, die sie mit den Grenzen von KI beim Codeschreiben gemacht haben:
«KI strafft zwar Prozesse, doch braucht es den Menschen, um die Übersicht zu behalten über Kontext, Ethik und Fehlerbehebung.»
«Die Probleme reichen von ‹das Prompten von Code dauert länger als das Schreiben› über ‹wollte eine falsche Library-Version benutzen› bis hin zu ‹war unfähig, meinen Code zu interpretieren›.»
«Ich werde KI erst benutzen, wenn mein Arbeitgeber eine Firmenlizenz für ein KI-Tool kauft, sodass ich es vermeiden kann, das Modell mit internen Daten zu trainieren.»
«Die Nutzung von KI kann das Recht am geistigen Eigentum verletzen.»
Die Zukunft der Softwareentwickler*innen im Zeitalter von KI
Welche Rolle KI in der Softwareentwicklung 2024 und danach spielen wird
Es ist nicht zu übersehen: Die Diskussionen über KI in der Softwareentwicklung schwanken heute und wohl auch künftig zwischen Begeisterung und Bedenken.
Im Jahr 2024 und danach werden die Fähigkeiten von KI gemäss Prognosen exponentiell zunehmen, was den Prozess der Softwareentwicklung zusätzlich unterstützt. Künftige Tools werden anpassbar sein: Sie funktionieren mit Firmensystemen und machen Vorschläge, überlassen die Entscheidung aber den Nutzer*innen.
KI-Systeme beherrschen zahlreiche Schritte im Softwareentwicklungszyklus, offenbaren indes auch einige mögliche Schwächen:
- Der erzeugte Code ist falsch oder beruht nicht auf Best Practices
- Der Code ist syntaktisch korrekt (nicht schadhaft), aber semantisch falsch
- Es sind verzerrte bzw. voreingenommene Daten vorhanden, was ethische Fragen aufwirft
- Wird ein System kompromittiert, entstehen Sicherheitsrisiken
- Wenn Systeme riesige Datenmengen verarbeiten, verletzen sie unabsichtlich die Privatsphäre von Nutzer*innen
- Die Systeme beeinträchtigen das kritische Denkvermögen und die Problemlösungsfähigkeiten von Nutzer*innen, wenn diese sich zu sehr auf KI verlassen
Diese Bedenken dürften über 2024 hinaus anhalten. Mit anderen Worten: Es wäre noch verfrüht für Softwareentwickler*innen, Däumchen zu drehen. Vielmehr das Gegenteil sollte der Fall sein.
Wie sich die Rolle der Softwareentwickler*innen verändert
Künftig werden sich jene Softwareentwickler*innen behaupten, die bereit sind, stets dazu zu lernen, die KI-Systeme in ihre Arbeit einbeziehen und sich auf einen KI-Teilbereich spezialisieren. Zugleich kommen sie nicht umhin, ihre menschlichen Fähigkeiten zu erweitern, einschliesslich Kommunikation und Teamarbeit.
In ihrer neuen Rolle befassen sich Softwareentwickler*innen zunehmend mit dem grossen Ganzen: Probleme erkennen, Probleme formulieren, Systeme gestalten, Lösungen entwickeln und KI nutzen, um diese Konzepte zu verwirklichen.
Herausforderungen? Gibt es. Viele. Beispielsweise soll die Zusammenarbeit in hybriden Teams aus Softwareentwickler*innen, Datenspezialist*innen und Fachexpert*innen Alltag werden. Besonders wichtig: Entwickler*innen spielen eine entscheidende Rolle bei der Einschätzung und Handhabung der ethischen Auswirkungen. Sie sollen überdies die Verantwortung für die gesellschaftlichen Folgen von KI übernehmen, einschliesslich Themen wie Voreingenommenheit, Schutz der Privatsphäre und Sicherheit.
Wie Softwareentwickler*innen KI optimal nutzen
Softwareentwickler*innen sollten die neuen Tools definitiv zu ihrem Vorteil nutzen.
Lassen wir unserer Fantasie freien Lauf: Mithilfe von KI könnten Softwareentwickler*innen digitale Lösungen schaffen, bei denen eine kognitive Komponente in die Architektur eingebaut ist. Denkbar ist zum Beispiel ein Tool mit erweiterten KI-Funktionen für die Mitarbeiterbeurteilung, das die Stimmung der hochgeladenen Feedback-Dokumente erkennt und basierend darauf Ziele oder Kurse vorschlägt.
Beispiele, wie Entwickler*innen KI in ihre Arbeit integrieren können
Hier sind zwei konkrete Beispiele, wie KI Softwareentwickler*innen bei deren täglichen Arbeit unterstützen kann:
- Verwendungsmuster
Ein/-e Programmierer*in wendet bestimmte Muster an, wenn er/sie bei der Entwicklung einer Applikation ein Feature (Widget, API, Backend) implementiert. KI ist fähig, diese Muster zu lernen. Will der/die Entwickler/-in ein neues Feature hinzufügen, muss er/sie dieses nur noch beschreiben (Prompt). KI erzeugt dann automatisch den Code, einschliesslich der Tests. - Virtual pair-programming
Beim Pair-Programming («Paarprogrammierung») programmiert eine Person, während eine zweite damit verbundene Aufgaben übernimmt. Diese Methode hat das Potenzial, den Flow und die Freude der Entwickler*innen an ihrer Arbeit kräftig zu befeuern. Dies aus zahlreichen Gründen: Ein virtueller Kollege ist rund um die Uhr verfügbar, er versteht den Zusammenhang und die Aufgaben, hilft sofort, liefert unmittelbar Feedback usw.
KI vs. menschliche Entwickler*innen: wer gewinnt?
Ob nun KI oder die menschlichen Entwickler*innen beim Codeschreiben die Nase vorn haben, hängt im Einzelfall von den spezifischen Anforderungen ab. Dazu einige Überlegungen:
Stärken und Schwächen von KI-Entwickler*innen
KI-Tools sind dafür konzipiert, rasch und genau hohe Datenvolumen zu verarbeiten. KI glänzt insbesondere bei der Datenanalyse und der Automatisierung repetitiver Aufgaben, die Teil des Entwickelns sind. Mittels Machine-Learning-Algorithmen ist KI sogar in der Lage, zu lernen, sich anzupassen und so die Softwareentwicklung zu optimieren.
Wenn es allerdings darum geht, Probleme kreativ zu lösen oder komplexe Nutzererfahrungen zu verstehen, stösst KI klar an Grenzen. Zwar lässt sie sich so programmieren, dass sie zig menschliche Attribute nachahmen kann. Doch ihre Fähigkeit, menschliches Denken tatsächlich zu verstehen und nachzubilden, bleibt fragwürdig.
KI vs. menschliche Entwickler*innen: Stärken und Schwächen | ||||||
KI | Mensch | |||||
Stärken |
|
|
||||
Schwächen |
|
|
Stärken und Schwächen von menschlichen Entwickler*innen
Im Gegensatz zu KI sind menschliche Programmierer*innen in der Lage, kreativ zu arbeiten, abstrakt zu denken und bei Entscheidungen ethische Aspekte zu berücksichtigen. Diese Eigenschaft gepaart mit der Fähigkeit, menschliche Bedürfnisse und Erfahrungen zu verstehen, ermöglicht es «echten» Programmierer*innen, nutzerzentrierte und innovative Software zu entwickeln.
Selbstverständlich sind auch Menschen nicht frei von Schwächen. Repetitive oder eintönige Aufgaben können zu Fehlern, Ineffizienz und mittelfristig sogar zu Motivationsproblemen führen. Zudem sind Menschen bei der Verarbeitung hoher Datenvolumen nicht annähernd so schnell und genau wie KI – was gewisse Phasen der Softwareentwicklung bremsen kann.
Wer hat nun die Nase vorn?
Beide. Es ist ein Kopf-an-Kopf-Rennen. Denn sowohl KI als auch menschliche Entwickler*innen haben Stärken, die je nach Szenario sehr wertvoll sind. Das zu verstehen, hilft, die jeweiligen Stärken gezielt zu nutzen. Gelingt das, lässt sich Software künftig effizienter und dynamischer entwickeln.
«Entwickler*innen, die im stillen Kämmerlein vor sich hin arbeiten, sind passé. Heute sind solche mit ausgeprägten Softskills wie emotionale Intelligenz, Kommunikationsstärke, Kreativität und Flexibilität gefragt, die sich komplexen Aufgaben widmen und Routineaufgaben der KI überlassen.» Vanessa Aicher |
|
Kommen wir zur Sache: Was wird nun aus den Entwickler*innen?
KI birgt zweifellos enormes Potenzial. Sie wird Softwareentwickler*innen jedoch vielmehr unterstützen als ersetzen, zum Beispiel indem sie als Co-Pilot agiert. Einzigartige menschliche Fähigkeiten wie Kreativität, Problemlösung und emotionale Intelligenz bleiben unersetzlich.
Tatsächlich steuern wir nicht auf eine von KI bestimmte Welt zu, sondern auf eine, in der wir das Beste aus beiden Welten nutzen. Wir sollten KI als Hilfe betrachten, die uns produktiver macht, und nicht als Konkurrentin, die uns aufs Abstellgleis manövriert. Das Gegenteil ist der Fall: KI wird dem Fachkräftemangel in der IT-Branche entgegenwirken.
Nutzen Sie die Entwicklung zu Ihren Gunsten: Machen Sie sich mit KI-Technologien vertraut und beziehen sie das Potenzial von KI in ihre Arbeit ein. Überlassen Sie die langweiligen Arbeiten der Maschine. Widmen Sie sich strategischen und kreativen Aufgaben, die erfolgsentscheidend sind.
Planen Sie, KI zu Ihrem Verbündeten zu machen in dieser von Technologie und Tempo geprägten Welt? Denken Sie daran: Es sind Menschen, die die Technologie entwickelt haben. KI ist ein Werkzeug. Und ein Werkzeug gehört in starke Hände. Sie haben es jederzeit im Griff.