Die rasante Entwicklung großer Sprachmodelle, auch bekannt als Large Language Models (LLMs), hat die Softwareentwicklung in vielerlei Hinsicht verändert. Dabei sind die Meinungen und Haltungen von Entwicklern gegenüber diesen Technologien ebenso vielfältig wie die Anwendungszwecke selbst. Besonders interessant ist jedoch die Frage, wie die bisherige berufliche Ausrichtung von Softwareingenieuren—insbesondere der Umgang mit Legacy-Systemen versus der Neubau von Software—die Einstellung zu LLM-basierter Code-Generierung beeinflusst. Chris Krycho, ein erfahrener Softwareingenieur, thematisiert genau diesen Unterschied in seinem Essay „Sympoly mathesy“. Seine Betrachtungen sind aus der Perspektive eines Entwicklers entstanden, der den Großteil seiner Laufbahn mit der Pflege großer, komplexer und oftmals alter Systeme verbracht hat.
Diese Erfahrung prägt nicht nur seine Arbeitsweise, sondern auch seine zurückhaltende Haltung gegenüber der flächendeckenden Nutzung von KI-generiertem Code. Legacy-Systeme, jene „großen, komplexen bestehenden Systeme“, erfordern eine tiefgehende Kenntnis der historischen Entwicklung des Codes, der Architektur und der bestehenden Probleme. Die Herausforderung liegt oft weniger darin, neue Funktionen zu schaffen, als vielmehr darin, präzise punktuelle Änderungen vorzunehmen, die nicht nur das aktuelle Feature-Set verbessern, sondern auch langfristig die Wartbarkeit über die Jahre hinweg gewährleisten. Das bedeutet, eine Vielzahl von subtilen Abhängigkeiten zu verstehen, versteckte Bugs zu identifizieren und Lösungen zu implementieren, die kompatibel mit den Erwartungen und der Arbeitsweise des gesamten Entwicklerteams bleiben. In diesem Kontext wirken LLMs aus Sicht von Krycho begrenzt nützlich, wenn es um das Verfassen von Code geht.
Während die Generierung von vollständig neuen Funktionen oft als Stärke von KI-basierten Tools gefeiert wird, ist die Pflege und das gezielte Modifizieren von Altcode eine Aufgabe, die tiefes semantisches Verständnis und Kontextwissen benötigt, das LLMs bisher nicht zuverlässig liefern können. Auch wenn LLMs durchaus bei der Fehlersuche unterstützen können, bleibt der Einsatz beim Autorenschreiben oft problematisch. Was Krychos Argumentation besonders macht, ist sein Einblick in die „Disposition“ oder Grundhaltung, die sich aus der beruflichen Erfahrung ergibt. Entwickler, die vorwiegend an neu entwickelter Software arbeiten, sehen in LLMs vermehrt Chancen, repetitive Aufgaben zu automatisieren und Entwicklungszyklen zu beschleunigen. Sie schätzen die Möglichkeit, schnell Prototypen zu erstellen und neue Ideen umzusetzen.
Dem gegenüber stehen viele Experten, die wie Krycho den Großteil ihrer Laufbahn mit der Wartung und Erweiterung bestehender Systeme verbracht haben. Für sie ist der Wert von Codegeneration durch KI eingeschränkt, da die Herausforderungen hier weniger im Erstellen neuer Codebasis, als vielmehr im genauen Verlieren und Verstehen von komplexen Zusammenhängen liegen, welche sich über Jahre hinweg entwickelt haben. Hier wünschen sie sich Werkzeuge, die die menschliche Intuition unterstützen und erweitern, anstatt sie zu ersetzen. Ein weiterer wichtiger Punkt ist die Art und Weise, wie Teams mit Architekturänderungen umgehen. Bei großen Systemen ist der Wissenstransfer innerhalb von Teams essenziell.
Veränderungen im Code haben Auswirkungen weit über die aktuelle Änderung hinaus, sie beeinflussen die Zusammenarbeit und das zukünftige Entwickeln. Laut Krycho ist es allein durch den Einsatz von LLMs kaum möglich, diesen kulturellen und sozialen Lernprozess im Team zu ersetzen oder zu vermitteln. Die Zusammenarbeit, das gemeinsame Nachdenken und das Erarbeiten von Lösungen bleiben zentrale Faktoren, die über den Erfolg oder Misserfolg eines Projekts entscheiden. Obwohl die technologische Entwicklung rapide voranschreitet und die Fähigkeiten von LLMs weiterhin wachsen, bleibt Skepsis gegenüber dem Einsatz bei der Wartung großer Softwareprojekte bestehen. Krycho hebt hervor, dass die meisten öffentlich diskutierten Vorteile von LLMs oft aus Perspektiven stammen, die überwiegend mit gründerfreundlicher, neuer Softwareentwicklung assoziiert sind.
Die spezifischen Herausforderungen der Arbeit an alten, komplexen Systemen werden dabei häufig vernachlässigt. Die Frage, wie sich diese Dispositionen gegenüber LLMs zukünftig entwickeln werden, ist offen. Es ist denkbar, dass sich KI-Technologien weiter spezialisieren und auch in der Wartung von Legacy-Systemen hilfreiche Werkzeuge bieten können. Hierbei könnten Kombinationen aus klassischen AST-basierten Werkzeugen (Abstract Syntax Tree) und KI-gestützten Methoden neue Wege eröffnen, um präzise Refaktorierungen und tiefgreifendere Änderungen zu unterstützen. Krycho betont jedoch, dass das Vermitteln dieser Denkweise an Menschen eine weitere große Herausforderung darstellt, bei der Menschen immer noch eine unverzichtbare Rolle spielen.
Die Diskussion um die Rolle von LLMs in der Softwareentwicklung ist somit eng mit der beruflichen Geschichte und den Erwartungen der Entwickler verflochten. Es zeigt sich, dass eine pauschale Bewertung der Technologie nicht zielführend ist. Vielmehr bedarf es einer differenzierten Betrachtung, die die jeweiligen Arbeitskontexte und die Art der Softwareprojekte berücksichtigt. Von zentraler Bedeutung scheint dabei die Balance zwischen der Automatisierung durch KI und der Notwendigkeit menschlichen Verständnisses und Teamzusammenarbeit zu sein. Die Fähigkeit, gemeinsam komplexe Probleme zu lösen und dabei die historische Entwicklung von Software zu respektieren, ist eine Qualität, die noch lange Zeit durch Technologie allein nicht ersetzt werden kann.