55 Punkte von GN⁺ 2025-10-31 | 1 Kommentare | Auf WhatsApp teilen
  • Engineering-Leader Addy Osmani, der 13 Jahre im Google-Chrome-Team gearbeitet hat, stellt eine KI-basierte Entwicklungsmethodik für professionelle Softwareingenieure vor
  • Vibe coding ist für schnelles Prototyping nützlich, aber für die Entwicklung produktionsreifer Software sind Engineering-Prinzipien und menschliche Aufsicht unverzichtbar
  • Beim Einsatz von KI-Tools sollten spezifikationsgetriebene Entwicklung, das Schreiben von Tests und das Verstehen des Codes die Qualität absichern, und der Denkprozess des Modells sollte überprüft werden, damit der erzeugte Code vollständig verstanden wird
  • LLMs können etwa 70 % einer Anwendung schnell erzeugen, doch für die verbleibenden 30 % in Bezug auf Fertigstellungsgrad, Sicherheit und Wartbarkeit wird die Expertise erfahrener Ingenieure noch wichtiger
  • Mit asynchronen Hintergrund-Agenten, parallelem Coding und anderen neuen Entwicklungs-Workflows sollten Ingenieure KI nutzen und zugleich als lebenslange Lernende kritisches Denken und Codeverständnis bewahren

Der Unterschied zwischen Vibe Coding und KI-gestütztem Engineering

  • Vibe coding bedeutet, vollständig in den kreativen Flow mit KI einzutauchen, sich auf High-Level-Prompting zu konzentrieren und den eigentlichen Code zu vergessen
    • KI-Vorschläge werden ohne tiefgehende Prüfung übernommen, mit Fokus auf schnelle iterative Experimente
    • Nützlich für Prototypen, MVPs und Lernzwecke; Geschwindigkeit und Exploration haben Vorrang vor Genauigkeit und Wartbarkeit
  • KI-gestütztes Engineering ist ein Ansatz, bei dem KI als starker Kollaborateur genutzt wird, ohne Engineering-Prinzipien zu ersetzen
    • KI wirkt im gesamten Softwareentwicklungszyklus als Force Multiplier und hilft bei Boilerplate, Debugging, Deployment usw.
    • Menschliche Ingenieure behalten die Verantwortung für Architekturdesign, Modellprüfung und das Verstehen sämtlichen generierten Codes
    • Sicherheit, Skalierbarkeit und Wartbarkeit des Endprodukts sicherzustellen, bleibt Aufgabe der Ingenieure
  • Je höher die softwaretechnische Expertise, desto besser die Qualität der Ergebnisse beim Einsatz von LLMs
  • Für produktionsreife Programmierung sollte nur Code, der sich anderen vollständig erklären lässt, ins Repository committet werden

Addys Umgang mit KI-Tools

  • Ein auf spezifikationsgetriebene Entwicklung (Spec-driven development) ausgerichteter Ansatz
    • Entscheidend ist ein klarer Plan dessen, was gebaut werden soll
    • Vibe coding wird für persönliche Tools, Wegwerfprojekte und die Visualisierung von Ideen genutzt
    • Nachdem ein Prototyp die Vision geschärft hat, werden die tatsächlichen Anforderungen dokumentiert, um hochwertige Ergebnisse aus dem LLM zu erhalten
  • Tests schreiben, um Risiken zu verringern
    • Selbst aktuelle Modelle können mitunter komplexen oder fehlerhaften Code erzeugen
    • Tests belegen die Funktionsfähigkeit und ermöglichen bei Problemen eine klare Identifikation
  • Einsatz von Chrome DevTools MCP
    • Gibt dem LLM eine „Sicht“ auf den Browser, um Rendering, Konsolenfehler und Warnungen zu erkennen
    • Der Browser wird in den Loop eingebunden, um den Feedback-Loop zu verbessern
  • Kontinuierliches Experimentieren mit neuen Modellen, Tools und Plattformen sowie Austausch von Erkenntnissen im Team
    • Aufbau einer Kultur gemeinsamen Lernens durch psychologische Sicherheit

