Haltung zu KI-Coding: Von Vermeidung zu Realismus: Ein Erfahrungsbericht

Geschrieben von Fachexperten: Timon Fiddike Timon Fiddike, CST®, Machine Learning seit 2005

Zusammenfassung

Ich war erst sehr skeptisch bzgl. KI-Coding. Dann habe ich mir eine realistischere Einschätzung erarbeitet. Hier teile ich meine menschliche Erfahrung unterwegs. Im Artikel KI-Coding Lernen: Ein Weg in 10 Schritten beschreibe ich konkret und technisch meine 10 Schritte vom Start mit KI-Coding bis hin zur produktiven Nutzung. Beide Artikel richten sich an Entwickler und deren Führungskräfte.

Wozu dieser Artikel? Hoffnungen dahinter

Ich hoffe, es ist in Ordnung, wenn ich „Du“ schreibe. In Workshops sind wir i.d.R. auch per Du. Ich war selbst lange skeptisch bzgl. KI-Coding. Und ich habe mit Ablehnung reagiert, als ich „übertrieben positive“ Artikel gesehen habe. Wie in der Zusammenfassung skizziert, teile ich sowohl meine menschliche Erfahrung (in diesem Artikel), als auch konkret und technisch meine Schritte 10 auf dem Weg. Beide Artikel ruhen auf dem Boden der Tatsachen, ohne Übertreibung und ehrlich mit Abwegen und Umwegen. Hinter beiden Artikeln stecken mehrere Hoffnungen:

  • Hoffnung 1: Als Entwickler bekommst Du konkrete Ideen für Deinen eigenen Weg.
  • Hoffnung 2: Als Führungskraft gewinnst Du einen Eindruck, welche Schritte Deine Mitarbeiter gehen könnten. Vielleicht denkst Du darüber nach, ihnen andere Impulse und Unterstützung anzubieten als bisher.
  • Hoffnung 3: Du bekommst einen ersten Eindruck von mir. Vielleicht nimmst Du Kontakt auf, wenn Du einen Impulsvortrag oder Workshop möchtest.

Vermeidung und vorsichtiges Probieren

Es gibt eine lange Liste von Gründe, warum ich KI-Nutzung in vielen Bereichen kritisch sehe. Darüber hinaus war ich auch sehr skeptisch in Bezug auf den möglichen Nutzen. Entsprechend war ich nicht bereit, hier viel Zeit zu investieren. Ich habe zunächst nur diese beiden Schritte gemacht:

  • Schritt 1: Copy & Paste mit ChatGPT: Dies zu erproben ist mir leicht gefallen, denn ich konnte meine Arbeitsweise und Werkzeuge beibehalten und, auf eigenen Wunsch im Einzelfall, ein wenig ergänzen.
  • Schritt 2: KI Code Vervollständigung, aka „Line Completion“: Dies zu erproben ist mir leicht gefallen, weil diese Funktion als Update in meiner gewohnten IDE aufgetaucht ist. Auch hier konnte ich also meine Arbeitsweise und Werkzeuge beibehalten, wiederum mit einer kleinen optionalen Ergänzung.

Ich war zwar auch ein wenig neugierig in Bezug auf Cursor, Windsurf und ähnliche Tools, aber noch nicht bereit, Zeit zu investieren und diese systematisch zu erproben, denn dabei handelt es sich um komplette IDEs und meine IDE war das zentrale Werkzeug meiner Entwicklungsarbeit. Mit meiner IntelliJ IDE Variante von JetBrains habe ich seit 2010 schon sehr viel gearbeitet und kenne sie in und auswendig. Und wenn man ein derart mächtiges Werkzeug gut kennt, kann man damit auch viel bewegen. Und meine Erwartung war, dass es viel Zeit kosten würde, mich in eine neue IDE einzuarbeiten.

Motivation durch Impuls

