Die Entwicklung und Möglichkeiten mit künstlicher Intelligenz (KI) schreiten schnell voran. Mit KI-gestützten Tools wie GitHub, OpenAI Codex oder Copilot kommt KI unterschiedlich zum Einsatz: von einfachen Codevorschlägen, bis zur Verbesserung von Codes oder zur kompletten Erstellung von Code-Passagen. Daher stellt sich die Frage, ob es zukünftig noch menschliche Softwareentwickler braucht?
Vorteile von KI mit Softwareentwicklung
Stark ist die KI bei der Mustererkennung und der Analyse von grossen Datenmengen. Speziell bei repetitiven Aufgaben blüht KI richtig auf. Hier ein paar Beispiele:
- Manuelle, repetitive Arbeiten
- Standardfunktionen, Auto Complete, Dokumentation
- Anpassung, Optimierung bestehender Codes
- Teilprogramme nach bestimmten Kriterien ändern
- Schnellerer Einstieg in neue Herausforderungen
- Blockaden lösen, schnelles Erreichen des „Flow“
- schnelle erste Entwürfe
- Einarbeitung in Codebasis, Sprache oder Framework
Des Weiteren zeigt KI grosse Stärken bei der Automatisierung von Tests und Sicherheitsprüfungen.
Wo liegen die Grenzen von KI bei der Softwareentwicklung?
KI hat viele Stärken, stösst aber auch an ihre Grenzen. Das zeigt sich vor allem bei kreativen sowie hochkomplexen Aufgaben wie:
- Fehlersuche und Kontextbezug
- Die KI ist zwar in der Lage sehr schnell Fehler im Code zu finden, die Empfehlungen sind nicht immer korrekt. Es fehlt das Verständnis des Gesamtkontextes.
- Auf Verbesserungsvorschläge kann nicht blind vertraut werden. Hier fehlt es KI an Erfahrung und Intuition.
- Lösung bei komplexen Problemen
- Komplexe Aufgaben und Projekte mit hohen Abhängigkeiten und innovativen Ansätzen erfordern Erfahrung sowie menschliche Intuition und Kreativität.
- Ethische Aspekte
- Ethische Entscheidungen und Überlegungen können den heutigen KI-Lösungen nicht guten Gewissens übertragen werden. Emphatie liegt ausserhalb der Fähigkeit von KI.
«Zusammenarbeit» statt «Ersetzen» heisst die Devise
KI wird menschliche Softwareentwickler mit ihrer Kreativität, ihrem Umgang mit Komplexität und ihrer Intuition nicht ersetzten. Zumindest nicht in absehbarer Zukunft. Viel wichtiger ist es zu erkennen, dass KI uns im Arbeitsalltag effizient unterstützen kann.
Einfacher gesagt als getan, denn der effiziente Einsatz will gelernt sein. Die Unterstützung von KI bei komplexen Aufgaben ist so gut, wie man die Anforderungen und die Zusammenhänge vorgibt. Hochschulen, Universitäten und Institutionen bieten dazu immer mehr Weiterbildungen an, um Entwicklern neue Kompetenzen zu lehren.
Neue Kompetenzen
Entwickler sollten heute und zukünftig diese Kompetenzen lernen, um KI effektiv und erfolgreich einzusetzen: Prompt Engineering
- Hochwertige und detaillierte Angaben erstellen, um bestmögliche Resultate von KI-Programmen zu erhalten. Es gilt auch, den Zeitfaktor zu beachten: Die Eingabe sollte nicht gleich oder länger dauern, als man für die Programmierung gebraucht hätte.
- Analyse der Ergebnisse
- Blind auf die Ergebnisse von KI-Programmen zu vertrauen kann fatale Folgen haben. Die Ergebnisse müssen sorgfältig geprüft und kritisch bewertet werden. Die Bewertungen dienen der KI als Datensatz für das Machinelearning und zur Verbesserung von zukünftigen Lösungen.
- Ethik und Verantwortung
- Es liegt in der Verantwortung des Entwicklers, dass die KI-basierten Ergebnisse ethisch und gesetzlich vertretbar sind.
Bedarf an Softwareentwicklern
Der Bedarf an Softwareentwicklern ist auch in naher Zukunft gross, die Rollen und Aufgaben werden sich jedoch ändern. Entwickler konzentrieren sich auf strategische und kreative Arbeiten, während repetitive Aufgaben an die KI ausgelagert werden.
Zitat aus den Vorlesungsunterlagen, Next Generation Software Development, Björn Näf:
Werde ich durch KI ersetzt? Nein, ich werde ersetzt durch jemanden, der weiß, wie man KI am besten einsetzt.
Fazit
KI hat die Softwareentwicklung bereits stark revolutioniert und wird es weiterhin tun. Die Softwarenentwickler werden nicht überflüssig, sie werden sich jedoch kontinuierlich weiterbilden und den Einsatz von KI als Werkzeug lernen müssen. Für die Zukunft gilt es, dass Mensch und Maschine Hand in Hand zusammenarbeiten und sich gegenseitig ergänzen.