Beobachtungen und Learnings zu KI-Tools bei Google

  • Googles bewährte Software-Engineering-Prinzipien bleiben auch im KI-Zeitalter gültig
    • Der Fokus auf Qualität und Due Diligence ist weiterhin wichtig
  • Die Bedeutung von Prompt Engineering und Context Engineering
    • Die richtigen „Beschwörungsformeln“ zu formulieren, um die besten Ergebnisse aus LLMs zu erhalten
    • Die Optimierung des Context Windows erhöht die Wahrscheinlichkeit hochwertiger Ergebnisse
    • Einbezug von Inhalten, die nicht in den Trainingsdaten des LLM enthalten sind, etwa projektspezifische Beschreibungen, Details, Dateien und Beispiele
  • Förderung des Übergangs zu AI-native Engineers
    • Ein Mindset trainieren, bei dem man die KI zuerst versuchen lässt, bevor man selbst Probleme löst
    • Aufbau von KI-Expertise in Themen wie Evaluierungs-Benchmarks, RAG vs. Fine-Tuning usw.
  • Die Bedeutung menschlicher Aufsicht
    • Wenn KI sowohl Code schreibt als auch reviewt, wird unklar, was tatsächlich ausgerollt wird
    • Durch die steigende PR-Geschwindigkeit werden menschliche Reviews zum Flaschenhals
    • Best Practices für Code Reviews entwickeln sich weiterhin

Tools, die Addy bevorzugt

  • Nutzt hauptsächlich Klein in VS Code
    • Auch Cursor und GitHub Copilot bieten viele Funktionen
  • Prüfung der von Tools angezeigten Denkprozesse (thinking log)
    • Kontrolle der Modellentscheidungen und des generierten Codes beim Aufbau einer Lösung
    • Code wird vor dem PR geprüft, um zukünftige Wartbarkeit sicherzustellen
  • Die Fähigkeit bewahren, selbst zu debuggen, wenn ein LLM an der Problemlösung scheitert
    • Wer nicht versteht, wie der Code funktioniert, fühlt sich, als würde er in den Dschungel geworfen
  • Unterschied zwischen professionellen Ingenieuren und Laien
    • Prompts eingeben kann jeder
    • Das Funktionsprinzip von Code zu verstehen, ihn bei Modellfehlern korrigieren zu können und ihn in Meetings klar zu erklären, sind die entscheidenden Unterscheidungsmerkmale

Das Wesen des 70%-Problems

  • LLMs können etwa 70 % einer funktionierenden Anwendung sehr schnell erzeugen, haben aber mit den restlichen 30 % Schwierigkeiten
  • Bestandteile der letzten 30 %
    • Das „Two steps back“-Muster: Ein Prompt führt in die falsche Richtung, etwa indem UI oder Funktionen komplett neu geschrieben werden
    • Versteckte Wartungskosten: Werden bei unklaren Spezifikationen Verantwortlichkeiten an das LLM delegiert, sinkt die Rentabilität
    • Sicherheitslücken: Probleme wie offengelegte API-Keys oder XSS durch fehlendes ganzheitliches Denken
  • Mit Vibe coding erstellte PoCs müssen vor dem Produktiveinsatz neu geschrieben werden
    • In Codebasen mit realen Nutzergruppen sind Sicherheit und Qualität essenziell
  • Erfahrene Ingenieure können die letzten 30 % deutlich leichter fertigstellen
    • Junior-Ingenieure wissen oft keinen nächsten Schritt außer ständig neu zu prompten
    • Dadurch wird die Bedeutung von kritischem Denken und Problemlöse-Mindset hervorgehoben
  • Die Sorgfalt, Code zu lesen, Systeme zu verstehen und zu begreifen, wie alles zusammenhängt, bleibt unverzichtbar

Taktiken für den effizienten Einsatz von LLMs

  • Ein Projektmanager-Mindset annehmen
    • Aufgaben in kleine, überprüfbare Einheiten zerlegen
    • Es ist nicht effektiv, alle Anforderungen auf einmal hineinzuwerfen
    • Klare Erwartungen setzen und auf iteratives Arbeiten mit KI vorbereitet sein
  • Modularen und testbaren Code schreiben
    • Best Practices des Software Engineering wie Code Reviews bleiben auch im KI-Zeitalter gültig
  • Ein- und Ausgabebeschränkungen berücksichtigen und ausreichend Kontext liefern
    • Das ist eine neue Gewohnheit, kann aber gute Ergebnisse bringen
  • Der Schlüssel zum Erfolg ist, den Menschen durch Sorgfalt im Loop zu halten
    • Je mehr Verantwortung an ein LLM abgegeben wird, desto größer das Risiko von Problemen

