Solltest du noch programmieren lernen, wenn AI es kann?
Artikel anhören (experimentell) · 09:23

Zwei Fragen, die Entwickler immer wieder stellen, sind im Kern dieselbe Frage. Die eine fragt, ob es Zeitverschwendung ist, jahrelang programmieren zu lernen, wenn AI die Programmierer innerhalb von zehn Jahren ersetzt haben wird. Die andere stammt von einem Studenten, der sich Frontend aus YouTube-Tutorials beibringt, den Code jedes Tutorials aus dem Gedächtnis abtippt und sich leise fragt, ob er Verständnis aufbaut oder nur Muster auswendig lernt. Die eine ist die große Angst: Verschwindet der Beruf? Die andere ist die persönliche: Lerne ich überhaupt etwas? Es ist derselbe Zweifel, von zwei entgegengesetzten Enden aus betrachtet. Lohnt es sich, die Fähigkeit von Hand aufzubauen, wenn die Maschine das Ergebnis liefern kann?
Die Antwort lautet ja. Der Grund ist nicht der bequeme, zu dem die Optimisten normalerweise greifen.
Die Beruhigung trägt nicht weit
Die Standardantwort lautet, dass diese Prophezeiung alt ist. Dass Programmierer ersetzt werden, wird seit Herbert Simon 1960 in Zyklen vorhergesagt, und jedes Mal vergehen die Jahre, und es gibt mehr Entwickler als zuvor, nicht weniger. AI halluziniert. Sie ist ein fehlerhafter Assistent, kein Ersatz. All das stimmt, und all das ist ein wenig zu bequem.
Die schärfste Fassung des Gegenarguments behauptet nicht, dass AI gut programmiert. Sie behauptet, dass es nebensächlich ist, ob AI gut programmiert. Professionelle Übersetzung wurde durch maschinelle Übersetzung „vollständig ausgehöhlt“, und die Übersetzer hatten genau die Beruhigungen von sich gegeben, die Programmierer heute geben. Über ihr Schicksal entschied nicht die Qualität. Es entschied, dass die Kunden am Ende bereit waren, sich mit billiger, schneller, schlechter zufriedenzugeben. Stellt man die ganze Debatte so um, geht es nicht mehr um „Kann AI programmieren?“, sondern um „Wie gut muss es sein, bevor jemand aufhört, dich dafür zu bezahlen?“
Ich werde dem nicht ausweichen, denn es hat echte Schärfe, und diese Schärfe trifft eine ganz bestimmte Gruppe. Wenn ein erfahrener Entwickler plus AI die Arbeit mehrerer Junioren übernimmt, zeigen sich die Verluste zuerst auf der Einstiegsebene. Die unterste Sprosse der Leiter wird nach oben weggezogen. Und keine der beiden Seiten, ob Optimist oder Pessimist, hat eine echte Antwort darauf, wie man die nächste Generation von Senioren heranzieht, wenn die Juniorstellen, die sie hervorgebracht haben, erst einmal verschwunden sind. Wenn dir jemand sagt, Programmieren sei vollkommen sicher, verkauft er dir Trost.
Warum das Argument fürs Lernen stärker geworden ist
Und doch wurde der Grund, programmieren zu lernen, nicht schwächer. Er kehrte sich um.
Das Treffendste, was ich dazu je von jemandem gehört habe, ist ein einziger Satz darüber, was eine AI tatsächlich tut, wenn man sie bittet, Code zu erklären: Sie erklärt mir, was der Code macht, was ich schon weiß, weil ich den Code selbst sehen kann. Das Wissen, für das ein Entwickler bezahlt wird, steckt nicht im Code. Die Absicht, der Grund, warum eine Entscheidung getroffen wurde, die Einschränkung, die nirgendwo festgehalten ist, die Vorgeschichte, warum es so ist und nicht auf die naheliegende Weise: nichts davon lässt sich aus dem Quelltext ablesen. Also kann auch eine Maschine, die denselben Quelltext liest, es nicht hervorbringen.
Das zieht die eigentliche Grenze. AI ist sehr gut auf der Ebene des „Was“: die Syntax, das Boilerplate, der Glue-Code, das Wiederholen dessen, was der Code ganz offensichtlich tut. Sie rührt die Ebene des „Warum“ nicht an: zu entscheiden, was gebaut werden soll, die Absicht zu kodieren, abzuwägen, ob die Sache tatsächlich korrekt ist, den Kontext zu halten, der in niemandes Datei steht. Die mechanische Produktion von Syntax wird automatisiert, und hier ist der Teil, den der besorgte Student verkehrt herum sieht: Das war nie der schwierige Teil und auch nie der wertvolle.
Das bedeutet, die Ursache läuft in die andere Richtung. „Warum das lernen, was AI gerade automatisiert?“ Weil genau die Tatsache, dass AI es automatisiert, das andere knapp macht. Wenn jeder das Ergebnis erzeugen kann und fast niemand beurteilen kann, ob das Ergebnis stimmt, wird das Beurteilen, ob es stimmt, zur ganzen Arbeit. Und dieses Urteilsvermögen kann man nicht kaufen und sich auch nicht per Prompt herbeiführen. Man erwirbt es, indem man die Grundlagen auf die harte Tour lernt, dieselben Grundlagen, die die Maschine einem jetzt gratis liefert.
Die Version des Anfängers hat eine schärfere Antwort
Das rückt auch die kleinere Frage des Studenten in ein neues Licht. Das nahezu einhellige Urteil, wann immer das unter Lehrenden zur Sprache kommt, lautet, dass gerade Anfänger sich nicht auf AI stützen sollten, und der Grund ist nicht Nostalgie. Er ist, dass ein Neuling korrektes Ergebnis nicht von selbstbewusst falschem unterscheiden kann, und genau diese beiden auseinanderzuhalten ist die ganze Fähigkeit, die er sich dort aufbauen soll. Die selbstbewusste Behauptung, im Zeitalter der AI sei das Programmierenlernen extrem einfach geworden, es bleibe nichts Unverstandenes zurück, bricht schon bei der ersten Berührung in sich zusammen, weil jeder, der wirklich etwas gelernt hat, weiß, dass „nichts Unverstandenes zurückgeblieben“ genau das Gefühl ist, überhaupt nichts verstanden zu haben.
Der Satz, zu dem die Leute greifen, lautet, dass Lernen nicht vom Tippen kommt, sondern vom Lösen von Problemen. Es stimmt, aber es unterschätzt, was der Student ohnehin schon tat. Code aus dem Gedächtnis abzutippen erzwingt aktives Abrufen statt bloßen Wiedererkennens, und beim Abrufen bildet sich Gedächtnis tatsächlich; das ist eine echte Technik, keine Verschwendung. Die Lösung ist nicht, damit aufzuhören. Sie ist, den nächsten Schritt zu gehen: Nimm die Technik, nicht das Projekt, und baue sie an einer Stelle neu, die das Tutorial nie erreicht hat. Aus einer todo list wird eine Rezeptbox. Dann bleibst du stecken, liest die Dokumentation und kommst wieder frei. Das Steckenbleiben ist nicht der Fehler beim Programmierenlernen. Es ist der Mechanismus, und es ist genau der Schritt, den eine Maschine dir bereitwillig abnimmt, wenn du sie lässt. Das ist die Falle.
Mein Eigeninteresse an deiner Antwort
Ich habe ein Eigeninteresse daran, wie du dich entscheidest, und ich sollte offen damit umgehen. Ich baue Werkzeuge, die Code erzeugen. Eines davon macht aus einem Satz einen Plan und öffnet seine eigenen pull requests. Jeder einzelne dieser pull requests ist wertlos ohne einen Menschen, der Code gut genug versteht, um ihn zu lesen und Nein zu sagen. Die Maschinen, die ich baue, sind genau so sicher wie das Urteilsvermögen der Person, die ihr Ergebnis prüft, und keinen Deut sicherer.
Wenn ich einem Studenten also sage, er soll die Grundlagen auf dem langsamen Weg lernen, bin ich nicht sentimental gegenüber einem Handwerk. Ich beschreibe die eine Aufgabe, die die Werkzeuge nicht selbst erledigen können, und die eine, die mit jeder ihrer Verbesserungen wertvoller wird.
Programmieren wird nicht überflüssig. Der Teil davon, den eine Maschine tippen kann, wird es, und dieser Teil war nie das, wofür du bezahlt wurdest. Was bleibt, ist der Teil, den du nur erreichst, indem du dich durch den Teil kämpfst, der gerade automatisiert wird: zu wissen, was zu bauen ist, und zu wissen, wann die Maschine danebenlag. Lern programmieren. Nicht trotz AI. Sondern wegen ihr.
Fragen, die dieser Artikel beantwortet
Lohnt es sich noch, programmieren zu lernen, wenn AI den Code schreibt?
Ja, und der Grund dafür hat sich umgekehrt statt abgeschwächt. AI ist sehr gut auf der Ebene des Was, also Syntax, Boilerplate, Glue-Code und das Wiederholen dessen, was der Code ohnehin offensichtlich tut, und sie rührt die Ebene des Warum nicht an: zu entscheiden, was gebaut werden soll, die Absicht zu kodieren und abzuwägen, ob die Sache tatsächlich korrekt ist. Wenn jeder das Ergebnis erzeugen kann und fast niemand beurteilen kann, ob es stimmt, wird dieses Beurteilen zur ganzen Arbeit, und dieses Urteilsvermögen kann man weder kaufen noch per Prompt herbeiführen.
Maschinelle Übersetzung hat den Übersetzerberuf ausgehöhlt. Warum sollte es beim Programmieren anders sein?
Der Einwand hat echte Schärfe und sollte nicht weggewischt werden. Über das Schicksal der Übersetzer entschied nicht die Qualität, sondern dass die Kunden bereit waren, sich mit billiger, schneller, schlechter zufriedenzugeben, und derselbe Druck trifft in der Software zuerst die Einstiegsebene, wo ein erfahrener Entwickler plus AI die Arbeit mehrerer Junioren übernimmt. Was er nicht erreicht, ist der Teil der Arbeit, der nie im Quelltext stand: die Absicht, die Einschränkung, die nirgendwo festgehalten ist, der Grund, warum eine Entscheidung so fiel und nicht auf die naheliegende Weise. Wer dir sagt, Programmieren sei vollkommen sicher, verkauft dir Trost.
Sollten Anfänger AI benutzen, während sie programmieren lernen?
Nein, jedenfalls nicht für die Grundlagen, und der Grund ist nicht Nostalgie. Ein Neuling kann korrektes Ergebnis nicht von selbstbewusst falschem unterscheiden, und genau diese beiden auseinanderzuhalten ist die ganze Fähigkeit, die er sich dort aufbauen soll. Die Behauptung, im Zeitalter der AI sei das Programmierenlernen extrem einfach geworden und es bleibe nichts Unverstandenes zurück, bricht bei der ersten Berührung zusammen, denn das ist genau das Gefühl, überhaupt nichts verstanden zu haben.
Ist es Zeitverschwendung, Tutorial-Code aus dem Gedächtnis abzutippen?
Nein. Aus dem Gedächtnis abzutippen erzwingt aktives Abrufen statt bloßes Wiedererkennen, und beim Abrufen bildet sich Gedächtnis tatsächlich, also ist es eine echte Technik und keine Verschwendung. Was fehlt, ist der nächste Schritt: Nimm die Technik, nicht das Projekt, und baue sie an einer Stelle neu, die das Tutorial nie erreicht hat, sodass aus einer todo list eine Rezeptbox wird. Dann bleibst du stecken, liest die Dokumentation und kommst wieder frei, und genau diesen Schritt nimmt dir eine Maschine bereitwillig ab, wenn du sie lässt.
Weiterlesen
AIZählt die Sprache, die du kannst, noch?
Ein Modell schreibt inzwischen jede Sprache fließend. Das macht die billige Hälfte des Sprachwissens wertlos und die teure Hälfte wertvoller als je zuvor.
AIWoher sollen die nächsten Seniors kommen?
Die KI frisst genau die Arbeit, an der Junior-Entwickler früher gelernt haben, die Einstellungszahlen für Berufseinsteiger brechen messbar ein, und jeder Senior, der den Output einer Maschine prüfen kann, war einmal ein Junior, den jemand dafür bezahlt hat, sich zu irren. Über DHH, der auf „wie weit könnte er kommen“ einstellt, die 2.200 Bewerbungen und warum eine Branche, die keine Seniors mehr heranzieht, ihre eigene Lieferkette nicht verstanden hat.