In diesem Sommer habe ich ziemlich viel Zeit mit Dingen verbracht, die nur bedingt nach Sommer aussehen: Datenbanken, Schnittstellen, Web-Apps, WordPress-Funktionen und erstaunlich vielen Fehlermeldungen.
Angefangen hat das ausgerechnet im Sommerurlaub.
Knapp zwei Wochen war ich mit meiner Familie in Tschechien unterwegs: Marienbad, Karlsbad und Franzensbad. Eine wunderschöne Gegend. Neben Ausflügen, gutem Essen und der wichtigen Aufgabe, im Urlaub möglichst wenig Verpflichtendes zu tun, hatte ich endlich auch etwas Zeit, mich wieder mit etwas zu beschäftigen, das mich schon lange interessiert: Programmieren.
Summer of Vibe-Coding
„Vibe Coding“ nennt man es inzwischen gerne, wenn man der KI beschreibt, was man bauen möchte, und sie einen großen Teil des Codes schreiben lässt. Klang nach einem ziemlich guten Plan.
Ich komme klassisch aus dem Design, mein Schwerpunkt liegt aber schon lange im Digitalen: Webdesign, UI/UX, Motion Design und alles, was sich auf Bildschirmen bewegt. Mit Programmierung habe ich mich aus Neugier über die Jahre ebenfalls immer wieder beschäftigt: JavaScript, PHP, jQuery, später React. Meistens gerade genug, um technische Probleme auf Websites zu lösen, Funktionen anzupassen oder Dinge ein wenig aufzurüsten.
Ich hätte gerne mehr daraus gemacht.
Keine Zeit.
Inzwischen ist das KI-Zeitalter offensichtlich da und hat sich einigermaßen etabliert. Also wollte ich wissen, wie weit ich damit tatsächlich komme. Web-Apps entwickeln, WordPress-Plugins schreiben, Websites mit modernen Frameworks bauen und vielleicht irgendwann sogar Apps für iOS und Android.
Schließlich wird einem inzwischen regelmäßig versprochen, dass man mit KI praktisch alles innerhalb weniger Minuten umsetzen kann.
Probieren wir das ein wenig aus.
Aus „ein wenig“ wurden ziemlich schnell viele intensive Tage und Nächte mit ChatGPT und Codex, Claude, Cursor und verschiedenen anderen Werkzeugen. Und tatsächlich entstand dabei einiges.
Innerhalb von eineinhalb Monaten entwickelte ich mit ihrer Hilfe ein umfangreiches WordPress-Plugin, eine Web-App als Grundlage für eine spätere iOS- und Android-App und schließlich meine komplett neue Website mit React und Next.js.
Das ist erstaunlich gut. Wenn man weiß, was man will.
So einfach ist es dann doch nicht.
Ist das wirklich so leicht und magisch, wie häufig behauptet wird?
Nein. Absolut nicht.
Natürlich kann ich Codex, Cursor oder einem anderen KI-Werkzeug sagen: „Erstell mir eine App mit Tagebuch-Funktionen.“
Dann passiert tatsächlich etwas und meistens sogar erstaunlich schnell. Sieht hübsch aus. Du kannst etwas reinschreiben. Ein Button funktioniert auch. Nice!
Aber damit fangen die interessanten Fragen eigentlich erst an.
Wie ist diese App aufgebaut? Wo landen die Daten? Ist diese Struktur sinnvoll? Wie wird das Ganze veröffentlicht oder gehostet? Was kostet es später? Ist die vorgeschlagene Lösung sicher? Wie funktionieren die Backups? Und kann ich die App in einem Jahr noch sinnvoll erweitern, ohne alles wieder auseinandernehmen zu müssen?
KI kann für all diese Fragen Lösungen vorschlagen. Manchmal sehr gute, manchmal einfach die naheliegendste oder am schnellsten umsetzbare. Der einfachste Weg ist aber nicht automatisch der beste.
Also habe ich ziemlich schnell angefangen nachzufragen: Warum diese Datenbank? Warum dieses Framework? Warum dieser Anbieter? Welche Alternativen gibt es? Welche Vor- und Nachteile haben sie? Und was passiert, wenn aus einer kleinen Idee irgendwann ein größeres Projekt wird?
Genau dabei finde ich KI wiederum ziemlich großartig. Ich kann mir Technologien erklären lassen, Lösungen miteinander vergleichen und anschließend selbst entscheiden, welchen Weg ich gehen möchte. Gleichzeitig habe ich nicht gerade wenig Zeit damit verbracht, Dokumentationen zu lesen und mich durch verschiedenste Foren zu wühlen.
Blind übernehmen sollte man die Vorschläge also nicht.
KI braucht erstaunlich viele Regeln
Je größer meine Projekte wurden, desto wichtiger wurde die Vorbereitung. Bevor ich inzwischen etwas Neues beginne, versuche ich möglichst früh festzulegen, wie das Projekt aufgebaut sein soll, welche Funktionen es braucht und welche Regeln gelten.
Das hilft enorm.
Es bedeutet allerdings nicht, dass die KI anschließend brav genau das baut, was ich mir vorgestellt habe.
Eine KI weiß schließlich nicht automatisch, was ich meine, auch wenn sie manchmal sehr überzeugend so tut. Mitunter kommt es mir vor, als würde ich mit kleinen Kindern arbeiten: Ich sage A, sie machen B daraus und anschließend darf ich herausfinden, an welcher Stelle aus A eigentlich B geworden ist.
Und beim Design soll nicht plötzlich Orange auftauchen, obwohl im gesamten System eigentlich nur Lila definiert wurde.
Passiert trotzdem.
Was dagegen hilft, ist ziemlich unspektakulär: Nach jedem Build nachschauen, testen, testen, testen und erst dann am nächsten Schritt, am Design oder an neuen Funktionen weiterarbeiten. Je kleiner die Schritte sind, desto leichter lässt sich außerdem herausfinden, wo etwas schiefgelaufen ist.
Nicht weniger Wissen. Anderes Wissen.
Nach diesen eineinhalb Monaten ist für mich deshalb ziemlich klar: KI ersetzt Wissen nicht, aber sie verändert, welches Wissen ich brauche und wie ich damit arbeite.
Ich muss nicht jede Funktion von Grund auf selbst programmieren können. Dafür muss ich verstehen, was ich bauen möchte, Anforderungen formulieren, Vorschläge beurteilen, Entscheidungen treffen und erkennen können, wenn etwas in die falsche Richtung läuft.
Was ich an dieser Art zu arbeiten besonders mag: Ich lerne währenddessen ständig.
Wenn ich etwas nicht verstehe, kann ich nachfragen. Warum funktioniert diese Funktion so? Warum verwenden wir diese Struktur? Welche Nachteile hat diese Lösung? Was wäre die Alternative? Warum ist das jetzt schon wieder kaputt?
Je mehr ich verstehe, desto besser werden meine Fragen. Damit werden meistens auch die Ergebnisse besser.
Das Schöne daran: Ich kann Ideen ausprobieren und relativ schnell feststellen, ob sie überhaupt funktionieren. Ich kann Ansätze wieder verwerfen, ohne jedes Mal tagelang bei null anfangen zu müssen. Und ich kann mich an technische Themen herantasten, die vermutlich noch ziemlich lange auf meiner „Irgendwann, wenn ich Zeit habe“-Liste geblieben wären.
KI macht Entwicklung für mich deshalb nicht automatisch leicht und schon gar nicht magisch. Sie senkt aber die Hürde, Dinge auszuprobieren. Und sie macht es sehr viel einfacher, beim Bauen gleichzeitig zu lernen.
Warum will ich das eigentlich können?
Weil ich es spannend finde.
Ich liebe Interaktionen und möchte nicht nur Dinge gestalten, die gut aussehen. Ich möchte verstehen, was dahinter passiert, wie sich etwas selbstverständlich bedienen lässt und welche technischen Möglichkeiten es überhaupt gibt.
Wenn jemand mit einem Problem oder einer Idee zu mir kommt, möchte ich deshalb nicht bei einer schönen Oberfläche aufhören müssen. Ich möchte verstehen, welche Lösung dahinter sinnvoll ist und sie im besten Fall auch umsetzen können.
Ich werde vermutlich nicht plötzlich zur klassischen Softwareentwicklerin. Das ist auch gar nicht mein Ziel.
Mich interessiert vielmehr der Raum dazwischen: Gestaltung, Interaktion und Technologie miteinander zu verbinden und daraus Dinge zu entwickeln, die gut aussehen, sich gut anfühlen und tatsächlich funktionieren.
Dieser Raum ist in diesem Sommer ziemlich groß geworden.
Und nebenbei wird gelaufen
Zwischen Datenbanken, Interfaces und Fehlersuche läuft außerdem mein Training für den Frankfurt Marathon. An manchen Tagen steht Code auf dem Programm, an anderen ein langer Lauf.
Manchmal auch beides.
Geduld hilft bei beidem. Leider macht sie weder Fehlermeldungen noch die letzten Kilometer automatisch leichter.
Langweilig war dieser Sommer jedenfalls nicht.
Und während ich diesen Artikel schreibe, sind mir schon wieder ein paar neue Ideen gekommen.
Herrlich.
)