Entwicklung
Mein Stack und meine Tools
Die Technologien, auf die ich beim Bauen setze, und die Hardware und Software, die ich jeden Tag nutze. Zuerst der Stack, dann die Tools.
Der Tech-Stack
Keine Wand aus Logos. Die Werkzeuge, zu denen ich tatsächlich greife, nach Schicht gruppiert, jedes mit einem ehrlichen Grund. Ich wähle langweilig, wo langweilig sicherer ist, und greife zu den scharfen Werkzeugen, wo sie es sich verdienen.
Sprachen
PHP 8.5
Das Web läuft darauf und modernes PHP ist schnell und strikt. Typisierte Eigenschaften, Enums, readonly, Fibers. Der Großteil meiner Kundenarbeit lebt hier.
Rust
Für die heißen Pfade und alles, wo eine Garantie mehr zählt als ein Termin. Speichersicherheit ohne Garbage Collector und ein Typsystem, das ganze Fehlerklassen abfängt.
TypeScript
JavaScript mit Sicherheitsgurt. Ich finde den Fehler lieber zur Bauzeit als in der Produktion.
Frameworks
Laravel
Alles dabei, ohne eine Blackbox zu sein. Warteschlangen, Migrationen und ein Ökosystem, mit dem ich schnell eine echte App ausliefere und sie jahrelang pflege.
Symfony
Wenn ein Projekt die Komponenten mehr braucht als die Konventionen. Solide, vorhersehbar, langfristig.
Pulsar
Mein eigenes Framework in PHP 8.5 und Rust. Kompilierte Dependency Injection, hexagonale Schichten, formale Verifikation auf den kritischen Modulen. Es existiert, um die Architektur weiter zu treiben, als ein allgemeines Framework es tun wird.
Daten und Infrastruktur
PostgreSQL
Der Standard, dem ich vertraue. Korrekt, schnell und ehrlich darüber, was er unter Last tut. MySQL und MariaDB, wenn das Projekt schon dort lebt.
Redis
Cache und Warteschlange. Das, was eine Lastspitze abfängt, damit die Datenbank es nicht tun muss.
AWS, HTTP/3, Nginx
EC2, S3, SES, Route 53. HTTP/3 und ein abgestimmtes Nginx davor. Ich habe mehrere Arbeitgeber vom Shared Hosting hierher migriert und schlief seitdem besser.
Qualität und Werkzeuge
PHPStan, Psalm
Statische Analyse am strikten Ende. Der Compiler, den ich mir für PHP gewünscht hätte, bei jedem Commit ausgeführt.
PHPUnit, Infection
Tests und Mutationstests, um zu prüfen, ob die Tests es wert sind, behalten zu werden. Ein MSI-Ziel hält sie ehrlich.
Docker, GitHub Actions
Überall dieselbe Umgebung und eine Pipeline, die keinen roten Build in die Produktion lässt.
Tiefe / Wohin meine Stunden geflossen sind
Die täglichen Tools
Was tatsächlich auf meiner Maschine und meinem Schreibtisch liegt, in der /uses-Tradition. Keine Affiliate-Links. Wenn etwas hier steht, dann weil ich täglich danach greife, nicht weil jemand für den Platz bezahlt hat.
Editor und Terminal
- NeovimDer Haupteditor. Jahre an Muskelgedächtnis und eine Konfiguration, die ich wirklich verstehe. LSP für PHP, Rust und TypeScript.
- JetBrains MonoDie Schrift für Editor und Terminal. Hohe x-Höhe, klar in kleinen Größen, die Ligaturen halten sich zurück.
- tmux + zshEin Terminal, viele Bereiche, Sitzungen, die eine Trennung überstehen. Hier passiert der Großteil der Arbeit.
Hardware
- Linux-WorkstationUbuntu auf einem Desktop, den ich selbst gebaut habe. Die Entwicklungsumgebung entspricht der Produktion, das nimmt eine ganze Kategorie von Überraschungen weg.
- Mechanische TastaturTaktile Schalter, fast ortholineare Anordnung. Leise genug für einen Anruf, scharf genug, um sie zu spüren.
- Doppelte MonitoreCode auf dem einen, die laufende Seite und die Logs auf dem anderen. Das Kontrollraum-Layout, auf einen Schreibtisch verkleinert.
Schreibtisch und Aufnahme
- Sony α7 IIIDie Kamera, die sich auch auf der Fotografieseite ihren Platz verdient. Dient als saubere Webcam für Kundengespräche.
- Kabelgebundenes AudioEin echtes Interface und ein echter Kopfhörer. Bei einem langen Anruf zählen Latenz und Klarheit mehr als Bequemlichkeit.
Dienste
- GitHub + ActionsDie Quelle der Wahrheit und die CI-Pipeline. Selbst gehostete Runner für die schwereren Rust-Builds.
- PlausibleDatenschutzfreundliche Analyse, wo ein Kunde Zahlen braucht, ohne Cookie-Banner, für das man sich entschuldigen müsste.