Navigation überspringen

Wie verändert KI die Softwareentwicklung?

Lesen Sie diesen Artikel auch im E-Paper der Technischen Rundschau: Technische Rundschau 12/2024 

KI als Technologie ist gekommen um zu bleiben und hat dabei Einzug in unser aller Leben gefunden. Sei dies mit Assistenten wie Siri, Alexa und Google Assitant oder spätestens durch ChatGPT. Doch welchen Einfluss hat diese Entwicklung auf die Arbeit des Softwareentwicklers?

Vor ein paar Wochen erzählte mir ein Nicht-Softwareentwickler von einer Aufgabe, welche er zu erledigen hatte. Es ging darum, eine grosse Excel-Datei nach bestimmten Kriterien in etwa 50 kleinere zu transformieren, so dass nur noch die für den Empfänger relevanten Daten enthalten sind. Stolz erzählte er, wie er dies mit Hilfe von Microsoft Copilot sehr schnell erledigt hatte. Nach der Beschreibung des Problems bekam er einen Python-Code, der die Aufgabe wie durch Magie erledigte. Wenn ihm etwas nicht klar war, fragte er bei Copilot einfach nach und lernte so auch in kurzer Zeit, warum sein Code funktionierte und wie er sein Programm verbessern konnte. Sicher hätte ein Softwareentwickler diesen Code auch schreiben können, aber wenn man die Zeit bedenkt, die es braucht um das Problem zu erklären, dazu mehrere Iterationen, bis das Resultat wirklich zufriedenstellend ist, und dann noch die Abhängigkeit zum Entwickler bei jeder zukünftigen Änderung, glaube ich nicht, dass dies wirklich effizienter gewesen wäre. Die Frage bleibt nun: Ist diese Geschichte ein Einzelfall, oder der Anfang von etwas viel Grösserem?

Aktueller Stand der KI in der Softwareentwicklung

Auch wenn die Verwendung von KI in der Softwareentwicklung neu erscheint, sind bereits seit 2018 die ersten KI-basierten Entwicklungstools verfügbar. Seit 2020 hat sich aber der Einfluss durch die Verbesserung der Technologie erheblich gesteigert. Tools wie GitHub Copilot, das von OpenAIs Codex angetrieben wird, unterstützen Entwickler, indem sie Code- Snippets vorschlagen, Codezeilen vervollständigen und sogar ganze Funktionen basierend auf Sprachbeschreibungen generieren. Diese Tools können den Entwicklungsprozess erheblich beschleunigen und die Wahrscheinlichkeit von Fehlern verringern. Darüber hinaus können KI-gesteuerte Analysetools wie DeepCode automatisch den Source-Code analysieren, Fehler und Schwachstellen finden und sogar Verbesserungen vorschlagen. Diese Automatisierung trägt dazu bei, eine höhere Codequalität sicherzustellen und die Zeit zu reduzieren, die Entwickler für sich wiederholende Aufgaben aufwenden. Die Frage ist also nicht mehr, ob man KI in der Softwareentwicklung verwendet, sondern wie.

Einfluss von KI auf Softwareentwicklerjobs

Als Softwareentwickler habe ich normalerweise den Programmcode von Grund auf neu geschrieben, den Code getestet und verbessert. Dabei habe ich mich auf mein Wissen über Programmiersprachen, Bibliotheken, Frameworks und Pattern verlassen. Wenn etwas nicht klar war, habe ich mich mit Kollegen besprochen oder im Internet recherchiert. Heute können alle diese Tätigkeiten durch generative KI im Bruchteil von Sekunden erledigt werden. Der Einfluss von KI auf Jobs in der Softwareentwicklung ist daher unbestritten. DieFrage bleibt, ob KI als Unterstützung den Entwicklerjob effizienter macht, oder ihn am Ende ganz ersetzt.

In naher Zukunft wird KI wahrscheinlich weiterhin die Arbeit von Softwareentwicklern unterstützen, anstatt sie vollständig zu ersetzen. KI-Tools können Routine- und sich wiederholende Aufgaben übernehmen, sodass sich Entwickler auf komplexere und kreativere Aspekte der Softwareentwicklung konzentrieren können. Diese Zusammenarbeit zwischen Mensch und KI kann zu erhöhter Produktivität und auch mehr Innovation führen. Während die Idee, dass KI Softwareentwickler vollständig ersetzt, weit hergeholt erscheinen mag, ist sie nicht völlig ausgeschlossen. Mit dem Fortschritt der KI-Technologien könnten diese potenziell komplexere Aufgaben übernehmen. Beispielsweise könnte KI ganze Softwaresysteme basierend auf von Menschen bereitgestellten Anforderungen entwerfen und implementieren. In einem solchen Szenario könnte sich die Rolle eines Softwareentwicklers darauf verlagern, KI-Systeme zu überwachen und zu leiten, anstatt selbst Codes zu schreiben.

Auswirkungen auf die Industrie