Autonome Agenten und neue Workflows

  • Aufkommen asynchroner Coding-Agenten im Hintergrund
    • Tools wie Jewels, Devin, Codex sowie Experimente von GitHub
    • Die Idee ist, Teile des Backlogs zu delegieren und asynchron umsetzen zu lassen
  • Aktueller Stand
    • Bereits effektiv beim Schreiben/Aktualisieren von Tests oder bei Library-Versionsmigrationen
    • Geeignet für die Delegation kleiner Änderungen wie das Hinzufügen eines Dark Mode
  • Management-Aufgaben
    • Als Dirigent eines Orchesters braucht es passende Interfaces, um alle Arbeiten zu steuern
    • Es muss berücksichtigt werden, wie viele gleichzeitige Aufgaben realistisch verwaltbar sind
    • Da menschliche Aufmerksamkeit begrenzt ist, lassen sich für gründliche Code Reviews nur einige wenige Aufgaben parallel bearbeiten
  • Die Weiterentwicklung von Vibe designing
    • Über Figma-MCP wird die Zusammenarbeit zwischen Designern und Entwicklern gestärkt
    • Designer können ihre Vision in funktionale Prototypen überführen und so produktisierbarem Code näherkommen

Der Wandel der Rollen von EM und PM

  • PM-Rolle
    • Mehr Zeit für Problem Framing, Metriken und Agentenrichtlinien
  • EM-Rolle
    • Evaluierungen, Sicherheitsprüfungen und Unterstützung des Teams beim souveränen Einsatz von KI
  • Die Verantwortung für Ergebnisse bleibt unverändert
  • Die Bedeutung von Taste im Product Engineering
    • Da jeder per Prompt ähnliche Funktionen bauen kann, wird Geschmack zum Differenzierungsmerkmal
  • Junior vs. Senior
    • KI hebt die Untergrenze an, aber auch die Obergrenze steigt
    • Juniors können schneller loslegen
    • Seniors mit Fähigkeiten in Spezifikationen schreiben, Aufgaben zerlegen, Systemarchitektur verstehen und effektiv reviewen werden noch wertvoller
    • Die letzten 30 % sind keine Routinearbeit, sondern Leverage

Neue Rollen und Veränderungen in der Entwicklerausbildung

  • Neue Rollen wie Forward Deployed Engineers gewinnen an Bedeutung
    • Engere Zusammenarbeit mit Kunden, schnelles Bauen von Funktionen mit KI und Feedback zu Anforderungen
    • Mögliche Verwischung der Grenzen zwischen Entwickler-, PM- und Designer-Rollen
  • Ausbildung in AI Engineering
    • Bedarf an der Vermittlung von Best Practices für Prompt- und Context Engineering in Schule und Hochschule
    • Wege finden, Systemdesign- und Engineering-Denken zu bewahren
  • Trio Programming
    • Junior, Senior und KI arbeiten gemeinsam
    • Der Senior bittet darum, KI-generierten Code zu erklären oder die Verknüpfung mit anderen Teilen des Systems darzustellen

Die Bedeutung kritischen Denkens bei der Arbeit mit KI

  • Beim Einsatz von KI-Tools droht ein Rückgang des kritischen Denkens durch die Leichtigkeit der Akzeptanz
    • Gerade bei weniger wichtigen Aufgaben neigt man dazu, Tab/Accept zu drücken und alles zu übernehmen
    • Mit wachsendem Vertrauen nimmt die kritische Prüfung ab
  • Flaschenhals bei Code Reviews
    • Durch die höhere Geschwindigkeit KI-generierten Codes werden menschliche Reviews zum Flaschenhals
    • Risiko inflationärer LGTM-Urteile (Looks Good To Me)
  • Gegenstrategien
    • Für bestimmte Funktionen oder Wochentage bewusst ohne KI arbeiten, um kritisches Denken zu erhalten
    • Darüber nachdenken, was passiert, wenn alle wichtigen LLM-Anbieter ausfallen
  • Code schreiben vs. Code lesen
    • Wer Code selbst tippt, überprüft ihn dabei automatisch, und andere wissen beim Review, wer der Autor ist
    • Im KI-Zeitalter bekommen Lesen und Reviewen ein noch größeres Gewicht
  • KI für Code Reviews nutzen
    • Die „Freigabe“ durch KI ist nur ein Signal
    • Wie bei bestandenem CI/CD oder erfolgreichen Tests bleibt die persönliche Einschätzung von Qualität erforderlich
  • Noch immer sollten 20–30 % der Arbeit ohne KI erledigt werden, damit das Gehirn aktiv bleibt

LLMs als Lernwerkzeug

  • Ein starkes Werkzeug, um neue Codebasen zu verstehen
    • Die erste Aufgabe sollte nicht sein, eine neue Funktion zu prompten, um sofort Wert zu liefern, sondern zu lernen, wie die Codebasis funktioniert
  • Nützlich zum Verständnis von Programmierkonzepten, Frameworks und Architekturmustern
  • Unverzichtbar beim Übertragen von Funktionen zwischen Codebasen in unterschiedlichen Sprachen
  • Teamentwicklung
    • Das Bewusstsein stärken, dass es in Ordnung ist, KI als Lernwerkzeug zu nutzen
    • Regelmäßig zu Experimenten und zum Teilen von Best Practices ermutigen
  • Schnelleres Onboarding neuer Mitarbeiter
    • KI-Tools können als verlässliche Mentoren rund um die Uhr dienen
    • Lernen ist niederschwelliger, als erfahrene Ingenieure den ganzen Tag mit Fragen zu löchern
  • Lernmodus von Claude Code
    • Bietet einen Erklärmodus und einen Lernmodus
    • Pausiert und fordert den Nutzer auf, bestimmte Teile selbst auszuführen