Henrik Knieberg brachte mit einer Keynote einen wichtigen Impuls in mein Bewusstsein. Sie war als live Demonstration zum Stand der Technik konzipiert, Kernthemen waren Anwendungsbeispiele mit verschiedenen KI Tools:

  • Hinterfragen und Verbessern einer Produktidee
  • Visueller Prototyp
  • Interaktiver Prototyp
  • Coding, erste Schritte zum echten Produkt

Ich war beeindruckt, als ich ihn beim Coding beobachten konnte. Henrik hat dabei meinen alten Vorstellungsrahmen gesprengt:

Mit wenigen kurzen Anweisungen hat er sein KI-Coding Tool dazu gebracht, innerhalb von Minuten, Code für Backend und Frontend zu erzeugen, und zwar in ähnlichem Umfang und ähnlicher Qualität, wie Menschen das innerhalb von Stunden tun.

Mit fällt leicht zu glauben, was ich sehe (d.h. ich glaube, dass ER das kann), als nächstes wollte ich natürlich herausfinden, ob ich das auch kann.

Experimente mit mittlerem Aufwand

Kann ich das auch?

Kurz gesagt: So aus dem Stand leider nicht. Henrik hatte zu dem Zeitpunkt schon einige Erfolgsfaktoren für sich realisiert, die ich erst noch für mich entdecken und umsetzen musste:

  • Auswahl der Tools
  • Auswahl der Modelle
  • Anweisungen geben
  • Kontext geben
  • Feedback geben

Die Auswahl von Tools und Modellen kann man sich leicht von anderen abschauen. Ich habe erst einmal versucht, so gut es geht, nachzumachen, was ich im Impulsvortrag gesehen hatte, einschließlich der Tools:

Das war ein guter Startpunkt, so konnte ich recht schnell Schritt 3 und 4 gehen. Ich musste aber erst noch lernen, geschicktere Anweisungen, Kontext und Feedback zu geben. Das ist anspruchsvoller (Schritte 5-9).

Projekte

Am Anfang dachte ich, auf der grünen Wiese experimentieren wäre leichter. Das stimmt nicht, denn bestehenden Code kann man sehr gut verwenden, um einen geeigneten technischen Kontext für die KI aufzubauen (Schritt 5). Ich habe die neuen Tools und Vorgehensweisen an folgenden Arten von Projekten erprobt:

  • bestehende Codebase, kompliziert, 9-10 Jahre alt, PHP mit Symfony
  • grüne Wiese, kritische Abhängigkeiten nach außen, JavaScript mit NodeJS
  • grüne Wiese, Abhängigkeiten unkritisch durch lose Kopplung, Python mit Django

Bei der bestehenden Codebase waren Sprache und Framework natürlich schon festgelegt. Mutig und neugierig war ich bei den beiden neuen Projekten um so mehr:

Neue Sprache in 1 Tag

Ich habe neue technische Frameworks und Bibliotheken erprobt und auch direkt jeweils noch eine neue Sprache begonnen zu lernen. Das klingt für manche Leser vielleicht verrückt, aber: Warum nicht? Früher habe ich für High Performance Computing mit C++ und Fortran gearbeitet und seitdem immer wieder neue Sprachen für Web Entwicklung und andere aktuelle Anwendungsfälle gelernt. Insgesamt komme ich so auf mehr als zehn strukturierte Sprachen, also warum nicht noch eine weitere probieren?

Zum Vergleich:

  • Im Jahr 2002 habe ich mehrere Wochen gebraucht, um C++ zu lernen. Dabei habe ich jeden Tag mehrere Stunden investiert und die ersten 800 Seiten des Buchs „Die C++ Programmiersprache“ von Bjarne Stroustrup nicht nur gelesen, sondern auch alle Codebeispiele im Detail nachvollzogen. Die Beispiele der ersten 200 Seiten habe ich zudem abgetippt, kompiliert und ausprobiert.
  • Im Jahr 2025 hat es mich dann mit Cursor + Claude Sonnet weniger als einen Tag gekostet, meine erste Node JS Anwendung zu entwickeln. Vorher war mein Fokus i.d.R. beim Backend und ich hatte nur wenig Kontakt mit JavaScript , und nur zur Anwendung im Browser. Mein neues Node JS Backend war nicht nur funktionsfähig, sondern auch schnell.

