Programmieren war bei mir nie eine Berufswahl, sondern eine Leidenschaft, die mich seit meiner Kindheit nicht mehr losgelassen hat. Mit 9 Jahren habe ich meine ersten Zeilen Code auf einem alten Schneider Euro PC geschrieben – MS-DOS 3.33A, GW-BASIC, ein blinkender Cursor und die Faszination, dass ein Haufen Text die Maschine tatsächlich dazu bringt, das zu tun, was ich ihr sage. Diese Faszination ist bis heute geblieben.
Aus dem Cursor auf einem Monochrom-Monitor wurden über die Jahre Compiler, Datenbanken, Server und Grafikpipelines. Der rote Faden ist immer derselbe geblieben: Ich will verstehen, was unter der Oberfläche passiert. Nicht nur, dass ein Framework etwas löst, sondern wie – und ob es sich nicht doch schlanker, schneller und nachvollziehbarer bauen lässt.
Ich habe AuDHD. Das ist auch einer der Gründe, warum ich in dem, was ich tue, richtig gut bin: Wenn ich in ein Problem eintauche, versinke ich vollständig darin – Stunden vergehen wie Minuten, während ich Architekturen durchdenke, Bugs jage oder eine neue Sprache lerne. Diese Mischung aus Hyperfokus und einem Blick fürs Detail und für Muster ist für mich kein Hindernis, sondern mein Werkzeug.
Genauso wichtig ist mir die andere Seite der Medaille: Software soll benutzbar sein. Ein Programm, das technisch brillant ist, aber niemand bedienen kann, hat sein Ziel verfehlt. Deshalb baue ich Oberflächen und Tools so, dass sie sich erklären, statt erklärt werden zu müssen – egal ob Desktop-Anwendung, Web-Interface oder Kommandozeile.
Neben Systemnahem und KI-Themen gehört die klassische Webentwicklung fest zu meinem Alltag: HTML, CSS, JavaScript, PHP und MySQL. Vom Datenbankschema über die serverseitige Logik bis zum Frontend baue ich komplette Anwendungen – inklusive Login-Systemen, Admin-Bereichen, Datei-Uploads und dem Sicherheitsteil, der bei alldem dazugehört: Prepared Statements, CSRF-Schutz, Passwort-Hashing, saubere Rechtetrennung.
Das beste Beispiel dafür ist diese Seite selbst: cslabs.dev läuft auf handgeschriebenem PHP mit einer MySQL-Datenbank im Hintergrund – kein CMS, kein Baukasten, kein fremdes Theme. Snippets, Downloads und Einstellungen pflege ich über einen eigenen Admin-Bereich, den Rest erledigt ein schlanker Router.
Bei den Betriebssystemen lege ich mich nicht fest: Linux und Windows sind mir beide vertraut. Unter Linux bin ich auf der Kommandozeile zu Hause – Dienste einrichten, Webserver konfigurieren, Rechte und Zugriffe sauber setzen, Systeme absichern und am Laufen halten. Unter Windows entwickle ich native Anwendungen, automatisiere wiederkehrende Abläufe und kenne die Eigenheiten, die einem dort begegnen. Diese Seite läuft übrigens auf einem Linux-Server, den ich selbst administriere.
Ein Teil meiner Ausbildung fand nicht in einem Kursraum statt, sondern in den 90ern im IRC – lange bevor „IT-Sicherheit“ ein Studienfach war. Man hat damals verstanden, wie Systeme funktionieren, indem man geschaut hat, wo sie nachgeben. Diese Perspektive ist geblieben: Ich kenne die gängigen Angriffsmuster nicht aus einem Lehrbuch, sondern weil ich sie seit Jahrzehnten aus beiden Richtungen sehe. Deshalb baue ich Software so, dass diese Fragen gar nicht erst aufkommen. Sicherheit ist bei mir nichts, was am Ende noch draufgeschraubt wird.
Was am Ende bleibt: Ich mag Projekte, bei denen es etwas zu knacken gibt. Performance-Probleme, verworrene Altsysteme, Ideen, von denen alle sagen "das geht so nicht". Genau da fängt es für mich an, Spaß zu machen.
SQL-Injection, Brute-Force, DDoS und Flooding, XSS, CSRF, Session-Hijacking – diese Angriffe sind für mich keine Stichworte aus einem Lehrbuch. Ich habe seit den 90ern verstanden, wie sie technisch funktionieren, und kann deshalb gezielt die Gegenmaßnahme wählen, die tatsächlich greift – statt pauschal irgendeine Sicherheitsbibliothek einzubinden und zu hoffen.
Wer nur die Theorie kennt, übersieht die Lücke. Jede Zeile, die ich schreibe, ist gegen diese Muster abgesichert – auch diese Seite hier.
Erste Gehversuche auf einem Schneider Euro PC – MS-DOS 3.33A und GW-BASIC waren mein Einstieg in die Softwareentwicklung.
Der nächste Schritt: QBasic. Komfortabler, mächtiger – und der Punkt, an dem aus Neugier echtes Programmieren-Können wurde.
HTML, CSS und JavaScript kamen dazu, kurz darauf PHP und MySQL. Seitdem baue ich dynamische Seiten und Web-Anwendungen komplett selbst – Frontend, Backend und Datenbank aus einer Hand.
Datenbankdesign, normalisierte Schemata, Prepared Statements und durchdachte Queries – dazu Login-Systeme, Admin-Panels und alles, was eine Anwendung sicher und wartbar macht.
Über die Jahre kamen Delphi/Lazarus, Java, Pascal und Batch-Programmierung dazu – ein solides, vielseitiges Repertoire für ganz unterschiedliche Aufgaben.
In den 90ern gelernt, wie Systeme brechen – heute die Grundlage dafür, wie ich sie baue. Sichere Eingaben, saubere Rechte, keine offenen Flanken.
Beide Welten gehören zum Alltag: Serverbetrieb, Shell und Konfiguration unter Linux, native Entwicklung und Automatisierung unter Windows.
Mein Fokus liegt auf Rust und Python – maximale Performance auf der einen, maximale Geschwindigkeit beim Umsetzen von Ideen auf der anderen Seite. Web-Projekte setze ich weiterhin mit PHP und MySQL um.