Die Weiterentwicklung von KI-Tools und das Setzen realistischer Erwartungen

  • Geschichte der Tool-Evolution
    • Template-Downloads → CLI und Scaffolding → KI-basiertes Bootstrapping
    • Jeder Schritt hat die Developer Experience ein Stück verbessert
  • Grenzen der Trainingsdaten erkennen
    • Basieren auf Code mit permissiven Lizenzen auf GitHub oder auf Mustern aus dem offenen Web
    • Können Muster des kleinsten gemeinsamen Nenners (lowest common denominator) widerspiegeln
    • Höchste Standards bei Sicherheit, Performance und Accessibility sind nicht garantiert
  • Ähnlichkeit zum Stack-Overflow-Kopieren-und-Einfügen
    • Früher: Dinge wie Regex für E-Mail-Validierung aus Stack Overflow kopieren
    • Heute: LLMs erzeugen ähnliche Muster, aber Edge Cases oder Sicherheitsprobleme bleiben möglich
  • Third-Party-Libraries vs. Eigenimplementierung
    • Mit LLMs lässt sich eine kleine Version selbst bauen, aber mit Wartungsverantwortung
    • Libraries ermöglichen zentralisierte Fixes für Sicherheitsprobleme usw.
    • Die Trade-offs jeder Wahl müssen bedacht werden
  • Entscheidend ist, niedrige Erwartungen und hohe Kontrolle beizubehalten

Wie sich die Definition eines guten Softwareingenieurs verändert

  • Die Bedeutung des lebenslangen Lernens (Lifelong learner) bleibt unverändert
    • Auch wenn sich Frameworks, Tools und Branchen weiterentwickeln, bleibt Offenheit für Neues essenziell
  • Growth Mindset
    • Neue Modelle, Tools und Plattformen bereitwillig ausprobieren
    • Aus Fehlschlägen lernen und Einschränkungen verstehen
  • Die Rolle von Führung
    • Wenn Führungskräfte zeigen, dass sie offen für Lernen sind, entsteht im Team psychologische Sicherheit
    • Addy schreibt jeden Montag einen internen Team-Newsletter
      • Darin teilt er persönliche Projekte, Texte und Gedanken
      • Er kuratiert wichtige Updates zu KI und AI Engineering
      • Auch andere Führungskräfte nutzen ihn hilfreich
  • Kuration im Zeitalter der Informationsüberflutung
    • In sozialen Netzwerken fühlt es sich an, als passiere jede Stunde etwas Grundlegendes
    • Führungskräfte müssen das wirklich Wichtige auswählen und dem Team Orientierung geben
  • Technische Kompetenz aufrechterhalten
    • Kontinuierlich Papers, Whitepaper, Blogs, Videos und Vorträge lesen bzw. anschauen
    • Dem Team Orientierung geben, worin es Zeit investieren sollte
  • Verbindung zur Produktentwicklung
    • Verbesserungen an Coding-Workflows tragen auch zur Verbesserung der Customer Experience des Produkts bei

Bevorzugte Tools und Empfehlungen

  • Bevorzugte Programmiersprache: JavaScript
    • Nicht nur aus persönlicher Vorliebe, sondern wegen der Offenheit, dass jeder fürs Web bauen und deployen kann
    • Vermittelt ein Gefühl von Freiheit ohne Gatekeeper
  • Aktuelles Lieblingstool: Bolt
    • Ein Scaffolding-Tool für Vibe coding
    • Kürzlich um Unterstützung für Custom Agents erweitert (etwa Claude Code)
    • Hochwertige Ergebnisse und großartiges Design
    • Automatisierte Integrationen mit Supabase, Auth-Anbietern usw.
    • Fokus auf die Beseitigung von Setup-Reibung
  • Buchempfehlungen
    • "The Software Engineer's Guidebook"
    • "AI Engineering" von Chip Huyen – ein Buch zum Erlernen der grundlegenden Aspekte von AI Engineering

1 Kommentare

 
riddler 2025-10-31

Das Buch mit demselben Titel soll im November erscheinen~
https://x.com/TeeDDub/status/1983150672205041823