Natürlich kann man diesen Vergleich kritisieren, denn immerhin gehört JavaScript zur gleichen Sprachfamilie wie C++, so dass mein Wissen von damals hilfreich war, um Neues zu lernen. So oder so war der Einstieg in eine neue Sprache noch nie so leicht für mich.

Von Wochen zu Stunden – das hat bei mir einen „Wow Effekt“ ausgelöst.

Manchmal behaupten Leute, dass sie mit KI-Coding heute 10x oder 20x so schnell sind wie früher:

  • Dabei kann es sich um eine Übertreibung handeln und es braucht im Einzelfall eine sehr genaue Betrachtung.
  • Für den oben erklärten Spezialfall kann ich jedenfalls bestätigen, dass hier mehr als 20x möglich ist.

Während dieser 1. Phase der Lernreise fühlte ich mich phantastisch. Ein Erfolgserlebnis nach dem anderen. Dopamin pur.

Gewohnheit: Kleine Schritte

In der Vergangenheit fand ich es sehr hilfreich, große technische Veränderungen systematisch in reversible, kleine Schritte zu zerlegen, und diese mit automatisierten Tests zu unterstützen. Deswegen habe ich viel Inspiration aus den Büchern und dem Substack von Kent Beck gezogen. Kent ist einer der Erfinder von Xtreme Programming und Author von Büchern wie „Xtreme Programming Explained“ und „Test Driven Development“.

Mir ging es damals wie vielen anderen Entwicklern auch: 

  • Wenn man einen großen Schritt bis zum nächsten umfangreichen Test macht, ist auch die Wahrscheinlichkeit groß, dass im Test nicht alles funktioniert wie intendiert.
  • In großen gewachsenen Systemen Fehler zu suchen, zu finden und zu reparieren kann sehr viel Zeit kosten. (Ja, das gilt leider auch dann, wenn man den Fehler in den letzten Tagen selbst verursacht hat, denn hier geht es ja nicht um Tippfehler sondern um Denkfehler, Seiteneffekte und andere auf den ersten Blick schwer zu erkennende Gemeinheiten.)
  • Kleine Schritte bis zum jeweils nächsten Test zu identifizieren und zu gehen kostet Zeit, aber man verbringt diese Zeit durchgängig produktiv und kann den eigenen Fortschritt gut verfolgen und kommunizieren. Man kann unterbrechen, neu starten und es ist alles in allem erheblich weniger frustrierend.

Metapher dazu:

  • Kleine Schritte: „Jeden Tag verlässlich 4 Schritte vorwärts gehen“ könnte ein gutes Bild für die vielen verlässlichen kleinen Schritte sein.
  • Große Schritte: „Pro Woche (5 Werktage) einmal 5 Würfeln zu werfen“ könnte eine Metapher für die großen Schritte sein. Ja, es ist teilweise schneller (5 oder 6 Augen), aber die Würfel mit 1 oder 2 Augen ziehen den Durschnitt so weit herunter, dass bei einer nüchternen Auswertung diese Strategie langfristig langsamer ist, obwohl sie sich phasenweise schneller anfühlt.

Experiment: Größere Schritte

