Ein guter Zeitpunkt
Es ist ein guter Zeitpunkt für KI in der Software-Entwicklung.
Ich bin seit 40 Jahren Software-Entwickler, Architekt und vieles von dem, was es sonst noch braucht, um gute und zuverlässige Software zu bauen. In dieser Zeit haben sich unsere Werkzeuge enorm verbessert. Gleichzeitig ist die Welt, in der wir sie einsetzen, immer komplexer geworden.
Ich spreche vor allem von Enterprise-Software: gewachsenen Systemlandschaften mit unzähligen Schnittstellen, unterschiedlichen Technologiegenerationen und Geschäftsprozessen, die sich über viele Anwendungen erstrecken.
Da kommuniziert ein neuer Service mit einem zwanzig Jahre alten System. REST trifft auf SOAP, JSON auf XML. Dazwischen liegen Datenbanken, Nachrichtenwarteschlangen, Dateitransfers und Eigenentwicklungen, deren ursprüngliche Autoren längst woanders arbeiten. Vieles davon erfüllt bis heute zuverlässig seinen Zweck. Zusammen ergibt es eine Landschaft, die kaum noch jemand vollständig überblickt.
Schon eine scheinbar kleine Änderung kann eine Reise durch mehrere Systeme, Teams und Jahrzehnte Softwaregeschichte auslösen.
Dazu kommt alles, was wir heute beherrschen oder zumindest ausreichend verstehen müssen: Bibliotheken und Frameworks, Container, Kubernetes, CI/CD, Monitoring, Security und Compliance. Und natürlich die fachliche Domäne. Denn am Ende muss die Software ein reales Problem lösen.
Außerhalb der Entwickler-Bubble ist diese Komplexität kaum sichtbar. Auf dem Bildschirm erscheint ein neues Eingabefeld. Dahinter ändern sich vielleicht fünf Schnittstellen, drei Datenmodelle und ein Berechtigungskonzept.
Und jetzt kommt KI um die Ecke.
Sie schreibt Code, erklärt fremde Implementierungen, entwirft Tests und hilft bei der Fehlersuche. Aufgaben, die uns bisher viel Zeit gekostet haben, werden plötzlich leichter. Ideen, für die im Projektalltag nie genug Raum war, lassen sich ausprobieren.
Das begeistert mich. Ich verstehe aber auch, dass es Entwickler verunsichert. Wenn eine KI in wenigen Minuten Code erzeugt, an dem ich früher einen Tag gearbeitet hätte: Was bedeutet das für meine Arbeit?
Diese Frage ist berechtigt. Unser Beruf wird sich verändern. Welche Tätigkeiten und Stellen davon betroffen sein werden, lässt sich nicht einfach wegversprechen.
Software-Entwicklung war allerdings immer mehr als das Schreiben von Code. Wir müssen herausfinden, welches Problem überhaupt gelöst werden soll. Wir müssen fachliche Anforderungen verstehen, Zielkonflikte erkennen und Entscheidungen treffen, die auch im Betrieb noch tragen. In einer gewachsenen Unternehmenslandschaft gehört dazu oft Wissen, das in keinem Ticket vollständig beschrieben ist.
Beim Programmieren übersetzen wir dieses Verständnis in eine funktionierende Lösung. Dabei lernen wir weiter: Manche Idee trägt, eine andere scheitert an einem Detail, das vorher niemand gesehen hat.
KI kann diesen Prozess enorm bereichern. Sie kann Alternativen vorschlagen, Prototypen erstellen und uns helfen, Annahmen früher zu überprüfen. Wir gewinnen die Möglichkeit, mehrere Lösungswege ernsthaft zu untersuchen, statt unter Zeitdruck den ersten halbwegs gangbaren umzusetzen.
Natürlich macht sie Fehler. Sie übersieht Randbedingungen, trifft falsche Annahmen und liefert gelegentlich überzeugend aussehende Lösungen, die nicht funktionieren. Gerade in gewachsenen Systemen kann etwas lokal richtig und im Gesamtzusammenhang trotzdem falsch sein.
Hier zählen Erfahrung und Urteilskraft: Welche Anforderung steckt wirklich hinter einem Wunsch? Welche Abhängigkeiten müssen wir berücksichtigen? Wo lohnt sich eine neue Abstraktion? Was können wir vereinfachen? Und welche Änderung sollten wir besser bleiben lassen?
Für diese Fragen möchte ich mehr Zeit haben.
Dabei sollten wir einer Versuchung widerstehen: Weil sich Code schneller erzeugen lässt, brauchen wir nicht automatisch mehr davon. Ein zusätzlicher Service ist schnell geschrieben. Betrieben, abgesichert und verstanden werden muss er trotzdem. Der größte Gewinn kann darin liegen, mithilfe von KI eine einfachere Lösung zu finden.
Wir setzen seit Jahrzehnten Bibliotheken, Frameworks und Entwicklungswerkzeuge ein, weil sie unsere Möglichkeiten erweitern. KI setzt diese Geschichte fort und eröffnet neue Formen der Zusammenarbeit.
Darin liegt für mich die große Chance: Wir können als Entwickler mehr von dem verwirklichen, was wir für sinnvoll halten.
Dazu müssen wir die Verantwortung für die Lösung behalten. Wir sollten verstehen, was wir bauen, die Ergebnisse beurteilen und gemeinsam mit den Anwendern entscheiden, ob wir tatsächlich das richtige Problem lösen. Diese Verantwortung lässt sich durch erzeugten Code allein nicht ersetzen.
Nach 40 Jahren Software-Entwicklung finde ich diese Aussicht ausgesprochen motivierend. Es gibt noch so viele schlechte Abläufe, umständliche Anwendungen und ungelöste Probleme. Wir bekommen gerade ein Werkzeug, mit dem wir mehr davon anpacken können.
Nutzen wir es, um Software zu bauen, die einfacher funktioniert, zuverlässiger arbeitet und den Menschen mehr hilft.