Warum Vibe Coding erst der Anfang ist – nicht das Ende
Vibe Coding vs. Software Engineering – Wo liegt eigentlich der Unterschied?
Letztens hat mir eine Gründerin eine Web-App gezeigt, die sie an einem Wochenende mit KI-Tools gebaut hatte. Kein Informatikstudium, keine Coding-Bootcamps – nur eine clevere Idee und ein gutes Prompt. Die App hatte ein Login-System, ein Dashboard und funktionierte mit Datenpersistenz. All das in unter 72 Stunden.
Das war wirklich beeindruckend.
Dann wollte sie die App aber für echte Nutzer launchen.
Und genau da wurde es spannend.
Das Problem mit dem Prototyp
Die App funktionierte, weil sie die einzige Nutzerin war. Sobald wir versuchten, einen zweiten User hinzuzufügen, tauchten Probleme auf. Die Datenbank hatte keine Schema-Migrationen – ein Rollback hätte Daten vernichtet. Es gab keine Tests, was jede Änderung zum Risiko machte. Und das Deployment war ein manueller Prozess ohne jede Dokumentation.
Ihr Wochenendprojekt war ein großartiger Proof of Concept. Aber es war keine production-ready Software.
Genau diese Lücke wird in der aktuellen Vibe-Coding-Diskussion kaum thematisiert. Die Tools sind beeindruckend, die Geschwindigkeit ist real, und die Demokratisierung der Softwareentwicklung ist tatsächlich aufregend. Aber zwischen Code generieren und Software entwickeln liegt ein gewaltiger Unterschied. Und dieser Unterschied wird einem meistens erst um 3 Uhr nachts während eines Incidents bewusst.
Die Metrik, die wirklich zählt
Die Frage, die ich mir bei KI-generiertem Code immer stelle: Kann dieser Code sicher in eine gemeinsame Codebasis gemergt werden?
Nicht „läuft er überhaupt" und nicht „funktioniert die Demo". Sicher gemergt. Das Wort „sicher" trägt hier viel Gewicht. Es bedeutet, dass jemand anderes den Code reviewen kann. Dass Tests das Verhalten prüfen, nicht nur ob der Code abstürzt. Dass ein Rollback ohne Datenverlust möglich ist. Dass die Änderung eng genug ist, um sie zu verstehen und zu erklären.
Vibe Coder messen normalerweise die Zeit bis zur ersten funktionierenden Version. Das ist eine sinnvolle Metrik für Discovery und Prototyping. Aber sobald Software in einer gemeinsamen Umgebung landet, versagt diese Metrik. Plötzlich geht es um die Zeit bis zum sicheren Merge – inklusive Review-Kosten, Testqualität, Deployment-Risiko, Koordinationsaufwand und zukünftiger Wartungsaufwand.
Ein Software Engineer denkt von Anfang an über diesen gesamten Lebenszyklus nach. Ein Vibe Coder entdeckt diese Aspekte oft erst später – wenn sie deutlich teurer zu beheben sind.
Zwischen Code-Generierung und Code-Ownership
Wenn KI deinen Code generiert, passiert etwas Entscheidendes: Das Ergebnis ist noch nicht deine Arbeit. Es ist ein Ausgangspunkt, der erst in etwas Eigenes verwandelt werden muss.
Ownership bedeutet mehrere Dinge. Du kannst jede wichtige Entscheidung in der Änderung erklären. Du verstehst, warum jede Datei existiert und was sie tut. Du hast die Änderung auf das wirklich Notwendige beschränkt, ohne überflüssigen Boilerplate oder unbeabsichtigte Aufräumarbeiten. Du hast Tests geschrieben oder verifiziert, die Verhalten prüfen, nicht nur Coverage-Zahlen. Du hast den Rollback-Pfad durchdacht.
Genau diese Arbeit kann dir KI nicht abnehmen. KI generiert. Du entscheidest. Und „entscheiden" bedeutet, dass du Alternativen durchdacht, trade-offs abgewogen und die Konsequenzen verstanden hast.
Wenn ich mir Code anschaue, der von KI generiert und nicht richtig übernommen wurde, sehe ich oft dieselben Probleme. Änderungen, die zu groß geraten sind, weil das Modell mehr generiert hat als nötig. Packages ohne klare Begründung. Tests, die aussehen, als hätte sie jemand geschrieben, um ein Coverage-Tool zufriedenzustellen, statt um echte Bugs zu finden. Boilerplate, das nur existiert, weil das Modell lieber Gerüste baut als minimalistisch zu bleiben.
Das ist nicht KIs Schuld. Es passiert, weil der Autor generierten Output als Ergebnis betrachtet, statt als Rohmaterial.
Das Review-Problem, über das niemand redet
Was mich nachts wirklich beschäftigt: KI-generierter Code verändert die gesamte Review-Gleichung.
Wenn ein menschlicher Engineer Code schreibt, gibt es normalerweise eine Entscheidungsgeschichte. Du könntest mit den Entscheidungen nicht einverstanden sein, aber es gibt zumindest Entscheidungen. Du kannst fragen, warum diese Abstraktion gewählt wurde, warum die Validierung dort liegt, warum diese Library genutzt wird. Die Antworten könnten „hab ich nicht drüber nachgedacht" oder „schien sinnvoll" sein – aber es gibt zumindest jemanden, den du fragen kannst.
Bei KI-generiertem Code sind manche dieser „Entscheidungen" aber gar keine Entscheidungen. Es sind Vervollständigungen. Das Modell hat ein Pattern gewählt, weil es statistisch wahrscheinlich war – nicht weil es die richtige Lösung für dein Problem war. Und wenn der Autor diese Vervollständigung nicht in eigene Arbeit umgewandelt hat, wird das Review zu einem viel größeren Problem.
Du kannst das Modell nicht fragen, warum es diesen Ansatz gewählt hat. Du kannst den Autor nicht fragen, wenn er es selbst nicht weiß. Also werden Probleme entweder durch schmerzhafte Trial-and-Error ans Licht gebracht – oder gar nicht.
Deshalb glaube ich, dass die wichtigste Fähigkeit im Zeitalter der KI-gestützten Entwicklung nicht Prompting ist. Es ist die Fähigkeit, generierten Output in Code zu verwandeln, den du tief genug verstehst, um ihn zu besitzen, zu erklären und zu warten.
Was das für dein Team bedeutet
Wenn du einen Prototyp baust, um eine Idee zu testen, ist Vibe Coding ein völlig legitimer Ansatz. Geschwindigkeit beim Lernen ist wichtig, solange du noch Annahmen validierst. Nutze die Tools, move fast, bau etwas, das du Leuten zeigen kannst.
Aber wenn aus dem Prototyp ein echtes Produkt werden soll, muss der generierte Code irgendwann durch die Hände von jemandem gehen, der wie ein Engineer denkt. Nicht um zu gatekeepen. Nicht um Dinge zu verlangsamen. Sondern um sicherzustellen, dass das, was gelauncht wird, Code ist, den ein Team verstehen, warten und dem es vertrauen kann.
Bei NameOcean sehen wir dieses Muster ständig. Startups, die mit KI-Tools schnell ihre Ideen validieren, und dann an eine Wand stoßen, wenn sie skalieren müssen. Die guten holen sich dann Engineering-Unterstützung. Die schlechten stapeln weiter Features auf eine Codebasis, die niemand wirklich versteht.
Das Ziel ist nicht, KI-gestützte Entwicklung zu vermeiden. Das Ziel ist, ehrlich zu sein, wo die Arbeit beginnt und wo sie endet. KI kann Code generieren. Du musst Software entwickeln.
Fazit
Vibe Coding ist ein fantastischer Startpunkt. Eine Methode, um Ideen schnell zu testen, herauszufinden, was möglich ist, und von einer Konzeptzeichnung zu etwas Greifbarem zu kommen – ohne monatelange traditionelle Entwicklung.
Aber Software Engineering dreht sich um den gesamten Lebenszyklus. Um Code, den dein Team reviewen, warten und dem es vertrauen kann, wenn um 2 Uhr nachts etwas schiefgeht. Um Änderungen, die eng genug sind, um sie zu verstehen und bei Bedarf zurückzurollen. Um die Übernahme von Verantwortung für Entscheidungen – auch wenn diese von KI-Vorschlägen inspiriert waren.
Die besten Entwickler, die ich kenne, nutzen KI-Tools intensiv. Sie machen es nur mit offenen Augen. Sie wissen, dass generierter Code Rohmaterial ist, kein fertiges Produkt. Und sie wissen, dass irgendwann jemand die Engineering-Arbeit erledigen muss, die den Unterschied macht zwischen einer coolen Demo und Software, die man wirklich ausliefern kann.
Also ja, vibe code ruhig drauflos. Bau schnell, experimentiere frei, nutze jedes verfügbare Tool. Aber sei dir bewusst, wann der Moment gekommen ist, von Vibe zu Engineering zu wechseln. Dein zukünftiges Ich – und dein zukünftiges Team – werden dir dafür dankbar sein.