- Die Software Engineering im traditionellen Sinn geht zu Ende, und mit AI entsteht das Paradigma des Product Engineering
- Ein Product Engineer ist eine hybride Rolle aus Product Manager und Full-Stack-Entwickler und ein autonomer, ergebnisorientierter Builder, der den gesamten Zyklus von der Konzeption bis zum Deployment verantwortet
- Auf Basis von AI-Native-Arbeitsweise, T-shaped Skills und KPI-orientiertem Denken werden sie nicht nach Teams, sondern nach Features organisiert und übernehmen End-to-End-Verantwortung für Onboarding, Payments, Benachrichtigungen usw.
- In der Produktphase übernehmen sie Ideation, Marktanalyse, User Research und Product Design; in der Engineering-Phase verantworten sie Architektur, System Design sowie Frontend- und Backend-Entwicklung
- AI wird besonders in definierbaren und deterministischen (D&D) Bereichen zu einem starken Werkzeug, und Organisationen könnten sich künftig statt des klassischen PM-Designer-Engineer-Dreiecks hin zu einer Zusammenarbeitsstruktur aus Product Engineer + AI entwickeln
Background
- Traditionelles Software Engineering ist nicht länger ausreichend
- Die Vorstellung der Programmiersprache C durch Dennis Ritchie im Jahr 1972 war der letzte grundlegende Paradigmenwechsel
- Die Weiterentwicklungen danach waren im Wesentlichen nur Optimierungen und Abstraktionen, um das Schreiben und Übersetzen von Maschinencode zu erleichtern
- Produktivität wurde lange anhand von Zeit- und Speichereffizienz des Codes, seiner Länge und seiner Interpretierbarkeit bewertet
- Heute befinden wir uns in einem vollkommen neuen Paradigma, und eine Rückkehr zur früheren Ära des „raw coding“ ist unwahrscheinlich
- John Carmack sagte kürzlich, dass die besten Build-Tools sich künftig vom händischen Coden hin zu AI-gestützter Anleitung verschieben werden
- Deshalb wird es für Engineers wichtiger, „product skills“ aufzubauen und die jeweils besten Tools zu nutzen
- Software Engineering wird sich zunehmend zu Product Engineering weiterentwickeln
Was ist ein Product Engineer (PE)?
- Eine kombinierte Rolle aus Product Manager und Full-Stack-Software-Engineer
- Verantwortlich für den gesamten Produktlebenszyklus und direkt mit Erfolg oder Misserfolg des Produkts verbunden
- Wichtige Merkmale eines Product Engineers:
- AI Native: nutzt LLMs nicht als Zusatzfunktion, sondern als zentrales Werkzeug
- T-shaped Skills: tiefe Engineering-Kompetenz bei gleichzeitig breitem Verständnis für Produkt, Daten und Design
- Ergebnisorientierung: verantwortet KPIs wie Retention, Conversion Rate und Activation Rate
- Autonome Umsetzungskraft: kann Ideen → Spezifikation → Design → Deployment mit minimaler Aufsicht umsetzen
- Veränderungen in der Teamstruktur
- Product Engineers bilden kleine, aber hochqualifizierte Lean Teams
- Statt der klassischen Trennung in Frontend/Backend/Infra wird nach Produkten bzw. Features (feature squads) organisiert
- Die Ausrichtung erfolgt nicht nach Stack, sondern nach Outcomes
- Beispiel: Eine Person verantwortet Onboarding, eine andere Payments, eine weitere Notifications
- Jede Person trägt End-to-End-Verantwortung für das gesamte Feature von UX bis zur Datenschicht
- Die Struktur verschiebt sich also von „Frontend-/Backend-/Infra-Teams“ zu „eigenständigen Squads pro Feature“
- Product Engineers haben zwei Seiten:
- Produktseite (vor der Entwicklung, pre-development)
- Engineer-Seite (Entwicklung und spätere Phasen, in/post-development)
The Product
- Die produktseitige Rolle des Product Engineers überschneidet sich mit den Aufgaben eines traditionellen Product Managers und betrifft Planung und Ausrichtung des Produkts
- Product Ideation
- Der Prozess, zentrale Features, die Value Proposition und die Zielgruppe eines Produkts zu definieren und zu konkretisieren
- Er schafft die Grundlage für die spätere Entwicklung, indem Daseinszweck und Zielkunden des Produkts klar festgelegt werden
- Mind-mapping
- Ideen oder Aufgaben, die aus einem zentralen Konzept entstehen, werden strukturiert und visualisiert, um das große Ganze zu verstehen
- Dient als Werkzeug, um Ideen im Team zu teilen und weiterzuentwickeln
- Brainstorming
- Der Prozess, Ideen individuell festzuhalten und sie anschließend mit anderen zu teilen, um sie zu verbessern, zu ergänzen und zu validieren
- Durch Zusammenarbeit werden Vielfalt und Kreativität der Ideen verstärkt
- Discovery
- Der Prozess, Kundenbedürfnisse zu erforschen und Marktchancen zu untersuchen, um ein Produkt zu finden, das Business-Ziele und User Value in Einklang bringt
- Dazu gehören User Interviews, Wettbewerbsanalysen und Markt-Research
- Selection
- Entscheidung darüber, welche Features oder Projekte auf Basis strategischer Richtung, Business-Ziele, Kundenanforderungen und Markttrends priorisiert werden
- Ziel ist es, innerhalb begrenzter Ressourcen die wirkungsvollste Umsetzung zu wählen
- Market Analysis
- Analyse des Marktumfelds, in dem das Produkt angesiedelt ist, einschließlich Wettbewerb, Marktgröße sowie Chancen und Risiken
- Wird für Positionierung und Wachstumsstrategie genutzt
- User Research
- Der Prozess, Verhalten, Bedürfnisse und Pain Points der Nutzer tiefgehend zu verstehen
- Liefert die Grundlage, um die User Experience datenbasiert zu verbessern
- Product Design
- Umfasst UI/UX-Design, Service Design, Interaction Design und User Testing
- Durch Prototyping und iterative Tests wird eine benutzerfreundliche Erfahrung sichergestellt
- Diese Aufgaben wurden traditionell von Product Managern übernommen, aber Product Engineers führen sie mit AI-Tools deutlich agiler aus
- AI hat zwar Grenzen bei der Entstehung wirklich neuer Ideen, ist aber stark darin, bestehende Muster zu prüfen oder repetitive Denkprozesse zu ergänzen
- Wichtig ist, dass die Produktvision vom Menschen geführt werden muss und AI als Sounding Board zum Verfeinern und Korrigieren von Ideen eingesetzt werden sollte
The Engineer
- Die Engineer-Seite des Product Engineers ist die Phase, in der geplante Spezifikationen tatsächlich umgesetzt und implementiert werden
- Sie umfasst vier Hauptbereiche:
- Software Architecture: strukturelle Entscheidungen
- System Design: Definition und Konkretisierung des Systems
- Frontend Development: Umsetzung von visuellem Design und User Interface
- Backend Development: Optimierung der Business-Logik und Datenbankdesign
- Natürlich sind auch weitere Engineering-Themen wie Testing, Monitoring und AI-Integration wichtig, aber in den meisten Projekten hat es Priorität, SLC-Produkte (Simple, Lovable, Complete) schnell zu bauen und auszurollen
- Coding-LLMs sind besonders stark in definierbaren und deterministischen (D&D) Umgebungen, weshalb der Beitrag von AI auf der Engineering-Seite größer ist
-
Planning
- Planung ist der zentrale Schritt, um AI effektiv zu nutzen
- Wenn die Projektabsicht in gut strukturierter Form als Anforderungen an AI übergeben wird, verbessert das langfristig die Codequalität deutlich
- Durch das Definieren von Rules kann ein AI-Coder dauerhaft auf systemweite Leitlinien zugreifen
- Zum Beispiel: Regeln zum Aktualisieren von Dokumentation, zum Festhalten von Architekturänderungen, für Code Style und Testkriterien
- Beispielhafte Regelstruktur:
- Synchronisierung von
/docs, README und CHANGELOG
- Erstellung eines ADR (Architecture Decision Record) bei wichtigen Änderungen an Dependencies oder Architektur
- Generierung von API-Clients mit OpenAPI Generator unter Verwendung des TypeScript-axios-Templates
- Datenzugriff über das Repository Pattern, standardisierte Error-Behandlung
- Klare Definition von Unit-, Integrations- und E2E-Testkriterien
- In den meisten IDEs lässt sich dies automatisch mit
/Generate Cursor Rules erzeugen
-
Software Architecture
- Architektur formt das Skelett der Codebase, und weil Änderungen teuer sind, muss früh sorgfältig entschieden werden
- Zu berücksichtigen sind:
- Monolithisch vs. Microservices, Serverless vs. Containerisierung
- Dependency-Management, Definition von Integrationsgrenzen
- Modularisierung und Separation of Concerns
- Kommunikationsprotokolle wie REST, GraphQL, gRPC oder Event Bus
- Skalierungsstrategien, etwa horizontale Skalierung
- Rolle von AI:
- Vergleich von Vor- und Nachteilen alternativer Architektur-Patterns
- Erzeugung von Diagrammen mit Mermaid.js
- Erstellung von ADR-Entwürfen
- Die endgültige Entscheidung erfordert jedoch menschliches Urteilsvermögen und Domain-Expertise
-
System Design
- System Design konkretisiert die Architektur und definiert sie als reale Services, Datenflüsse, State Machines und Interfaces
- Wichtige Aufgaben:
- Definition von APIs und Service-Grenzen
- Datenmodellierung und Entwurf des Datenflusses zwischen Schichten
- Strategien für Error Handling und Recovery
- Modellierung von Statusübergängen und asynchronen Workflows
- Erstellung von Design-Dokumenten und Prüfung von Edge Cases
- Mögliche Nutzung von AI:
- Erstellung erster Design-Entwürfe
- Simulation von Concurrency-Problemen und Edge Cases
- Ausarbeitung von API-Interfaces, Schemas und State Machines
- Vergleich von Design-Patterns und Feedback dazu
- Unterstützung bei der Design-Validierung wie ein „Junior Engineer“
-
Frontend Engineering
- Das Frontend ist für visuelles Design und die Implementierung von Client-Funktionalität zuständig
- Im JS-Ökosystem, insbesondere bei weit verbreiteten Frameworks wie React, ist die Leistung von AI besonders gut
- Tipps zur Verbesserung der AI-Leistung:
- Brand Guidelines wie Fonts, Farben, Abstände und Responsive-Regeln als Screenshots oder Dokumente an AI übergeben
- Mit Tailwind-Config, CSS-Variablen usw. konsistenten UI-Code erzeugen
- Auch Code-Konvertierung über Figma-to-code-Tools wie Tempo kann ausprobiert werden
- Wenn man wiederkehrende Komponenten-Definitionen und Responsive-Regeln an AI weitergibt, wird es leichter, UI mit konsistenter Markenwirkung zu erstellen
-
Backend Engineering
- Das Backend ist für Implementierung der Business-Logik, Datenbankdesign sowie Aufbau und Optimierung von APIs zuständig
- AI ist besonders wirksam bei definierbaren und deterministischen Aufgaben (D&D)
- Effektive Methoden:
- Import von Dokumentation: API-Spezifikationen und technische Dokumente direkt in die IDE laden, damit AI darauf referenzieren kann und Halluzinationen reduziert werden
- Nutzung von Workspaces: In Projekten mit getrenntem Frontend und Backend Ordner zusammenführen, um mehr Kontext zu geben und AI das Gesamtverständnis der Projektstruktur zu erleichtern
General Tips for the Product Engineer
-
Always work at the frontier
- Es ist wichtig, immer die neuesten Modelle zu nutzen
- Neuere Modelle können dank größerer Context Windows auch größere Projekte besser verstehen
- Hinzu kommen Verbesserungen bei Reasoning, weniger Halluzinationen und höherer Stabilität
-
Use thinking mode
- Wenn Thinking mode aktiviert ist, steigt die Qualität der Modellantworten deutlich
- Wenn die Option vorhanden ist, sollte sie immer eingeschaltet werden
- Falls nicht unterstützt, kann ein ähnlicher Effekt erzielt werden, indem im Prompt das Wort „ultrathink“ enthalten ist
-
Be hyper-specific
- Anfragen an AI sollten konkret und präzise formuliert werden
- Ziele, Constraints, Design-Entscheidungen, relevante Code-Snippets, Dateipfade und Komponentennamen sollten immer enthalten sein
- Beispiele für gute Prompts:
- Analytics-Tracking zum Formular in
/src/pages/SignUp.tsx hinzufügen
- Beim Klick des Users auf
Submit über die Funktion trackEvent() das Event sign_up_started senden
- Das Event muss debounced werden
- Die E-Mail-Domain des Users (z. B.
gmail.com) als Property mitgeben
-
Provide visual context
- Bei Frontend-Arbeiten ist visueller Kontext besonders wichtig
- Coding-LLMs können Bilder verstehen; wenn Design-Screenshots oder Captures von Fehlermeldungen durch Bugs beigefügt werden, kann AI Probleme schneller lösen
-
Work in small iterations
- Statt AI große Aufgaben auf einmal zu geben, sollte man in kleinen Einheiten iterativ arbeiten
- Effektiv ist es, zuerst Basisfunktionalität zu implementieren und sie dann schrittweise zu verbessern
- Es ist sinnvoll, Prompts in mehrere klar definierte Anweisungen aufzuteilen
-
Stay curious
- Im Internet gibt es unzählige Tipps und Beispiele zu Prompt Engineering
- Wer an Communities oder relevanten Netzwerken teilnimmt, lernt aktuelle Techniken kennen und kann gute Nutzungsweisen schneller übernehmen
Closing thoughts
- Trotz der AI-Revolution gibt es Fähigkeiten, die in naher Zukunft nicht ersetzt werden oder sogar noch wertvoller werden
- Sicherheit im Umgang mit CLI-Tools (z. B. git)
- Git ist das effizienteste Werkzeug für Versionsverwaltung und Nachverfolgung von Änderungen im Code
- Da AI-generierter Code oft nicht zuverlässig ist, ist die Fähigkeit essenziell, auf frühere Zustände zurückzugehen oder neu zu starten
- Daher wird Kompetenz im Umgang mit CLI-Tools wie Git immer wichtiger
- Grundlegende Engineering-Kompetenz
- Die Fähigkeit, Technical Debt zu managen und Modularisierung sowie Kapselung im Code aufrechtzuerhalten
- AI kann die Konsistenz des Code-Stils, etwa bei Benennungsregeln, dem DRY-Prinzip oder Modularität, nicht immer sicherstellen
- Deshalb wird die Fähigkeit von Engineers, grundlegende Prinzipien selbst einzuhalten, noch wertvoller
- Langfristig ist aber Veränderung möglich, wenn AI immer mehr Code schreibt
- Starke Kommunikationsfähigkeit
- Die Fähigkeit, klare und strukturierte Dokumente, Prompts und Spezifikationen zu verfassen, hat einen starken Hebeleffekt
- AI erschließt Absichten nicht wie ein Mensch, sondern führt nur aus, was angewiesen wurde, daher ist Klarheit essenziell
- Gute Spezifikationen, sauber definierte Prompts und systematische Dokumentation steigern Produktivität und Qualität der Ergebnisse
- Machtverschiebung in Organisationen
- Technische Arbeit wird zunehmend von AI übernommen, weil sie gut zur D&D-Natur (Definable & Deterministic) passt
- Je günstiger und allgemeiner umsetzbar Execution wird, desto wertvoller wird die Fähigkeit, AI zu steuern und Ergebnisse für Führungskräfte und Shareholder zu verpacken
- In großen Unternehmen ist der eigentliche Ausführungsprozess oft unsichtbar, während nur das Ergebnis kommuniziert wird; strategische Vermittlung und Ergebnisdarstellung bestimmen daher den Einfluss
- Es ist gut möglich, dass Manager, die Arbeit ausrichten und kommunizieren, mehr Macht erhalten als diejenigen, die Technik direkt umsetzen
- Ausblick auf veränderte Organisationsstrukturen
- Je neuer ein Unternehmen bzw. Startup ist, desto schneller wird sich die Rolle des Product Engineers durchsetzen
- Wenn AI im Wachstum zunehmend autonom wird, könnte sich die traditionelle Struktur des PM–Designer–Engineer-Dreiecks abschwächen
- Stattdessen könnte eine neue Teamtopologie entstehen: kleine Pods unter Führung produktstarker Product Engineers zusammen mit AI-Copilots, die den gesamten Stack unterstützen
References
Noch keine Kommentare.