Kein Code, kein Problem!

blog

»Any sufficiently advanced technology is indistinguishable from magic.« — Arthur C. Clarke, "Hazards of Prophecy: The Failure of Imagination"

Es gibt Dinge, die verlernt man nicht. Fahrradfahren, sagt man, gehöre dazu, und vermutlich auch das Schwimmen, wobei ich für letzteres nicht meine Hand ins Wasser legen möchte. Programmieren, so dachte ich lange, falle auch in diese Kategorie. Doch wer bald ein Jahrzehnt lang keinen Code mehr geschrieben hat, der mag das Programmieren vielleicht nicht gänzlich aus seinem Gedächtnis getilgt haben – das Programmieren aber hat ihn verlassen. Leise, schleichend, irgendwann zwischen dem dritten Architektur-Review und viel zu vollen Folien zur Jahresbudgetplanung an einem späten Freitagnachmittag. Die Fragmente irgendeiner Syntax schlummern noch irgendwo im eigenen Haupt, doch die Fingerspitzen haben längst vergessen, wie sich frisch kompilierte Gedanken in eine Tastatur massieren lassen.

Dabei fing alles so vielversprechend an. Auf einem Commodore C64 tippte ich als Achtjähriger Zahlenratespiele in BASIC, manipulierte mit Hex-Editoren Spielstände — was kein Schummeln, sondern kreatives Reverse Engineering war! — und schien felsenfest davon überzeugt, dass Computer und ich eine lange gemeinsame Reise vor uns hätten. An der Universität, eigentlich den Sozialwissenschaften und der Ökonomie verschrieben, programmierte ich ein Self-Assessment-System für Studierende, das noch zehn Jahre später von zahlreichen Fakultäten genutzt werden sollte. Nicht schlecht für jemanden, der seine Zeit offiziell eigentlich mit etwas ganz anderem hätte verbringen sollen…

Was danach folgte war bunt, aber nie beliebig, und liest sich trotzdem, als hätte jemand wahllos Buzzwords aus diversen Linkedin-Feeds gezogen und beschlossen, sie alle auf einmal auszuprobieren. Das ambitionierte Hobby verhalf dem potentiellen Langzeitstudenten schnell zu einer lohnenswerten Lohnabhängigkeit, lies mich ein Forschungslabor und Autos, die miteinander sprachen, entdecken, dann Herden von Linux-Kisten und CISCO-Routern bei großen Marktführern und herrlich verrückten Startups pflegen, um schließlich allem irgendwann den Weg in die Cloud zu ebnen. Ich wurde Vater, nahm neue Interessen wahr und spannende Herausforderungen an, kam mit agilem Coaching, mit Projekt- und Programm-Management in Berührung, um mich noch einmal später als Team Lead und Engineering Manager in disziplinarischen Führungsrollen wiederzufinden. Eines Morgens war ich so weit weg vom Code wie Hamburg von der Zugspitze — man weiß, dass es sie gibt, aber man kommt da einfach nicht mehr hin.

Der nächste Paradigmenwechsel folgte, und er kam gewaltig (no pun intended). Was im maschinellen Lernen schon vor Jahrzehnten seinen Anfang nahm, explodierte plötzlich in einem Hype rund um die "Künstliche Intelligenz", die uns derzeit das agentische Entwickeln, oder neudeutsch das "Agentic Coding", mehr oder weniger ungefragt vor die Füße kippt. Doch wer Muster kennt, Architekturen versteht und mit Spezifikationen umzugehen weiß, dem öffnet sich eine Tür, die lange verschlossen war. Statt eigene Ideen selbst in Code zu gießen, formuliert man eine Absicht, beschreibt, was entstehen soll, und ein oder mehrere KI-Agenten setzen das dann um. Es ist ein Arbeiten mit Erwartungshaltungen und Testszenarien, man kümmert sich um Strukturen und Leitplanken, iteriert, verwirft, und beginnt manchmal auch wieder von vorn. Die Geschwindigkeit, mit der sich dieses Feld entwickelt, ist atemberaubend, und ja, es gibt viele Fragen dazu, ethische, ökologische und gesellschaftliche, die hier nicht ungestellt bleiben sollen, aber an anderer Stelle ihren Raum verdienen.

Was hat das alles aber mit diesem Blog zu tun? Schon immer haben statische Webseiten einen großen Platz in meinem Entwicklerherz, denn ich mag das Gefühl, Herr über meine Daten und Inhalte zu sein. Statische Webseiten sind schnell, lassen sich beinahe überall hosten und mühelos cachen, und sie brauchen vor allem keine Datenbanken oder serverseitigen Frameworks, die morgen schon nach dem nächsten Sicherheitsupdate schreien. Doch unter den vielen Werkzeugen zum Erzeugen statischer Webseiten fand ich keines, das die Fotografie wirklich ernst nimmt. Eines, das Bilder nicht als Beiwerk betrachtet, sondern als dass, worum sich alles dreht. Das EXIF-Daten versteht, Foto-Grids mit der Sorgfalt baut, die sie verdienen, und Tags und Orte nicht nur als notwendiges Übel mitschleppt. Das wäre mein Projekt gewesen, irgendwann, wenn ich mal Zeit und Muse gehabt hätte, mich in eine neue Programmiersprache einzuarbeiten. Aber es gibt halt Kinder und Familie, Sankt-Pauli-Spiele und Fotospaziergänge, Gitarren und Whisky und Kneipen, und so blieb dieses Projekt jahrelang das, was es war: eine gute Idee ohne Umsetzung.

AI to the Rescue? Was hier vor euch liegt, diese Seite, auf der ihr gerade lest, ist das Ergebnis eines Experiments, das irgendwann aufhörte, eines zu sein. Obscura heißt der Static-Site-Generator, den ich mit Hilfe von Claude Code gebaut habe — gebaut im Sinne von: erdacht, spezifiziert, strukturiert, iteriert und kritisch begleitet. Ich habe Architekturentscheidungen dokumentiert, mit dateibasiertem Ticketing gearbeitet (danke für die Bohnen, Hendrik!), auf saubere Git-Commits geachtet und immer wieder nachgeschärft, wenn etwas nicht gut genug war. Was ich nicht getan habe, kein einziges Mal: selbst Code geschrieben. Jede Korrektur war Teil eines Gesprächs, nicht das Ergebnis eigener Handarbeit. Wer Muster kennt, braucht keine Syntax. Wer weiß, was entstehen soll, muss nicht unbedingt wissen, wie die einzelnen Zeilen aussehen.

Ist das Ergebnis perfekt? Natürlich nicht. Es wird weiter iteriert, vielleicht noch einmal gründlich aufgeräumt, möglicherweise irgendwann sogar die Programmiersprache gewechselt, sollte es tatsächlich schneller werden müssen. Doch meine Idee ist umgesetzt, sie funktioniert für mich und sie wächst mit mir. Mit einem Kommandozeilen-Tool, das mich meine Fotodaten konsistent in Sidecar-Dateien pflegen lässt, was ich so bisher von keinem anderen Vertreter des Genres umgesetzt gesehen hatte. Und all das ist eben jetzt schon mehr, als ich auf herkömmlichem Weg in einem vergleichbaren Zeitraum jemals hätte schaffen können.

Willkommen zurück, coma.photography!