Generative KI verändert die Art und Weise, wie Filme gedreht, wie Marketing betrieben und wie Spiele gespielt werden. Während sich die Medien stark darauf konzentrieren, was generative KI in Bezug auf digitale Transformation, Content-Erstellung und Produktivitätssteigerungen leisten kann, wird weniger darauf geachtet, wie sie das Schreiben von Code befriedigender machen und sogar Spaß bringen kann.
Generative KI, die als Codierungsassistent dient, hilft nicht nur Software-Ingenieuren, ihre Arbeit schneller zu erledigen, sondern steigert auch die Zufriedenheit und das Engagement der Entwickler. Entwickler verwenden generative KI, um Code-Boilerplates zu schreiben und bei der Definition grundlegender Formatierungen zu helfen, sodass sie mehr Zeit haben, sich auf die kreativen Aspekte ihrer Arbeit zu konzentrieren, wie z. B. Problemlösung, Erstellung neuer Logik und Entwurf einzigartiger Systeme. Diese anspruchsvolleren kreativen Aufgaben sind oft genau das, was Programmierer gerne machen.
Eine Studie von McKinsey kam zu dem Ergebnis, dass Entwickler, die Tools für generative KI verwenden, mehr als doppelt so häufig über allgemeine Zufriedenheit, Erfüllung und die Fähigkeit, bei der Arbeit einen Flow-Zustand zu erreichen, berichten.
Stellen Sie sich einen Entwickler vor, der eine neue Webanwendung für eine E-Commerce-Plattform erstellen soll. Der Entwickler kann eine User Experience entwerfen und Funktionen wie eine Empfehlungsmaschine und dynamische Preisgestaltung implementieren. Bevor sie jedoch mit den interessanten Elementen des Entwurfs beginnen können, muss der Entwickler einen Berg an Routinearbeit bewältigen.
Sie müssen das Backend einrichten, was das Schreiben des gleichen Boilerplate-Codes erfordert, den sie schon Dutzende Male zuvor geschrieben haben, Initialisierungen ausführen, grundlegende Routen definieren und Middleware konfigurieren. Nichts davon ist nur für das Projekt spezifisch, aber jedes Element ist für die Anwendung notwendig. Nachdem die grundlegenden Arbeiten abgeschlossen sind, muss eine Verbindung zur Datenbank hergestellt werden und Datenbanktreiber müssen zusammen mit Schemata für Produkte, Kunden und Bestellungen eingerichtet werden, zusammen mit unzähligen anderen nicht-codierenden, nicht-entwicklungsbezogenen Aufgaben.
Obwohl der Entwickler vielleicht schon gespannt auf die Kernfunktionen ist, die die Plattform einzigartig und für die Benutzer attraktiv machen werden, nimmt die Arbeit an den Standardformulierungen einen Großteil der Projektlaufzeit in Anspruch. Während es notwendig ist, dieses solide Fundament zu legen, könnte die Produktivität der Entwickler nachlassen, da sich diese Routinearbeit im Vergleich zu den kreativeren Aspekten des Codierens wie eine lästige Pflicht anfühlt.
Codieren ist zeitaufwändig und fehleranfällig. Es ist sehr zeit- und ressourcenaufwendig, qualitativ hochwertige Ergebnisse zu erzielen. Studien zeigen, dass Entwickler im traditionellen Entwicklungszyklus durchschnittlich eine Stunde pro Tag mit dem eigentlichen Codieren verbringen, während sich wiederholende, undifferenzierte Tätigkeiten den Großteil ihrer Zeit in Anspruch nehmen. Zu diesen Aufgaben gehören häufig der Umgang mit veralteten Codebasen, die Dokumentation von Prozessen, das Schreiben von Tests, die Verwaltung von Releases, die Fehlerbehebung und die Identifizierung von Sicherheitslücken. Ein typischer Tag für einen Programmierer könnte beispielsweise mit Code-Reviews oder der Überprüfung einer Pull-Anfrage beginnen. Anschließend beheben sie möglicherweise einen Fehler, der von einem QA-Team gemeldet wurde, und erstellen dann einen Plan für die Bereitstellung – und das alles, bevor sie auch nur eine einzige Zeile neuen Codes schreiben können.
„Generative KI ermöglicht es Entwicklern, die mühsamen und alltäglichen Aufgaben zu automatisieren, die Zeit vom Erstellen von Software wegnehmen“, sagt die IBM-Datenwissenschaftlerin Anna Gutowska. Ein Beispiel ist etwas so Einfaches wie ein Bot, der morgens als Erstes Skripte ausführt und einen „Gesundheitscheck-Bericht“ für Ihre Software erstellt. Das bedeutet, dass weniger Zeit für die Ausführung manueller Skripte aufgewendet wird und mehr Zeit für die Anwendung von Fähigkeiten zur Verfügung steht.“
Entwickler stehen auch vor der Herausforderung, sich über sich ändernde Technologien und Frameworks wie React, Kubernetes oder Flutter auf dem Laufenden zu halten. Dies ist keine leichte Aufgabe, da sich die Landschaft der Softwareentwicklung schnell weiterentwickelt. Um mit diesen Fortschritten Schritt zu halten, ist ein erheblicher Zeitaufwand für kontinuierliches Lernen und Experimentieren erforderlich, sodass weniger Zeit für die kreativen und lohnenden Aspekte der Entwicklung bleibt. Die ständige Notwendigkeit, diese Verantwortlichkeiten aufeinander abzustimmen, in Kombination mit dem Druck, robusten, fehlerfreien Code zu liefern, kann das Codieren zu einem stressigen und überwältigenden Beruf machen.
Generative KI-Tools spielen auch in DevOps-Workflows eine Rolle, indem sie bei der Automatisierung der Bereitstellung, der kontinuierlichen Integration und der Überwachung helfen. Neben der Unterstützung bei der Codierung kann die generative KI auch Datenanalysen durchführen und Programmierern bei der Interpretation komplexer Datensätze helfen, um die Auswirkungen von Architekturentscheidungen und Systemoptimierungen besser einschätzen zu können.
Okay, KI mag langweilige Aufgaben nicht unbedingt „lieben“; sie ist jedoch hervorragend darin, komplexe Muster zu finden und zu replizieren, was sie zu einer idealen Lösung für die Automatisierung der sich wiederholenden Aspekte der Codierung macht. Aufgaben wie die Generierung von Code-Boilerplates – diese mühsamen, aber notwendigen Gerüstteile – können mithilfe von generativen KI-Tools in Sekundenschnelle erledigt werden. KI kann auch bei der Integration von Programmierschnittstellen (API) helfen, indem sie automatisch Endpunkte generiert, die Authentifizierung übernimmt, Anfragen strukturiert und den manuellen Programmieraufwand reduziert. Ein weiteres Beispiel ist das KI-Tool SWE-Agent, das in Wired beschrieben wird. Dieses KI-Tool hat einen Bug in einem GitHub-Repository identifiziert, die entsprechende Datei gefunden und den Code korrekt geändert, wodurch dem Amateurentwickler Stunden potenzieller Debugging-Zeit erspart wurden.
Diese Tools sind nicht nur Assistenten, einige sind eher fachkundige Mentoren. Generative KI-Systeme können Erklärungen, Beispiele und Anleitungen in Echtzeit bereitstellen, sodass Entwickler weniger Zeit für die Fehlerbehebung und mehr Zeit für Innovationen aufwenden können. Diese Verlagerung ermöglicht es ihnen, sich auf das Schreiben von qualitativ hochwertigem Code zu konzentrieren, wie z. B. das Entwerfen kreativer Lösungen oder die Verbesserung von Systemarchitekturen, während die kognitive Belastung, die mit der wiederholten Problemlösung verbunden ist, reduziert wird. Durch die automatische Erkennung und Verfeinerung von Codeänderungen hilft KI, Regressionen zu verhindern und sicherzustellen, dass neue Implementierungen mit Best Practices übereinstimmen.
„IBM Watsonx Code Assistant konnte mehrere potenzielle Schwachstellen, Speicherlecks und schlechte Codierungspraktiken identifizieren und gab Empfehlungen für Verbesserungen ab.“ – Kundenfeedback zu IBM Watsonx Code Assistant
Generative KI beschleunigt auch das Lernen für Entwickler. Sie hilft ihnen, sich schnell neue Programmiersprachen, Frameworks und Paradigmen anzueignen und bietet gleichzeitig Erkenntnisse über komplexe oder unbekannte Codebasen. Für Junior-Developer sind die Vorteile besonders überzeugend.
„Wir hatten keine großen Erwartungen, aber wir waren angenehm überrascht, wie gut es war“, sagt der IBM Full-Stack-Entwickler Asher Scott und bezieht sich dabei auf Watsonx Code Assistant. „Es hat mir geholfen, meine Fähigkeiten auf die nächste Stufe zu bringen.“
Junior-Developer berichten von einer deutlichen Steigerung der Produktivität und des Wissenserwerb, wodurch sie ihr Fachwissen und Selbstvertrauen schneller ausbauen können als mit herkömmlichen Methoden. Indem Eintrittsbarrieren beseitigt und der Lernprozess optimiert werden, befähigt KI Entwickler auf allen Ebenen, Herausforderungen mit mehr Begeisterung anzugehen.
Laut einer KPMG-Umfrage ist die Hälfte der befragten Programmierer der Meinung, dass KI und Automatisierung sich positiv auf ihre Karriere ausgewirkt haben, indem sie die Produktivität gesteigert und neue Möglichkeiten eröffnet haben. Eine ChatGPT-Umfrage von OpenAI ergab, dass 50 % der Entwickler von einer Produktivitätssteigerung durch den Einsatz von KI berichteten, wobei 23 % erhebliche Gewinne verzeichneten.
Eine GitHub-Umfrage zeigt, dass diese Produktivitätssteigerungen den bestehenden Workflow eines Programmierers effizienter machen. Entwickler, die KI-Tools zur Codierung verwenden, berichten von einer höheren Zufriedenheit, da sie in der Lage sind, sich wiederholende oder mühsame Aufgaben zu automatisieren, um sich auf das Lösungsdesign zu konzentrieren, anstatt auf vorgefertigten Code. Code-Assistenten helfen, die psychische Belastung zu reduzieren und können möglicherweise einem Burnout vorbeugen. Sie helfen Entwicklern, Leistungsstandards leichter zu erfüllen, was zu einer verbesserten Codequalität, schnelleren Ergebnissen und weniger Vorfällen führt.
Der Einfluss generativer KI auf die Arbeitszufriedenheit beruht hauptsächlich auf ihrer Fähigkeit, Erkenntnisse zu liefern und langwierige Entwicklungs-Workflows zu optimieren. KI-gestützte Tools für die Entwicklung, wie z. B. Watsonx Code Assistant (WCA), GitHub Copilot und SWE-Agent, haben beispielsweise die Leistungsfähigkeit der Echtzeit-Codegenerierung, -Fehlerbehebung und -Optimierung unter Beweis gestellt. Diese Art von Effizienz reduziert nicht nur Frustration, sondern gibt Entwicklern, insbesondere Junior-Developern, auch die Möglichkeit, sich auf die Lösung komplexerer und lohnenderer Probleme zu konzentrieren. Durch die Automatisierung von Routineaufgaben verbessern KI-gestützte Tools die Funktionalität und ermöglichen es Entwicklern, sich auf Innovationen zu konzentrieren, anstatt sich mit sich wiederholender Programmierung zu befassen.
Laut GitHub geben 57 % der befragten Entwickler an, dass die Verwendung von KI-Codierungstools ihnen dabei hilft, ihre Fähigkeiten im Bereich der Programmiersprachen zu verbessern, was sie als größten Vorteil der Verwendung dieser Anwendungen betrachten (der zweite Vorteil ist eine höhere Produktivität). Dies deutet darauf hin, dass Entwickler die Verwendung von KI-Codierungstools als Möglichkeit zur Weiterbildung während der Arbeit betrachten, anstatt ihrem Arbeitstag eine weitere Aufgabe für das Lernen und die Entwicklung hinzuzufügen.
Für Junior-Entwickler beschleunigt die generative KI die Weiterqualifizierung und Umschulung, indem sie Beispiele in Echtzeit und kontextbezogene Anleitungen bereitstellt, sodass sie sich schnell Kompetenzen aneignen und früher zu ihren Teams beitragen können. Mit WCA können Entwicklungsteams, die in komplexen Entwicklungsumgebungen für Unternehmen arbeiten – wie z. B. bei der Modernisierung von Mainframes oder der Java-Migration – mühsame Code-Transformationen automatisieren und gleichzeitig KI-gestützte Erkenntnisse über Best Practices erhalten. Das bedeutet, dass Junior-Entwickler ihre Aufgaben erledigen können, ohne so häufig innehalten und einen Senior-Entwickler um Rat fragen zu müssen, wodurch sie schneller Selbstvertrauen und Autonomie aufbauen können.
KI verändert auch die Herangehensweise von Entwicklern an Prototypen und Innovationen. Aufgaben, die früher stundenlanges manuelles Codieren erforderten, können jetzt in einem Bruchteil der Zeit erledigt werden. Ein Entwickler, der beispielsweise eine neue Funktion entwirft, könnte generative KI verwenden, um einen Implementierungsentwurf zu erstellen, diesen schnell zu überarbeiten und in das größere Projekt zu integrieren. Diese schnellere Umsetzung ermöglicht mehr Experimente und Kreativität, die oft die lohnendsten Aspekte der Softwareentwicklung sind.
Durch die Automatisierung von Routineaufgaben können sich Entwickler leichter an Remote- oder asynchrone Arbeitsumgebungen anpassen. KI-Tools ermöglichen auch eine bessere Zusammenarbeit, indem sie Code-Vorschläge und Erklärungen generieren, die für die Teammitglieder leicht zu überprüfen und zu verstehen sind. Diese Verbesserungen tragen zu einer positiven Erfahrung für Entwickler bei und machen die Softwareentwicklung nicht nur produktiver, sondern auch anpassungsfähiger an die unterschiedlichen Bedürfnisse moderner Belegschaften, was zu einer höheren Arbeitszufriedenheit und einer besseren Vereinbarkeit von Beruf und Privatleben beiträgt.
Generative KI-Tools helfen Entwicklern auch dabei, ihre Fähigkeiten zu verfeinern, indem sie Metriken bereitstellen, mit denen Entwickler ihre Produktivität verfolgen und verbessern können. Ebenso werden sie und das Unternehmen mit dem nötigen Wissen ausgestattet, um neue Technologien effektiv zu übernehmen und die Auswirkungen der KI-Integration umfassend zu bewerten. Dies wiederum fördert eine Kultur des kontinuierlichen Lernens und der Innovation unter den Programmierern.
Menschliches Fachwissen ist nach wie vor ein wesentlicher Bestandteil des Softwareentwicklungsprozesses. Künstliche Intelligenz kann zwar Fehler erkennen und Korrekturen vorschlagen, aber ihr fehlt das differenzierte Verständnis und die Intuition eines erfahrenen Entwicklers. Menschen sind besser in der Lage, die Absicht hinter einem Code zu erkennen, seine Ausrichtung auf die Geschäftsziele zu beurteilen und den organisatorischen Kontext anzuwenden, um sicherzustellen, dass er den Projektanforderungen entspricht. Maschinen haben Schwierigkeiten, subtile Kompromisse zu interpretieren oder sich in mehrdeutigen Szenarien zurechtzufinden, sodass menschliches Urteilsvermögen unverzichtbar ist.
Die Einführung der generativen KI-Technologie verlief nicht ohne Herausforderungen. Die Auswirkungen der Technologie sind je nach Erfahrungsniveau unterschiedlich. Junior-Entwickler profitieren oft am meisten, da KI ihnen hilft, schneller zu lernen und sich einzubringen. Für sie fungiert KI als Mentor, der Wissenslücken schließt und das Wachstum beschleunigt. Laut MIT Sloan berichten leitende Entwickler dagegen von geringeren Gewinnen in Höhe von etwa 8 % bis 13 %. Ob dies darauf zurückzuführen ist, dass ihr Fachwissen der Technologie voraus ist, oder darauf, dass sie zögern, KI in ihre Workflows zu integrieren, bleibt eine offene Frage.
Ein weiteres Problem bei der KI-gestützten Codierung ist das Risiko technischer Schulden. Ein übermäßiges Vertrauen in KI für schnelle Lösungen kann zu Nachlässigkeiten führen, die sich im Laufe der Zeit häufen und langfristig zu einer Komplexität führen, deren Lösung einen erheblichen Aufwand erfordert. Außerdem befürchten einige, dass KI-gestützte Tools zur Codierung zu einem Verlust von Fähigkeiten führen könnten, da sich Entwickler zu sehr auf die Automatisierung verlassen, anstatt ihre eigenen Fähigkeiten zur Problemlösung und Programmierung zu verbessern. Wenn kritisches Denken und praktische Coding-Fähigkeiten nachlassen, könnten Entwickler in Zukunft Schwierigkeiten haben, komplexe Herausforderungen mit hohem Risiko zu bewältigen.
Allerdings sind Tools zur KI-Codierung am leistungsfähigsten, wenn sie mit menschlichen Entwicklern zusammenarbeiten und nicht an deren Stelle treten. Während generative KI Workflows beschleunigen und sich wiederholende Aufgaben automatisieren kann, liegt ihr eigentlicher Wert in der Erweiterung menschlicher Expertise – sie hilft Entwicklern, sich auf kreative Problemlösungen, architektonische Entscheidungen und Innovationen zu konzentrieren.
Ein gutes Beispiel hierfür ist rKube, ein IT-Lösungsanbieter in Marokko, der den Watsonx Code Assistant von IBM zur Modernisierung von Java-Anwendungen einsetzte. Durch die Automatisierung der Code-Transformation konnten sich die Entwickler von der manuellen Refaktorierung auf die Lösung wichtigerer Probleme konzentrieren, was letztlich zu effizienteren Workflows und einer motivierteren Belegschaft führte.
Erkunden Sie die Grundlagen der iOS-App-Entwicklung, von der Auswahl der richtigen Programmiersprache bis hin zur Bereitstellung Ihrer App im App Store. Erfahren Sie mehr über APIs, Teststrategien und wie Sie Cloud-Lösungen für skalierbare und innovative iOS-Anwendungen nutzen können.
Entdecken Sie die wichtigsten Aspekte der Entwicklung von Android-Apps, von der Auswahl der richtigen Tools und Programmiersprachen bis hin zur Optimierung Ihrer App für verschiedene Geräte.
Entdecken Sie, wie IBM® watsonx Code Assistant for Z die App-Modernisierung mit KI transformiert. Erfahren Sie, wie Sie die Produktivität steigern, Kosten senken und Altsysteme modernisieren können, um auch in Zukunft erfolgreich zu sein.
Steigern Sie mit gezielten App-Modernisierungsstrategien den Jahresumsatz um 14 % und senken Sie die Wartungskosten um bis zu 50 %.
Ein vollständig verwalteter, mandantenfähiger Service für die Entwicklung und Bereitstellung von Java-Anwendungen.
Verwenden Sie DevOps-Software und -Tools, um cloudnative Anwendungen für mehrere Geräte und Umgebungen zu erstellen, bereitzustellen und zu verwalten.
Die Entwicklung von Cloud-Anwendungen bedeutet: einmal erstellen, schnell iterieren und überall bereitstellen.