Programmieren ist tot – Es lebe das Software Engineering
Le roi est mort, vive le roi.
Französische Heroldformel
Wie hat sich Programmieren im Zeitalter von generativer KI verändert? Manche sagen gar nicht, einige sagen, es wird gar nicht mehr benötigt und Informatik zu studieren sei oder so überflüssig heutzutage. Wie immer versuchen die meisten Menschen die Frage einfach in Schwarz (Informatik & Programmieren wird überflüssig) oder Weiß (Generative KI kann gar nicht vernünftig programmieren) einzuteilen und übersehen dabei die Grautöne. Die Frage beschäftigt mich nicht nur privat, sondern auch beruflich in doppelter Hinsicht (meine eigentlichen Tätigkeiten & freiberuflicher Dozent im IT-Bereich). Weswegen ich beschlossen habe nochmal einen Intermezzo Artikel einzuschieben und die Frage über die Zukunft der Programmierung & Informatik zu erörtern und die Frage zu beantworten, ob es sich noch lohnt, programmieren zu lernen. Übrigens meine ersten Vorlesungen vor einem neuen Kurs beginnt immer mit einem Fun Fact über mich. Dieser lautet schon immer: Ich hasse Programmieren, aber ich liebe Software Engineering und ja, ich habe auch schon einige Programmiervorlesungen gehalten. Das klingt erstmal wie ein Widerspruch. Ist es aber nicht. Programmieren ist für mich das Hämmern, Sägen und Schleifen. Software Engineering ist der Entwurf des Hauses.
Können KI Modelle Programmieren?
Die Frage an sich erscheint mir eigentlich schon absurd lächerlich, denn jeder der sich schon mal wirklich mit den aktuellen Tools wie Claude Code oder OpenAI`s Codex auseinander gesetzt hat, oder auch nur den Agent Mode in VS Code mal ausprobiert hat ,wird diese Frage kaum noch verneinen können. Wer außerdem nicht auf die günstigsten Modelle zurückgreift und nicht an völliger Selbstüberschätzung leidet wird auch zugeben, dass die Modelle nicht nur programmieren können, sondern auch schneller und besser als wir programmieren können. Die ersten Modelle (ChatGPT 3.5) waren damals schon nett, um mal eben ein kurzes Skript runterzucoden, oder auch einfache kleinere Programme zu schreiben, aber mittlerweile können wir komplette Anwendungssoftware generieren lassen, egal ob Backend- oder Frontendsoftware. Die Frage ob KI Modelle nun überhaupt programmieren können, würde ich definitiv mit einem STRONG YES beantworten.
Wird Programmieren lernen damit überflüssig?
Tja, hier wird es spannend, um die Antwort schon einmal vorwegzunehmen, Nein, ich denke nicht. Wie bereits einführend erwähnt, können KI Modelle programmieren (und zwar besser als Menschen), aber das eigentliche Programmieren an sich ist ja quasi nur ein Handwerk. Dies lässt sich vermutlich am ehesten mit der 1. industriellen Revolution vergleichen. Damals wurden aufgrund von technischen Innovationen wie der Mechanisierung, des Webstuhls und der Dampfkraft Arbeitsprozesse dauerhaft umgestaltet. Wir entwickelten uns von Handwerken zu Industriellen und der Fortschritt der Menschheit begann sich exponentiell zu beschleunigen. Generative KI ist quasi das Pendant in der Softwareentwicklung dazu. Anstelle von Herrscharen von Handwerkern, welche in kleiner Anzahl Produkte produzieren, produzieren wenige auf einmal ein deutlich größeres Output, da die Produktivität deutlich erhöht wird.
Dies lässt sich auch wunderbar mathematisch formulieren (wer hierrauf kein Bock hat kann den Absatz auch einfach skippen 😉): Führen wir zunächst Bezeichner ein:
Q = Gesamtproduktion
N = Anzahl der Produzenten / Handwerker / Betriebe
a = durchschnittlicher Arbeitseinsatz pro Produzent
p = Produktivitätsfaktor pro Arbeitseinheit
Dann lässt sich die Gesamtproduktion vereinfacht so beschreiben:
\[
Q = N \cdot a \cdot p
\]
Oder weniger mathematisch ausgedrückt: Die Gesamtproduktion ergibt sich aus der Anzahl der Produzenten, ihrem jeweiligen Arbeitseinsatz und der Produktivität dieses Arbeitseinsatzes. Vor der industriellen Revolution hatten wir also ungefähr folgende Situation:
\[
Q_{\text{vor}} = N_{\text{vor}} \cdot a_{\text{vor}} \cdot p_{\text{vor}}
\]
Viele Produzenten, viel Handarbeit, aber ein relativ niedriger Produktivitätsfaktor. Nach der industriellen Revolution verschiebt sich das Verhältnis:
\[
Q_{\text{nach}} = N_{\text{nach}} \cdot a_{\text{nach}} \cdot p_{\text{nach}}
\]
Die Anzahl der Produzenten sinkt nicht zwingend absolut überall, aber die Logik verändert sich: Weniger direkt handwerklich arbeitende Menschen können durch Maschinen, Fabriken, Arbeitsteilung und Energieeinsatz deutlich mehr Output erzeugen. Entscheidend ist also nicht mehr nur, wie viele Menschen arbeiten, sondern mit welchem Produktivitätshebel sie arbeiten.
Die eigentliche These lautet damit:
\[
N_{\text{nach}} < N_{\text{vor}}
\quad \text{und} \quad
p_{\text{nach}} \gg p_{\text{vor}}
\quad \Rightarrow \quad
Q_{\text{nach}} > Q_{\text{vor}}
\]
Auf Deutsch: Auch wenn weniger Menschen direkt am einzelnen Produkt arbeiten, steigt die Gesamtproduktion, weil der Produktivitätsfaktor massiv zunimmt. Die Maschine ersetzt also nicht einfach nur den Handwerker, sondern verändert das Verhältnis zwischen Arbeitseinsatz und Output. Aber, ohne ein bestimmtes Grundverständnis der dahinterliegenden Prozesse und Tätigkeiten, können wir keine Produkte bauen, ein Auto kann zwar am Fließband produziert werden, aber irgendjemand muss noch verstehen wie es funktioniert. Dies lässt sich 1:1 auf die Programmierung übertragen, sie muss weiterhin gelernt werden, um ein Gesamtsystem zu verstehen.
Die industrielle Revolution der Softwareentwicklung
Generative KI ist entsprechend obenstehender Gleichung der Produktivitätsfaktor \(p\ in der Softwareentwicklung. Früher brauchte man viele Entwickler, um vergleichsweise wenige Funktionen, Programme oder digitale Produkte zu bauen. Heutzutage kann ein einzelner Programmierer plötzlich deutlich mehr Code erzeugen, schneller Prototypen bauen, Fehler finden, Dokumentation schreiben oder Architekturideen durchspielen. Das bedeutet aber nicht, dass dieser überflüssig wird; Es bedeutet lediglich, dass sich seine Rolle verändert.
Oder als etwas zugespitzte Gleichung für die KI-Ära:
\[
Q_{\text{KI}} = N \cdot a \cdot p_{\text{KI}}
\]
Wobei \(p_{\text{KI}}\) durch generative KI massiv erhöht wird. Programmieren lernen wird dadurch nicht überflüssig. Aber stumpfes Code-Zeilen-Hämmern verliert an Bedeutung. Wichtiger wird das Verständnis für Probleme, Systeme, Architektur, Daten, Qualität, Sicherheit und Kontext.
Der Webstuhl hat nicht das Bedürfnis nach Kleidung abgeschafft. Er hat verändert, wer Kleidung wie produziert. Generative KI schafft nicht das Bedürfnis nach Software ab. Sie verändert, wer Software wie produziert.
Es Lebe das Software Engineering
Was bedeutet dies nun abschließend für den Einzelnen und die Ausgangsfrage, ob es sich noch lohnt Informatik zu studieren?
Nun, mindestens einmal zwei Dinge:
- Der Wettbewerb wird härter,vor allem für diejenigen, deren Hauptwert bisher darin bestand, Code möglichst schnell herunterzuschreiben. Ob insgesamt weniger Informatiker gebraucht werden, ist schwer vorherzusagen. Aber ziemlich sicher ist: Der Markt wird weniger gnädig gegenüber mittelmäßigem, rein ausführendem Coding. Im besten Fall führt dies dazu, dass der Fachkräftemangel unserer westlichen Welt in diesem Sektor einfach mal teilweise nebenbei abgeräumt wird, aber dadurch wird sich der Markt wieder von einem Arbeitnehmermarkt zum Arbeitgebermarkt wandeln.
- Programmieren wird deutlich anspruchsvoller. Diese These klingt erst einmal paradox, da wir doch bisher festgestellt haben, das generative KI uns das eigentliche Programmieren abnimmt. Stimmt, aber wenn Programmieren nur das Handwerk ist, beschreibt dies quasi die Fleißarbeit. In Zukunft zählt aber nicht mehr Fleißarbeit, sondern Wissensarbeit. Das geforderte Skillset verschiebt sich mehr und mehr in Richtung Software Engineering. Es wird immer wichtiger, komplexe Systeme zu verstehen, zu beschreiben und entwerfen zu können. Der heutige Programmierer (ohne gute SW Engineering Skills) ist quasi der technische Zeichner der perfekt mit Stift und Papier Entwürfe erstellen kann, aber kein CAD Programm beherrscht.
Warum ist das so? Na ja, natürlich kann ich auch einfach zu Claude Code sagen schreibe mir eine App, auf welcher ich Festivals einchecken welche ich bereits besucht habe (quasi das Untappd oder Groundhopping für Festivalgänger - liebe Grüße an Mark 😉). Hiermit kann ich mich bestimmt iterativ in einem längeren Prozess einem nutzbaren Prototypen (MVP) annährern, ich kann aber auch direkt die Gesamtarchitektur designen, die Schritte der Software Entwicklung vorgeben, mir die richtigen Technologien und vieles weitere überlegen und dies als Input benutzen. Im besten Fall habe ich damit mit genau einer Anfrage am Ende eine Software die fast Produktion Ready ist. Dies spart nicht nur Zeit auf der einen Seie, sondern auch unglaublich viele Tokens (die Währung zur Nutzung von GenAI) auf der anderen Seite. Denjenigen, die genau dieses Skillset beherrschen, gehört die Zukunft.
Abschließend meine two cents zur Frage: Informatik studieren – ja oder nein? Erstens: Die coolen Kids haben sowieso Technische Informatik studiert. Zweitens: Nein, Informatik wird nicht überflüssig. Aber der Fokus verschiebt sich. Es reicht nicht mehr, eine Programmiersprache wie eine Fremdsprache auswendig zu lernen und sich anschließend für unersetzlich zu halten, weil man weiß, wo in Java das Semikolon hingehört. Wichtig wird ein breites technisches Verständnis: Software Engineering, Architektur, Daten, Security, Qualität, Betrieb, Produktdenken und Domänenwissen. Wer nur Code schreibt, konkurriert in Zukunft mit Maschinen. Wer Systeme versteht, führt sie.