Kompetenzen erfahrener Entwickler im KI-Zeitalter: Erfahrung für bessere Ergebnisse nutzen
(manuel.kiessling.net)- In den letzten Monaten wurden KI-basierte Coding-Tools sowohl in privaten Projekten als auch im Arbeitsalltag experimentell eingesetzt
- Die Ergebnisse waren sehr positiv: Es wurden sowohl kürzere Entwicklungszeiten als auch eine höhere Qualität der Resultate erreicht
- Gleichzeitig teilten einige Entwickler auch negatives Feedback, dass KI-Tools nicht gut funktionieren würden
- Diese Erfahrungen haben zu der Überzeugung geführt, dass softwaregestützte Entwicklung mit KI das Potenzial für den nächsten großen Sprung bei der Produktivität hat
- Voraussetzung ist jedoch keine unkritische Übernahme, sondern die richtige Perspektive und ein ausgewogener Ansatz
- In diesem Artikel werden direkt gemachte Erfahrungen und entdeckte Best Practices geteilt,
um die kluge Einführung von KI-Tools in der breiteren Entwickler-Community wenigstens ein Stück zu beschleunigen
Der aktuelle Stand beim Einsatz von KI-Coding-Tools
- Beobachtungen auf Twitter zeigen, dass KI-Coding-Tools unter nicht professionellen Entwicklern sehr beliebt sind
- Sie nutzen KI, um sich an neue Projekte zu wagen und mit Freude Entwicklung zu lernen
- Diese Entwicklung ist positiv und trägt dazu bei, die Einstiegshürden in Technologie für neue Nutzergruppen zu senken
- Das ist jedoch nur eine Seite des Potenzials von KI-Tools,
- denn auch in professionellen Kontexten wie bei erfahrenen Entwicklern kann KI großen Mehrwert liefern
Die Stärken erfahrener Entwickler
- Obwohl wir uns noch in einer frühen Entwicklungsphase befinden, lautet das bisherige Fazit:
- Erfahrene Entwickler sind in der besten Position, KI-Tools besonders effektiv zu nutzen
- Es geht nicht nur darum, Hilfe zu bekommen, sondern um eine optimierte Nutzung
- Der Kernpunkt ist folgender:
Gerade Entwicklungserfahrung und Know-how in der Projektumsetzung, die im KI-Zeitalter etwas altmodisch wirken mögen,
bilden die Grundlage dafür, diese Tools am besten zu nutzen - Wenn man LLM-basierte Programmieragenten mit Menschen vergleicht,
- dann ähneln sie einem sehr wissensstarken Senior in Sachen Programmierung, der im aktuellen Kontext jedoch eher ein Junior mit wenig Verständnis für das Design ist
- Um ihnen also echte Aufgaben zu übertragen,
- sind strategische Vorbereitung und gezielte Anleitung unverzichtbar
- und genau dafür sind erfahrene Entwickler am besten geeignet
- Daraus folgt: Selbst modernste KI-Tools lassen sich am effektivsten auf Basis klassischer Entwicklungspraktiken und Erfahrung einsetzen
Drei Schlüsselelemente für erfolgreiche KI-Coding-Sessions
- Für gute Ergebnisse in der Zusammenarbeit mit KI sind die folgenden drei Elemente entscheidend:
- Sorgfältig strukturierte Anforderungsdokumentation (Well-structured Requirements)
- Tool-basierte Qualitätsleitplanken (Tool-based Guard Rails)
- Dateibasierte Keyframing-Technik (File-based Keyframing)
- Vor der eigentlichen Erklärung werden Praxisbeispiele für Projekte mit KI vorgestellt
- Green-field-Projekt: ein Projekt, das von Grund auf neu entsteht
- Brown-field-Projekt: ein Projekt, bei dem neue Funktionen zu einer bestehenden Codebasis hinzugefügt werden
- In beiden Fällen liegt der Fokus auf Beispielen, in denen die KI die gesamte Implementierung nahezu vollständig übernommen hat
- also nicht KI als bloße Autocomplete-Hilfe oder Gesprächsassistent,
sondern auf tatsächliche Ausführung von Arbeit im Agent-Modus
- also nicht KI als bloße Autocomplete-Hilfe oder Gesprächsassistent,
- Verwendet wurde Cursor,
- basierend auf dem Modell Claude Sonnet 3.7 von Anthropic
- mit Funktionen zum direkten Bearbeiten aller Projektdateien und zum Ausführen relevanter Befehle
Beispiel 1: Platform Problem Monitoring (Green-field-Projekt)
- Mit Cursor und Claude wurde die neue Anwendung Platform Problem Monitoring implementiert
- Quellcode: GitHub-Link
- Die App verbindet sich stündlich mit dem Elasticsearch-Server eines ELK-Stacks, sammelt Fehlermeldungen und versendet einen strukturierten E-Mail-Report, der den aktuellen Problemstatus der Web-Plattform zusammenfasst
- Die komplette Implementierung wurde von der KI ausgeführt, selbst geschriebener Code gab es nicht
- Der Autor ist mit Python nicht besonders vertraut,
- konnte aber dank eines breiten Verständnisses von Architektur, Betrieb und Best Practices reibungslos vorankommen
- das Projekt war eine Gelegenheit zu testen, wie stark KI in einem nicht vertrauten Technologie-Stack helfen kann
Hinweis: Probleme bei der Codequalität
In der HackerNews-Diskussion wurden Probleme bei der Codequalität angesprochen, etwa Logging-Konfiguration, benutzerdefiniertes Konfigurations-Parsing und Race Conditions
Das Projekt zielte eher auf schnelles Prototyping als auf produktionsreifen Code ab
Der Fokus lag weniger auf langfristiger Wartbarkeit oder Sprachkonventionen als auf der Umsetzung der Funktionalität
Beispiel 2: Process Management UI Integration (Brown-field-Projekt)
- Ein Beispiel für die Integration einer UI in bestehende Legacy-Backend-Funktionalität auf Basis von PHP/Symfony
- Das Backend wurde über cron-basierte CLI-Befehle betrieben und hatte keine UI
- Diese Funktion sollte in eine moderne Symfony-Anwendung integriert werden
- unter Nutzung einer UI-freundlichen Struktur mit moderner Codebasis, Testsystem und Styleguide
- Die wichtigsten Aufgaben:
- Kommunikation mit dem Legacy-System über eine HTTP-API
- Implementierung des Datentransfers zwischen den Systemen
- Aufbau der UI gemäß dem UI-Design-System
- Implementierung eines API-Clients innerhalb eines gemeinsamen Symfony-Bundles
- Mit Ausnahme der Keyframe-Dateien wurde die gesamte Implementierung automatisch von der KI ausgeführt
Zentrale Erkenntnisse aus beiden Projekten
- Green-field-Projekt: Selbst in einem nicht vertrauten Technologie-Stack ist es mit Hilfe von KI möglich, eine funktionale App umzusetzen
- Brown-field-Projekt: Obwohl die UI-Implementierung kein vertrautes Arbeitsfeld war, konnte die Funktion dank KI schnell fertiggestellt werden
- Diese beiden Beispiele zeigen, dass KI-Tools sowohl die persönliche Produktivität als auch den Workflow eines ganzen Teams spürbar verändern können
- Damit KI jedoch tatsächlich viel Zeit spart, sind anfängliche Investitionen in Setup und strategisches Vorgehen nötig
- ähnlich wie bei der erfolgreichen Anleitung eines fähigen Junior-Entwicklers, um die besten Ergebnisse zu erzielen
Warum sorgfältig formulierte Anforderungen wichtig sind
- Der Schlüssel zu erfolgreichen KI-Coding-Sessions ist ein systematisches und umfassendes Anforderungsdokument
- Im realen Projekt Platform Problem Monitoring wurde vor Beginn der Session das Dokument REQUIREMENTS.md erstellt
- Das Dokument umfasst 371 Zeilen und folgt dieser Hierarchie
- oberste Ebene: eine einzeilige Zusammenfassung der Kernanforderungen
- hohe Ebene: Use Cases und Motivation für die Entwicklung
- mittlere Ebene: Prozesse und Funktionsweise
- mittlere Ebene: Architektur, Technologie-Stack und Einschränkungen
- untere Ebene: detaillierte Beschreibung konkreter Arbeitsschritte anhand von Input/Output/Nebenwirkungen
- Eine so strukturierte Dokumentation gibt auch der KI ein klares Framework und führt zu präziseren Ergebnissen
- Das Schreiben solcher Dokumente kostet Zeit und Aufwand, ist aber eine notwendige Investition für eine erfolgreiche Implementierung
- Eines der Sprichwörter in der Softwareentwicklung lautet:
„Sechs Wochen Implementierung sparen zwei Stunden Planung.“
- Das ist zwar ironisch gemeint, enthält aber eine Wahrheit: Ineffizienz in der Umsetzung entsteht oft durch mangelnde Planung
- Deshalb sollte ein Projekt immer am Whiteboard und nicht an der Tastatur beginnen, und dieser Grundsatz gilt auch bei der Zusammenarbeit mit KI
- In der Praxis wird eine Cursor-Session in folgenden Schritten gestartet:
- Die KI fasst die Anforderungen zunächst selbst zusammen
- Danach erstellt sie einen Ausführungsplan
- Anschließend wird sie dazu angehalten, unklare Punkte nachzufragen
- Erst nach dieser Validierungsphase wird die KI in den „Agent“-Modus versetzt und mit der Implementierung begonnen
Tool-basierte Qualitätsleitplanken einrichten
- Wenn das Anforderungsdokument das Ziel definiert, dann sorgen Qualitätsleitplanken dafür, den kürzesten Weg dorthin beizubehalten
- So wie ein Echtzeit-Feedback-System während der Entwicklung wichtig ist, helfen statische Analysewerkzeuge auch der KI erheblich
- Es ist zum Beispiel viel effizienter, einen fehlenden Null-Check schon während der Entwicklung zu erkennen, als ihn erst nach dem Launch durch Kundenanfragen zu entdecken
- Deshalb werden vor Beginn einer KI-Coding-Session unbedingt folgende Werkzeuge zur Qualitätssicherung eingerichtet
- auf Basis dieses Makefile-Beispiels:
black,isort: Code-Formatierungruff: Lintingmypy: Typprüfungbandit: Sicherheitsanalyse- komplette Test-Suite
- auf Basis dieses Makefile-Beispiels:
- Ein Claude-basierter KI-Agent kann diese Werkzeuge erkennen und nutzen
- Beispiel: Scheitert die Typprüfung, passt die KI den Code eigenständig an, bis er besteht
- Für funktionale Validierung werden außerdem API-Testanfragen per
curlbereitgestellt- Beeindruckend ist, dass die KI Endpunkte selbst aufruft, die Antworten prüft und den Code daraufhin verbessert
- Solche tool-basierten Leitplanken sind ein unverzichtbarer Bestandteil, damit KI verlässliche Ergebnisse liefern kann
Dateibasiertes Keyframing
- KI ist stark bei kreativer Implementierung, kann aber bei Codestruktur oder Dateiorganisation Orientierung vermissen lassen
- Um das auszugleichen, wird die Strategie des dateibasierten Keyframings (file-based keyframing) eingesetzt
- Die Technik ist von Keyframes in der Animationsproduktion inspiriert:
- Ein erfahrener Animator erstellt zuerst die wichtigen Szenen (Keyframes), den Rest füllt unterstützendes Personal aus
- So bleiben Qualität und Effizienz gewahrt
- In echten KI-Coding-Projekten werden vor der Implementierung bereits leere Stub-Dateien angelegt
- zum Beispiel für API-Endpunkte, API-Clients, Controller-Klassen oder Twig-Templates
- Diese Keyframe-Dateien liefern der KI wichtige Kontextinformationen wie:
- die Art der Dateiorganisation im Projekt
- die Namespace-Struktur
- Namenskonventionen
- konsistente Code-Muster
- Anstatt die gesamte Struktur im Prompt zu erklären, lässt sich die Genauigkeit der KI verbessern, indem Hinweise direkt in der Codebasis verankert werden
- Dieser Ansatz unterstreicht ein auch im KI-Zeitalter weiterhin wichtiges Prinzip: „Benennen“
- Da KI sprachbasiert arbeitet, führt Text mit klarer Absicht und Bedeutung zu besseren Ergebnissen
Integrierte Anwendung in einem Praxisbeispiel: UI-Implementierung für ein Dashboard zu Abonnementverträgen
- Zum Abschluss wird ein Praxisbeispiel vorgestellt, das die drei oben genannten Kernprinzipien in einem Projekt kombiniert:
- sorgfältige Anforderungsdokumentation
- tool-basierte Qualitätsleitplanken
- dateibasiertes Keyframing
-
Projektüberblick
- Ziel: Umsetzung eines schreibgeschützten Web-UI-Dashboards, das Informationen zu Abonnementverträgen tabellarisch visualisiert
- Umgebung: Multi-Codebase- bzw. Monorepo-Umfeld
backend-app: Symfony-5-Anwendung, enthält die Datenjanus-christophorus: Symfony-7-Anwendung, stellt die UI bereitjanus-shared-bundle: enthält die Implementierung des API-Clientsjanus-webui-bundle: enthält Styleguide, Tailwind-Konfiguration und Twig-Templates
-
Struktur der Anforderungen
- Backend-Daten werden über eine API gelesen und im Frontend dargestellt
- Zusätzlich zu echten API-Endpunkten wird auch ein Demo-Modus unterstützt, der Testdaten bereitstellt
- Die UI wird konsistent mit dem Styleguide umgesetzt
- Jede Ebene wird mit folgenden Komponenten implementiert:
- API-Endpunkt
- API-Client
- Service-Klasse der Presentation-Schicht
- Controller und Twig-Template
-
Vorbereitungen für die KI-Session
- In allen Codebasen werden vorab leere Dateien nach dem Prinzip des dateibasierten Keyframings angelegt
- Vorhandene Styleguides, Navigationsservices und ähnliche Funktionen werden als Referenzmaterial für die KI bereitgestellt
- In jeder Codebasis können Qualitätswerkzeuge (z. B. PHPStan) ausgeführt werden
- etwa über das Skript
.dxcli/dxcli.sh quality
- etwa über das Skript
-
So werden die integrierten Prinzipien genutzt
- Anforderungen strukturieren: Detaillierte Anforderungen und Systemstruktur werden im Prompt beschrieben
- Leitplanken geben: Hinweise zur Nutzung der Code-Prüfwerkzeuge werden mitgeliefert
- Keyframes bereitstellen: Die zu implementierenden Dateien werden vorab angelegt, damit die KI den richtigen Ort und Kontext für den Code kennt
-
Hauptziele
- Schnell eine UI bereitstellen, mit der Vertragsinformationen im Gesamtüberblick erfasst werden können
- Durch eine klare Struktur und Hinweise sicherstellen, dass die KI Fragen stellen und Pläne entwickeln kann
- Dieses Beispiel zeigt deutlich, wie stark die Synergie werden kann, wenn KI-Tools und menschliche Erfahrung zusammenarbeiten
Fazit: KI-Tools + menschliche Erfahrung = die beste Kombination
- Durch präzise Anforderungen, tool-basierte Leitplanken und dateibasierte Keyframes lässt sich die starke Leistungsfähigkeit von KI nutzen und gleichzeitig die Codequalität sowie die Konsistenz der Architektur bewahren
- Diese klassischen Entwicklungspraktiken bleiben auch im KI-Zeitalter gültig
und entfalten durch Erfahrung und Einsicht erfahrener Entwickler sogar noch größere Wirkung - Am Ende ist KI nur ein Werkzeug,
und wir leben in einer Zeit, in der menschliche Erfahrung und das Können, sie richtig einzusetzen, wichtiger sind als je zuvor
1 Kommentare
Hacker-News-Kommentare
Ein erfahrener Python-Entwickler stellte bei der Prüfung einer bestimmten Datei fest, dass sie voller Fehler eines Junior-Softwareingenieurs war
load_json, das erst prüft, ob eine Datei existiert, und dann so fortfährt, als wäre ihr Vorhandensein garantiertEin Hobby-Programmierer mit 25 Jahren Erfahrung hat das Gefühl, dass LLMs und Vibecoding die Kreativität beeinträchtigen
Ein noch nicht 40-jähriger Entwickler empfindet AI als nützliches Werkzeug zur Entlastung
Ein Nutzer empfindet Codegenerierung mit AI als ineffizient
AI sei bei neuen Projekten (Greenfield) nützlich, bei bestehenden Projekten (Brownfield) jedoch ineffizient
Ein Entwickler erstellt zu Beginn eines Projekts einen Plan in einer Markdown-Datei
Ein Nutzer ist der Ansicht, dass Erfahrung im Software Engineering im AI-Zeitalter wichtig ist
Ein Nutzer versucht, das informationstheoretische Konzept der „Überraschung“ auf LLMs anzuwenden
Ein Nutzer möchte durch Test-Driven Development (TDD) von AI erzeugten Code anleiten
Ein Nutzer sorgt sich, dass die aktuelle Form von AI nicht zur zukünftigen Richtung von Software passt
Ein Nutzer empfindet die rasante Entwicklung von AI als überwältigend