Motiviert durch meine ersten Erfolgserlebnisse wollte ich nun versuchen, mit KI Unterstützung in größeren Schritten zu coden (Schritt 4). Die Ergebnisse waren sehr gemischt: Mit meinem damaligen Kenntnisstand zu Anweisungen, Kontext und Feedback habe ich zunächst einmal Folgendes erreicht:

  • Etwa ein Drittel der großen Schritte hat auf Anhieb gut funktioniert.  Ich hatte danach lauffähigen Code, der getan hat, was ich wollte.
  • Ein weiteres Drittel der großen Schritte hat zwar nicht auf Anhieb funktioniert, aber mit 1-3 Korrekturschleifen dann schon. Die Syntax war jeweils sofort korrekt, aber es gab Probleme z.B. durch späte oder unerwartete Antworten durch ein externes System. Ich habe jeweils die Fehlermeldung zurück ins Modell kopiert und um Korrektur gebeten. So war es möglich, hier relativ schnell zu reparieren und das fühlte sich noch einigermaßen produktiv an.
  • Beim letzten Drittel hat das Modell komplett versagt, sich im Kreis gedreht oder nur noch Quatsch produziert. Auch mit fünf Versuchen von „Fehler zurück ins Modell kopieren“ ging es nicht mehr vorwärts. Das Modell hatte jeweils 3-6 verschiedene Ideen, aber keine der Ideen hat funktioniert. Oder sie waren vollkommen inakzeptabel. Z.B. gab es eine unerwartet lange Wartezeit zum sauberen Beenden eines Prozesses, vermutlich durch verzögertes Beenden einiger Subprozesse (hier waren mehrere Threads im Spiel, die separate Binarys ausführen durften). Das Modell hat als Lösung versucht, den Hauptprozess aus einer privaten Klassenfunktion heraus durch einen Systemaufruf hart zu beenden. Ja, danach gab es keine Wartezeit mehr. Aber auch keine abschließende Ausgabe über die erzielten Ergebnisse. Hätte ein Mensch dieses Ergebnis produziert, hätte ich mich gefragt, ob die Person sich einen (schlechten) Scherz erlaubt hat.

Licht und Schatten

Nun gibt es für Menschen ein natürliches Risiko, immer tiefer in den Kaninchenbau einzutauchen, wenn etwas nicht funktioniert. Von Kent Beck habe ich aber gelernt: Wenn der aktuelle Ansatz nicht funktioniert, lieber die letzten Schritte löschen und neu anfangen. Mit dem neuen Wissen ist man von einem soliden Stand aus schneller am Ziel, als wenn man sich in der Fehlersuche verläuft. Im Kontext von KI Coding war diese Strategie extrem hilfreich für mich und hat mir geholfen, manche Sackgassen schnell wieder in Ruhe zu lassen (aber leider nicht alle).

Metapher:

Es war, als wenn ich auf einem Bullen reiten würde, der versucht mich abzuwerfen, und es leider gelegentlich auch schafft.

Während dieser 2. Phase der Lernreise habe ich ganz verschiedene Gefühlszustände durchlebt. Es gab zwar gelegentlich noch ein Erfolgserlebnis, aber immer öfter auch Enttäuschungen. Manche sprechen von einer emotionalen Achterbahnfahrt- aber bei einer Achterbahn sieht man ja vorher, was auf einen zukommt. Dieses Wechselbad der Gefühle war immer wieder überraschend, im Guten wie im Schlechten.

Den Fokus wieder öffnen

Und dann hatte ich erst einmal genug. Ich wollte es für den Moment gut sein lassen, und meine bisherigen Erkenntnisse zumindest noch in einen Erfahrungsbericht gieße. Dazu habe ich dann versucht, innerlich einen Schritt zurück zu treten.

Ich wollte abstrahieren und beschreiben, was meistens gut funktioniert hat und was nicht, und versuchen zu erklären, warum manches besser funktioniert als anderes. Dazu habe ich Notizen gemacht und recherchiert.

Ohne das es meine Absicht war, kam ich so in einem anderen Geisteszustand. Ich hatte einerseits schon Erfahrung gesammelt, war andererseits aber auch wieder offen für Neues. Bei meinen Recherchen in dieser 3. Phase meiner Lernreise bin ich auf die Strategien und Techniken aufmerksam geworden, die ich im Nachfolgeartikel als Schritte 5-9 beschrieben habe.

Challenge Accepted

An diesem Punkt habe ich mich entschlossen, die Herausforderung anzunehmen: Nach meinen ersten Experimenten (bis Schritt 4) wollte ich nun systematisch meine Fähigkeiten auf höhere Level heben.

