Vor einigen Tagen hatte ich mit einem guten Freund aus der StartUp-Szene in Berlin einen längeren Austausch (bei einem guten Whiskey) zur neuen Realität bei der Softwareentwicklung. Er bringt 20 Jahre Expertise in der Softwareentwicklung mit, in diversen Rollen (CTO, Architekt, etc.), aktuell ist er Senior Engineer bei einem Berliner FinTech.
Auf das Thema „Zukunft der Softwareentwicklung“ kamen wir eigentlich über die Frage, wie die Zukunft für unsere Kinder aussehen würde. Und er meinte, noch vor 2 Jahren hatte er eigentlich eine Karriere in der Softwareentwicklung für seine Tochter im Blick; inzwischen sei er sich gar nicht mehr sicher, wie dieser Job in 15 oder 20 Jahren aussehen werde. Bereits heute gestalte sich Softwareentwicklung als intensives Sparring mit KI, ein strukturierter Dialog zu Anforderungen, Architektur und Ähnlichem.
Diese Einschätzung ist umso bemerkenswerter, als mir eben dieser Freund vor rund eineinhalb Jahren erläutert hatte, dass Junior Entwicklern die Nutzung von KI-Kodierassistenten strikt abgeraten würde. Warum? – Weil Senior Entwickler zu viel Zeit damit verbrächten, mittelmäßigen Code zu bereinigen, bei dem u.a. die spezifische Business Logik schlecht umgesetzt sei.
Eineinhalb Jahre später sind einige „Kinderkrankheiten“ in der Nutzung von KI-Kodierassistenten dank ausgereifterer Methoden in der Nutzung von KI-Technologie überwunden. Und die neue Realität in der Softwareentwicklung bedeutet:
64% der Softwareentwickler haben KI in ihre Workflows integriert; 62% nutzen dies etwa für die Code Review, 58% zum Schreiben von Code. So das Ergebnis eine Umfrage der Plattform Codacy.
Ein weiterer Bekannter, promoviert in Machine Learning und Semantischer Suche, geht mit seiner Zukunftsprognose bereits etwas weiter: Bislang gab es in der Softwareentwicklung – grob geclustert – drei Gruppen, nämlich: Juniorentwickler, Mid-Level Entwickler (mit stabilen Jobs) und Senior Entwickler (Lösung von schwierigen Problemen). Diese Entwicklerlandschaft durchläuft einen dramatischen Wandel, es wird sukzessive auf zwei Gruppen hinauslaufen:
Zum einen Product Builder: Menschen, die programmieren und ganze Produkte bauen, nicht selten allein. Und zwar mithife von KI-basierten Tools wie KI-Kodierassistenten. Zum anderen sogenannte „Frontier Engineers“, die an den harten Nüssen arbeiten wie etwa AGI oder Autonomes Fahren.
Im Bereich Front-End wird diese Transition mit höherer Geschwindigkeit erfolgen als etwa für Programmiersprachen, die maschinennäher sind.
Softwareentwicklung mithilfe von KI – So geht’s!
Natürlich sind wir noch weit davon entfernt, 1A Softwarecode per Knopfdruck zu erhalten – in allen Blogs zu diesem Thema liegt die Betonung darauf, wie wichtig die Code Review ist, und dass ein verwertbarer Code erst am Ende eines iterativen Prozesses steht. Die Dynamik der Entwicklung ist allerdings hoch; jüngst hat übrigens Anthropic Claude Code eingeführt, ein agentenbasiertes Coding-Tool.
Der Entwickler Aalap Davjekar formuliert dies wie folgt in seinem Artikel, den er auf Medium veröffentlicht hat und der eine ausgefeilte Methodik zur Nutzung von KI bei der Softwareentwicklung vorstellt:
”Here are some mindset shifts that really helped me:
Sein Beitrag (der in 3 Artikel aufgeteilt ist) vermittelt in ausreichender Detaillierung die Methodik, die der Entwickler/Autor bei der Softwareentwicklung anwendet; Aalap Davjekar beschreibt anschaulich, welche Fehler es zu vermeiden gilt, und stellt mit diversen bewährten Prompts für all diejenigen einen guten Startpunkt bereit, die sich diesem Thema erstmals annähern.
Zu Beginn steht der Projektplan, das Design, die Architektur; er empfiehlt auch die Einrichtung einer Knowledge Base für den AI Assistant, wo wichtige Anforderungen, Design-Entscheidungen und Ähnliches bereitgestellt werden.
Folgendes Prompt-Template ist der Startpunkt für das Datenbankdesign:
Schließlich geht’s um das Coding selbst, und für den Prompt dazu nutzt der Autor/Entwickler folgendes Template:
Wie Aalap Davjekar bereits eingangs erwähnt: „Verify and understand: Always review and understand the code AI generates.. Dieser Review-Prozess wiederum kann auch mithilfe der KI stattfinden. Dazu schlägt der Autor etwa folgende Prompt-Templates vor:
… und:
Auch beim Code Refactoring kann KI unterstützen; ebenso beim Testing:
Schlussendlich kann KI die diversen die Dokumentation erstellen: Eine Projektübersicht, die Installationsanleitung inklusive Konfigurationsmöglichkeiten; Anwendungsbeispiele, Troubleshooting Guide, FAQs und natürlich Code Dokumentation.