Eine der grössten Sorgen rund um KI ist, dass Arbeitsplätze verloren gehen, wenn die KI Aufgaben übernehmen kann, die traditionell von Menschen erledigt werden. Die Geschichte hat jedoch gezeigt, dass technologische Fortschritte oft auch neue Arbeitsmöglichkeiten schaffen, selbst wenn sie einige Jobs überflüssig machen. Wenn wir uns das als Beispiel den Aufstieg des Internets betrachten, führte dies zur Schaffung völlig neuer Branchen, Jobs und auch neuen Jobprofilen. Da KI langfristig aber mehr Routineaufgaben übernehmen wird, müssen sich die für die Softwareentwicklung erforderlichen Fähigkeiten weiterentwickeln. Entwickler müssen sich dabei stärker auf höherwertige Problemlösungen, Systemdesign und die entsprechende Domaine konzentrieren. Auch wenn KIunterstützte Entwicklungssoftware einen Grossteil der Aufgaben übernehmen kann, bleibt doch die Endverantwortung beim Entwickler selbst. Dies zeigt ein zweites Spannungsfeld auf, nämlich das Verständnis der ethischen Implikationen von KI. So lassen sich bei KI-Systemen oft keine Rückschlüsse ziehen, wie eine bestimmte Lösung gefunden wurde. Wenn wir uns etwa das Bild dieses Beitrages des «Softwareentwicklers der Zukunft» anschauen, das mit Microsoft Designer generiert wurde, können wir nicht nachvollziehen, wie das Resultat zustande gekommen ist. Zudem wird eine zweite, identische Anfrage ein anderes, neues Bild liefern. Die Frage bleibt nun: Wer ist verantwortlich für die Entscheidungen, die von KI-Systemen getroffen werden? Wie können wir sicherstellen, dass KI-gesteuerte Software fair, unvoreingenommen und transparent ist? Die Auseinandersetzung mit diesen ethischen Überlegungen wird entscheidend sein, wenn KI stärker in den Softwareentwicklungsprozess integriert wird.

Bereit für die Zukunft?

Wenn man das exponentielle Wachstum, das die KI-Technologie zeigt, ansieht, so lässt sich eine Zukunft ohne KI sicher ausschliessen. Daher stellt sich die Frage, wie man sich als Softwareentwickler am besten vorbereitet.

Kontinuierliches Lernen und Weiterbildung: Softwareentwickler müssen sich über die neuesten KI-Technologien, Werkzeuge und Programmiersprachen auf dem Laufenden halten und neue Fähigkeiten erwerben. Ebenso wichtig ist es, zu verstehen, wie sich die geschäftlichen Bedürfnisse verändern und wie man sich an grosse Trends anpassen kann. Zuletzt geht es darum, reale Probleme mit der Hilfe von KI zu lösen.

Umgang mit KI-Systemen: Softwareentwickler sollten verstehen, wie man KI-Tools in neue Designs und in den Entwicklungsprozess integriert, um Effizienz und Produktivität zu steigern. Eine zunehmende Anzahl von Entwicklern wird sich mit Datenengineering oder Machine-Learning Frameworks beschäftigen müssen, um zu lernen, wie man diese in bestehende Lösungen integriert.

Spezialisierung in KI: Um auf der sicheren Seite zu sein, können Softwareentwickler spezifische Bereiche innerhalb der KI identifizieren, wie zum Beispiel Sprachverarbeitung, Computer Vision oder Reinforcement Learning, und sich auf diese spezialisieren.

Erweiterung «menschlicher» Fähigkeiten: Da KI Routineaufgaben übernimmt, können sich Softwareentwickler auf komplexe Herausforderungen konzentrieren, die kritisches Denken, Kreativität und intuitive Problemlösungsfähigkeiten erfordern. Diese «menschlichen» Fähigkeiten können KI-Tools noch nicht replizieren. Dazu gehören auch Soft Skills wie Kommunikation, Teamarbeit und Anpassungsfähigkeit, die für die Zusammenarbeit mit interdisziplinären Teams unerlässlich sind.

Fazit: Während KI das Potenzial hat, die Softwareentwicklungsbranche erheblich zu transformieren, ist es unwahrscheinlich, dass sie menschliche Entwickler in naher Zukunft vollständig ersetzt. Stattdessen wird KI immer mehr die Arbeit von Entwicklern unterstützen und verbessern, was zu neuen Chancen und Herausforderungen führt. Ein zentraler Aspekt für Softwareentwickler wird sein, das Wissen und die Fähigkeiten aktuell zu halten, um auch im Zeitalter von KI die grösstmögliche Innovation, Effizient und Qualität zu erzielen.

Horw 06.12.2024
Beitrag von: Oliver Schlösser, Vorstandsmitglied Fachgruppe für Elektronik und Informatik
Bildquelle: FAEL

Beitrag teilen

Wir verwenden Cookies, um Ihnen ein optimales Nutzererlebnis zu bieten. Einige Cookies sind für den Betrieb der Seite notwendig, andere dienen Statistikzwecken, Komforteinstellungen oder zur Anzeige personalisierter Inhalte. Sie können selbst entscheiden, welche Cookies Sie zulassen wollen. Bitte beachten Sie, dass aufgrund Ihrer Einstellung womöglich nicht mehr alle Funktionalitäten der Seite verfügbar sind. Weitere Informationen finden Sie in unserer Datenschutzerklärung und Cookie Policy. Details anzeigen