Schritt 5 konnte ich mir leicht genug vorstellen, weil ich in der Vergangenheit intensiv mit verschiedenen Frameworks gearbeitet habe. Mir ist auch die Erfahrung vertraut, dass es für die Zusammenarbeit im Team hilfreich ist, ein Framework als gemeinsame Grundlage zu nehmen. Das kommt unter anderem daher, dass durch die Entscheidung für ein Framework eine Menge Fragen vorab beantwortet werden, über die man dann nicht mehr im Detail diskutieren muss.

Von da aus ergab jeder Schritt den jeweils nächsten, z.B. als ich realisiert habe, dass aktuelle KI-Coding Tools direkt die Dokumentation von Frameworks auswerten können, und dass man noch dazu über Regeln steuern kann, dass neu generierter Code nach den Vorgaben des Frameworks bzgl. Struktur und Stil angepasst wird. So folgte im Galopp Schritt 6 usw.

Nun ist es nicht mehr, als würde ich einen wilden Bullen reiten, sondern eher schon ein Pferd.

Produktiver Einsatz und weiteres Lernen

Nun können Pferd und Reiter natürlich weiter dazu lernen, bezogen auf KI Coding bedeutet das:

  • geschickter Anweisungen geben (Prompten)
  • mehr Kontext geben (durch Framework, MDC Regeln, PRDs uvm.) bis hin zu:
  • schnelles Feedback unabhängig vom Menschen verfügbar machen (Schritt 8).

Das bedeutet noch lange nicht, dass ich irgendwo angekommen wäre, jetzt alles kann oder auch nur ansatzweise zufrieden bin. Diese Reise fängt gerade erst an und sie wird länger.

Mehr als je zuvor erkenne ich in Demut, dass es unglaublich viele Dinge gibt, die ich gern wüsste und könnte. Sehr viel „bewusste Inkompetenz“, die wahrscheinlich die nächsten Jahre auch nicht weniger werden wird, weil sich dieser Bereich weltweit gerade unglaublich schnell entwickelt.

Parallel wächst aber auch bewusste Kompetenz. In Bezug auf Programmiersprachen, Frameworks, Prozesse und Produktentwicklung habe ich viel Erfahrung, auf die ich aufbaue. Und KI-Coding im engeren Sinne macht immer mehr Spass, während ich meine Fähigkeiten der Schritte 5-9 ausbaue.

Reflexion, Einladung und Angebot

  • Hast Du als Entwickler konkrete Ideen für Deinen eigenen Weg bekommen?
  • Hast Du als Führungskraft einen Eindruck gewonnen, welche Schritte Deine Mitarbeiter gehen könnten? Denkst Du darüber nach, ihnen andere Impulse und Unterstützung anzubieten als bisher?
  • Hast Du einen ersten Eindruck von mir?

Nimm gerne Kontakt mit mir auf, wenn Du einen Impulsvortrag oder Workshop möchtest! Lass uns gemeinsam überlegen, welche Art von Unterstützung für Euch hilfreich sein kann. Ich erstelle Euch gerne ein Angebot. Du erreichst mich direkt oder (wg. Spam Filter) auch noch verlässlicher über unsere zentrale Kontakt E-Mail oder Telefon.

Über den Autor

Dr. Timon Fiddike

  • Seit 2010 auf dem Pfad der Agilität
  • Seit 2005 KI, AI, Machine Learning, siehe Werdegang
  • Erfahrung als Entwickler im Team, Product Owner, Scrum Master, Geschäftsführer und Coach
  • Höchste Zertifizierung: Certified Scrum Trainer® (weltweit ca. 220 Personen) für die Scrum Alliance®
  • Erfahrung in Startup, Mittelstand & Konzern
  • Integraler Coach – Ausbildung nach ICF ACTH-Standard
  • Unterstützt mit Begeisterung das menschliche Wachstum, das agile Arbeit ermöglicht
  • Geschäftsführer Agile.Coach GmbH & Co. KG

Zu Timons Profil

Nach oben scrollen