Ich vermisse die Zeit, in der ich tief nachgedacht habe
(jernesto.com)- Mit dem Aufkommen von AI-Coding-Tools hat die Erfahrung des tiefen Nachdenkens stark abgenommen, und ich habe das Gefühl, dass mein Wachstum als Engineer stagniert
- Von den beiden Neigungen in mir, „Builder“ und „Thinker“, wird der Builder dank AI befriedigt, während der Thinker hungert
- Mit „Vibe Coding“ lassen sich Ideen schnell in Realität umsetzen, aber die Gelegenheiten für kreative Problemlösung sind stark zurückgegangen
- Wenn AI eine zu 70 % „gut genug“-Lösung liefert, fällt es mir wegen meiner pragmatischen Veranlagung schwer, sie abzulehnen
- Ich habe versucht, die Befriedigung tiefen Denkens außerhalb des Codings zu finden, aber ohne Erfolg, und es ist ungewiss, ob sich beide Bedürfnisse gleichzeitig erfüllen lassen
Das Problem eines Mangels an Denken
- Bevor man diesen Text liest, sollte man sich fragen: „Wann hast du zuletzt wirklich ernsthaft nachgedacht?“
- Dieser Text bietet keine Lösung und keinen Rat, sondern ist einfach ein Ausdruck der Frustration, die ich in letzter Zeit empfinde
Zwei Neigungen: Builder und Thinker
- Builder: die Neigung, zu bauen, zu veröffentlichen und praktische Ergebnisse zu erzielen
- Motiviert durch Geschwindigkeit und Nützlichkeit
- Freude entsteht durch den Dopaminschub einer erfolgreichen Auslieferung, die Befriedigung, Systeme zu bauen, die reale Probleme lösen, und die Tatsache, dass jemand die eigenen Tools benutzt
- Thinker: die Neigung, die tiefes und lang anhaltendes geistiges Ringen braucht
- Während des Physikstudiums an der Universität gab es Aufgaben, deren Schwierigkeit weit über dem Durchschnitt lag
- Es gab Probleme, bei denen man die Konzepte zwar verstand, aber es schwer war, überhaupt einen Ansatz zu finden
Drei Typen von Studierenden vor schwierigen Problemen
- Typ 1 (die Mehrheit): versucht es ein paar Mal, gibt dann auf und bittet Professor oder Tutor um Hilfe
- Typ 2 (Forschertyp): sucht in der Bibliothek nach ähnlichen Problemen oder Hinweisen, um das Problem in einen lösbaren Zustand zu bringen, und kommt meist zur Lösung
- Typ 3 (Thinker-Typ): nähert sich dem Problem ausschließlich durch Denken
- Nutzt über Tage oder Wochen fast die gesamte Gehirnzeit im Zustand ohne Input/Output (
non-I/O) für mögliche Lösungswege - Das Denken setzt sich sogar im Schlaf fort
- Diese Methode ist nie gescheitert, und ich habe erkannt, dass tiefes und lang anhaltendes Denken meine Stärke ist
- Ich bin weder so schnell noch so angeboren talentiert wie das oberste 1 %, aber ich war überzeugt, dass ich mit genügend Zeit jedes Problem lösen kann
- Nutzt über Tage oder Wochen fast die gesamte Gehirnzeit im Zustand ohne Input/Output (
Der Konflikt mit AI
- Genau diese doppelte Befriedigung war der Grund, warum Software Engineering anfangs so erfüllend war
- Sowohl der Builder (nützliche Dinge bauen und sich produktiv und praktisch fühlen) als auch der Thinker (wirklich schwierige Probleme lösen) wurden bedient
- Die Projekte, in denen ich als Engineer am meisten gewachsen bin, enthielten immer viele schwierige Probleme, die kreative Lösungen verlangten
- In letzter Zeit kommt es jedoch deutlich seltener vor, dass ich mich mehrere Stunden lang ernsthaft mit nur einem Problem beschäftige
- Ich glaube, dass an all dem AI schuld ist
- Ich schreibe mehr und komplexere Software als je zuvor, habe aber das Gefühl, als Engineer überhaupt nicht zu wachsen
- Als ich dem Gefühl des „Stillstands“ nachging, wurde mir klar, dass ich den Thinker aushungern lasse
- „Vibe Coding“ befriedigt eindeutig den Builder
- Es erzeugt sofortige Lust, wenn eine Idee in sehr kurzer Zeit direkt in die Realität umgesetzt wird
- Gleichzeitig gibt es viel weniger Momente, in denen ich selbst kreative Lösungen für technische Probleme finden muss
- Für Menschen, die rein Builder-orientiert sind, ist dieses Umfeld die ideale Ära
- Für mich fehlt aber eindeutig etwas
Die Falle des Pragmatismus
- Ich erwarte den Einwand: „Wenn sich etwas mit Vibe Coding lösen lässt, war es ursprünglich kein schwieriges Problem.“
- Doch das geht am Kern vorbei
- AI ist weder bei schwierigen Problemen besonders herausragend, noch liefert sie bei einfachen Problemen immer gute Lösungen
- Wenn ich dasselbe Modul zum dritten Mal selbst neu schreiben würde, bin ich sicher, dass es besser wäre als alles, was AI erzeugt
- Gleichzeitig bin ich aber Pragmatiker
- Wenn ich mit nur einem Bruchteil von Zeit und Aufwand eine „nahe genug“ liegende Lösung bekomme, fühlt es sich eher irrational an, nicht AI zu wählen
- Das eigentliche Problem ist, dass ich diesen Pragmatismus nicht bewusst abschalten kann
- Im Kern bin ich ein Builder und liebe den Akt des Erschaffens selbst. Wenn ich etwas schneller bauen kann, fühlt sich das immer besser an
- Selbst wenn ich AI ablehnen und in eine Zeit zurückkehren wollte, in der die Bedürfnisse des Thinkers beim Coden ganz natürlich erfüllt wurden, kann der Builder diese Ineffizienz kaum ertragen
- AI liefert zwar fast sicher keine zu 100 % zufriedenstellende Lösung, aber die 70 %ige Lösung, die sie erreicht, erfüllt meist den Maßstab von „gut genug“
Wie soll es weitergehen?
- Ehrlich gesagt habe ich noch keine Antwort gefunden und denke weiter darüber nach
- Ich bin mir nicht sicher, ob diese beiden Neigungen innerhalb desselben Feldes, nämlich Coding, überhaupt noch gleichzeitig erfüllt werden können
- Es gibt die Option, bewusst schwierigere Projekte anzusteuern und Probleme zu suchen, an denen AI vollständig scheitert
- Solchen Problemen begegne ich zwar manchmal, aber ich habe das Gefühl, dass Probleme, die tiefe kreative Lösungen verlangen, schnell weniger werden
- Ich versuche auch, das Gefühl geistigen Wachstums außerhalb des Codings wiederzufinden
- Ich schlage alte Lehrbücher auf, um wieder eine Verbindung zur Physik herzustellen
- Doch das hat nicht zu echter Befriedigung geführt
- Wenn ich die Möglichkeit habe, etwas zu bauen, fällt es mir schwer, Zeit und geistige Energie für Physikprobleme aufzuwenden, die weder direkt relevant noch aktuell sind
- Die Builder-Neigung erlaubt es einfach nicht, nur dazusitzen und über ungelöste Probleme nachzusinnen
- Die Thinker-Neigung bleibt weiter hungrig, solange Vibe Coding anhält
- Ich bin mir nicht sicher, ob der Zeitpunkt wieder kommen wird, an dem beide Bedürfnisse gleichzeitig erfüllt sind
„Nun haben wir das Recht, diesem Wesen jenen vertrauten Namen zu geben, auf den immer das verwiesen wurde, was keine Kraft der Einbildung, kein kühnster Sprung der Fantasie, kein gläubigster Glaube, kein noch so tiefes abstraktes Denken, nicht einmal der Geist in Ekstase je zu erreichen vermochte: Gott. Aber diese grundlegende Einheit gehört der Vergangenheit an und existiert nun nicht mehr. Im Prozess der Verwandlung ihres eigenen Seins hat sie sich selbst vollständig, restlos in Stücke zerschlagen. Gott ist tot, und sein Tod war gerade das Leben der Welt.“
— Philipp Mainländer
9 Kommentare
Typ 1 und 2 waren schon von Anfang an verloren,
Programmierer ohne Eignung,
und nur diejenigen, die bloß aus beruflicher Pflichterfüllung dabeibleiben,
spüren so etwas wie eine Krise ... Von vornherein sind das Leute, denen
das Denken selbst lästig ist ...
Für Typ 3 ist das dagegen ein willkommenes Geschenk.
Typ 3 nutzt es doch ohnehin schon gut, oder?
Wenn ein neues Tool herauskommt, verwendet man es doch begeistert und gut, oder nicht?
Ich habe anfangs mit
win32-Code experimentiert.Aber wie zu erwarten war ... es war auf dem Niveau eines Automation Interface.
Da dachte ich schon, dass man mit so etwas gutes Softwaredesign ohnehin vergessen kann.
Also habe ich darüber nachgedacht, wie man das möglichst gut nutzen kann.
Aber selbst auf diesem Niveau gibt es viel, wofür man es einsetzen kann.
Auch das hier ist etwas, das einem, wenn man nachdenkt und grübelt, gewissermaßen zusätzliche Arme und Beine wachsen lässt ... Das Problem ist aus meiner Sicht, dass man sich nicht einmal solche Gedanken macht.
Das ist doch nur eine Selbsttäuschung. Wenn man Dinge, die sich schnell ausprobieren lassen, einfach testet und dabei Daten sammelt, bringt das mehr — worin unterscheidet sich das von so einem „Ach, egal, ich bin halt Theoretiker“? lol
Für mich sieht das nur so aus, als würde da jemand aufschreien, weil gerade bewiesen wurde, dass die eigene Theorie, die bisher mangels Umsetzbarkeit nie verifiziert werden konnte, ziemlich nutzlos ist.
Wenn man wirklich ein Denker wäre, würde man in dieser Situation über AI herausfinden, welches Problem man lösen sollte, und sich immer noch Gedanken machen, um eine bessere Lösung zu finden.
Das scheint mir kein Kommentar zu sein, der eine respektvolle Haltung erkennen lässt.
An einem von fünf Arbeitstagen arbeite ich während der Arbeitszeit bewusst ohne LLM, und sonntags nutze ich LLMs überhaupt nicht – das ist gut machbar.
Wäre es nicht möglich, den von AI erzeugten Code durch zusätzliche Builds und paralleles Thinking weiter zu verbessern?
Bei riesigen Systemen auf Enterprise-Niveau zeigt AI bei der Auswahl eines geeigneten Processing-Modells und der Entscheidung für einen Pipeline-Ansatz in Sachen Reifegrad noch immer Schwächen, daher lohnt es sich wohl, den Blick auf die Architektur zu richten.
Natürlich ist auch die Frage, wie lange das trägt ...
Dann stillt man eben den Drang, schwierige Algorithmusprobleme zu lösen, und geht das Business pragmatisch an — viel andere Möglichkeiten gibt es nicht.
So wie es auch im Zeitalter maschinell gefertigter Kleidung noch Stricken gibt, könnte es vielleicht auch Coding als Hobby geben.
Meiner äußerst persönlichen Meinung nach
könnte man vielleicht das Vergnügen des Builders und des Thinkers herauspicken.
Jetzt kann man mit vollständig niedrigen Kosten (wenig Zeit) etwas erschaffen, das funktioniert, und
sich die Freude daraus holen, dass Nutzer es verwenden, sowie die Freude, ein Problem aus dem realen Leben gelöst zu haben.
Wenn man die eingesparte Zeit dann in Probleme steckt, die tiefes Nachdenken erfordern (was ich tatsächlich auch so mache),
dann hat das auf seine Weise Bedeutung und macht ebenfalls Freude.
Hacker-News-Meinungen
Ein Beitrag von Aral Balkan aus dem März 2025 war eindrucksvoll
Programmieren ist wie das Formen eines Klumpens Ton zu der Gestalt, die man haben will. Dabei lernt man die Grenzen und Eigenschaften des Materials kennen.
Vor dem Bauen weiß man am wenigsten, was man eigentlich bauen möchte. Design ist nicht bloß Problemlösung, sondern das richtige Problem zu entdecken.
Wenn man den Schaffensprozess überspringt, verliert man das menschliche Element von Lernen und Entdecken. Ein Werk, das man selbst geformt hat, versteht man in- und auswendig, während ein Ergebnis aus dem Automaten nur eine äußerlich ähnliche Nachahmung ist
Je neuer eine Idee ist, desto stärker versucht das Tool, sie zu „normalisieren“, daher braucht es Mühe, diesen Widerstand zu überwinden.
In diesem Prozess definiert man klarer, was die eigene Idee ist und was nicht. In dem Moment, in dem man aufhört zu drängen, überdeckt das LLM die Originalität des Projekts
Meine Arbeit besteht darin, bereits gebaute Tools zu kombinieren, um etwas Neues zu schaffen.
Nur weil man den Schaffensprozess überspringt, sinkt der Wert des Werks nicht.
Zum Beispiel ist Zelda nicht schlechter, nur weil es die Havok-Physik-Engine nutzt, und ein mit Unreal gemachtes Spiel ist deshalb auch nicht minder großartig
Auf das Ergebnis, das ich in den letzten drei Wochen parallel mit Codex, Claude und Test-Sessions gebaut habe, bin ich stolz.
Früher war das Ziel, Ideen umzusetzen; heute sind es Kundenzufriedenheit sowie die Einhaltung von Zeitplan und Budget
So lassen sich komplexe Systeme mit Tausenden von Bauteilen bauen.
Früher übernahm diese Rolle die Unternehmensorganisation — oben wurden Spezifikationen vorgegeben, unten die Teile gefertigt
Früher konnte man Websites, die mit Ruby on Rails gebaut waren, sofort erkennen.
Wenn man Menschen oder Agenten Aufgaben gibt, ohne die Eigenschaften des Mediums zu verstehen, entsteht der Unterschied zwischen sauberem Code und nicht wartbarem Code
Am Ende trägt der Anweisende die Verantwortung. Ohne Erfahrung mit dem Medium ist man nicht darauf vorbereitet, das Ergebnis zu bewerten
Bei mir hat sich einfach nur das Tippen reduziert, ich denke immer noch genauso
Die Tools sind besser geworden, aber Programmieren ist immer noch Programmieren.
Ob man die Wüste auf einem Kamel durchquert oder im Hubschrauber, am Ende ist die Reise immer noch eine Reise.
Dass die Werkzeuge besser geworden sind, hat das Wesen der Sache nicht verändert
Es wirkt, als hätte man vergessen, dass unterschiedliche Erfahrungen nebeneinander existieren können.
Der Kommentar „Ich will nicht nachdenken“ war besonders eindrucksvoll
Es ist gut, auf die nächste Ebene der Abstraktion zu steigen, aber man muss auch anerkennen, welchen Wert man dabei verliert
LLMs sind zwar nur eine Weiterentwicklung von Werkzeugen, aber es ist schade, wenn der feinkörnige Denkprozess verschwindet
Es ähnelt eher dem Delegieren von Arbeit an andere und dem anschließenden Prüfen.
Wer Programmieren nie mochte, wird das begrüßen, aber man kann das nicht wirklich „Programmieren“ nennen
Wenn ich Code selbst schreibe, entstehen Datenstrukturen als Bild im Kopf, aber wenn ein Agent das übernimmt, verschwindet dieses Gefühl.
Code ohne Verständnis zu committen hat für mich keinen Wert
LLM-basiertes Coding mit bestehender Abstraktion gleichzusetzen ist eine falsche Analogie
Compiler oder Frameworks zielen auf leckfreie Abstraktion, LLMs sind dagegen ihrem Wesen nach leaky.
Bugs zu finden und zu beheben bleibt am Ende weiterhin Aufgabe des Menschen.
LLMs bringen damit erneut genau die Unsicherheit und das Risiko zurück, denen wir entkommen wollten
Wenn im Prompt nicht alle Variablen ausdrücklich genannt sind, kommt ein durchschnittliches Ergebnis heraus.
Es bleibt die Frage, ob natürliche Sprache überhaupt geeignet ist, solche Informationen zu tragen
Das ist keine Abstraktion, sondern nicht deterministische Codegenerierung
In diesem Punkt wirken LLMs auch anders auf unsere Denkweise
Ich bin eher ein Denker (thinker) und habe deshalb wenig Interesse an AI-Coding
Einen OS-Kernel oder eine Grafik-Engine selbst zu bauen, macht mir Spaß.
Nicht das Ergebnis, sondern der Prozess des Problemlösens ist mein Hobby und meine Erfüllung
Dagegen sind „Builder“ begeistert, weil sie mit AI schneller etwas bauen können
Alle Ingenieure denken; nur der Zweck der Werkzeuge ist unterschiedlich
Aus Sicht von jemandem, der seit Jahrzehnten programmiert, geben AI-Tools Freiheit
Man kann Ideen schnell ausprobieren, die man früher nicht einmal versucht hätte.
Dadurch kann man kurze Zeitfenster nutzen, um an privaten Projekten weiterzuarbeiten
Dank AI kann man sich endlich auf das eigentliche Denken konzentrieren.
Mittlerweile fühlt es sich an, als würde sich die Singularität nähern
Wenn es scheitert, lernt man etwas; wenn es klappt, kann man sich auf die Qualitätsprüfung konzentrieren
Auch „Denken“ hat verschiedene Formen
Es gibt das intensive, fokussierte Denken und das langsame Reifen im Hintergrund.
Beides sind Formen tiefer Vertiefung, und gerade diese gehen im AI-Zeitalter leicht verloren
Mathematische Problemlösung, philosophisches Denken oder komplexe praktische Randbedingungen erzeugen jeweils eine andere Form von intellektueller Spannung
Entscheidend ist am Ende, in welcher Form auch immer tiefe Versenkung zu erleben
Bei den Senior Engineers in meinem Umfeld sehe ich zwei Gruppen
Einige haben zwar etwas Produktivitätsgewinn erzielt, bei anderen ist aber die Denktiefe zurückgegangen
Oft wird einfach die vom LLM gelieferte Antwort per Copy-paste übernommen.
Das eigentliche Problem ist das Fehlen der Fähigkeit, die richtigen Fragen zu stellen
In reifen Systemen macht dieser Anteil oft mehr als 90 % aus
Es ist bedauerlich, dass Kolleginnen und Kollegen die AI so begeistert aufgenommen und damit das Wesen ihres Berufs verkauft haben
Wir besaßen die Produktionsmittel und haben sie freiwillig aufgegeben
Wenn Entwicklung durch AI billiger und schneller wird, wächst der Markt am Ende eher noch weiter
Technischer Fortschritt benachteiligt immer bestimmte Berufsgruppen, bringt aber gesellschaftlichen Fortschritt insgesamt
So wie wir früher durch Automatisierung Jobs in anderen Branchen reduziert haben, ist nun einfach die Reihe an uns
Das Ergebnis ist nur Leere. Aber vielleicht war selbst das für sie schon das Ziel
Die Haltung „weil wir es können, tun wir es“ lässt die Menschlichkeit verloren gehen
Nicht AI löscht das Denken aus. Das Problem sind gewöhnliche Unternehmen und gewöhnliche Denkweisen
Man muss sich Unternehmen suchen, die echtes Denken schätzen
Ich code auch mit LLMs und denke trotzdem weiterhin gründlich nach
Ich beschäftige mich mit Design, Risiken, Einschränkungen, Technical Debt und Alternativen
Es ähnelt eher einem managementartigen Denken, bei dem man mehrere Kontexte hin- und herbewegt und verwaltet,
und unterscheidet sich vom wissenschaftlerartigen Denken, bei dem man sich tagelang in ein einziges Problem vertieft
Besonders Pull Requests von Juniors, die AI nutzen, sind länger und komplexer geworden,
und inzwischen besteht der Großteil meiner Arbeit aus Reviews
Sie sind nützlich für schnelles Prototyping, Helper-Funktionen, Code-Autovervollständigung und das Erkunden von Bibliotheken
Eher im Gegenteil: Weil einfache Aufgaben wegfallen, denke ich sogar mehr
Früher führte das Schreiben von Code dazu, dass man über das übergeordnete Design erneut nachdachte,
heute geschieht das seltener, sodass man „weniger tief“ nachdenkt