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
- PhpStormDer Haupteditor. Eine vollständige JetBrains-IDE, die das ganze Projekt versteht, nicht nur die offene Datei: Navigation, sichere Refactorings, kontinuierliche Inspektion. Für PHP-Projekte, die lange halten sollen.
- JetBrains MonoDie Schrift des Editors. Hohe x-Höhe, klar in kleinen Größen, die Ligaturen halten sich zurück.
- WSL-TerminalDie in Windows integrierte Linux-Shell, in der Code und Deployments laufen, abgestimmt auf die Produktionsserver.
Hardware
- Windows 11 + WSLWindows 11 im Alltag, mit WSL für ein echtes integriertes Linux. 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 IIIMeine Fotokamera, nie weit vom Schreibtisch. Die andere Hälfte des Handwerks ist nie weit vom Code.
- 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 kontinuierliche Integration, bei jedem Commit.
- Analyse ohne CookiesSelbst gehostete Analyse ohne Cookies, die ich für einen Kunden bereitstellen kann, wenn er Zahlen braucht. Kein Cookie-Banner, für das man sich entschuldigen müsste.