Ontwikkeling

Mijn stack en tools

De technologieën waarop ik bouw, en de hardware en software die ik elke dag gebruik. Eerst de stack, dan de tools.

De techstack

Geen muur van logo's. De tools die ik echt gebruik, gegroepeerd per laag, elk met een eerlijke reden. Ik kies saai waar saai veiliger is en grijp naar het scherpe gereedschap waar het zich verdient.

Talen
PHP 8.5
Het web draait erop en modern PHP is snel en strikt. Getypeerde eigenschappen, enums, readonly, fibers. Het meeste van mijn klantenwerk leeft hier.
Rust
Voor de hot paths en alles waar een garantie meer telt dan een deadline. Geheugenveiligheid zonder garbage collector, en een typesysteem dat hele klassen bugs vangt.
TypeScript
JavaScript met een veiligheidsgordel. Ik vind de fout liever bij het bouwen dan in productie.
Frameworks
Laravel
Alles inbegrepen zonder een zwarte doos te zijn. Wachtrijen, migraties, en een ecosysteem waarmee ik snel een echte applicatie kan opleveren en jarenlang onderhouden.
Symfony
Wanneer een project meer nood heeft aan de componenten dan aan de conventies. Solide, voorspelbaar, voor de lange termijn.
Pulsar
Mijn eigen framework in PHP 8.5 en Rust. Gecompileerde dependency injection, hexagonale lagen, formele verificatie op de kritieke modules. Het bestaat om de architectuur verder te duwen dan een algemeen framework dat zal doen.
Data en infrastructuur
PostgreSQL
De standaard die ik vertrouw. Correct, snel, en eerlijk over wat het onder belasting doet. MySQL en MariaDB wanneer het project er al op draait.
Redis
Cache en wachtrij. Het ding dat een verkeerspiek opvangt zodat de database dat niet hoeft te doen.
AWS, HTTP/3, Nginx
EC2, S3, SES, Route 53. HTTP/3 en een afgestelde Nginx ervoor. Ik heb meerdere werkgevers van gedeelde hosting hiernaartoe gemigreerd en sliep er beter door.
Kwaliteit en gereedschap
PHPStan, Psalm
Statische analyse aan de strikte kant. De compiler die ik wou dat PHP had, bij elke commit uitgevoerd.
PHPUnit, Infection
Tests, en mutatietesten om te controleren of de tests het waard zijn om te houden. Een MSI-doel houdt ze eerlijk.
Docker, GitHub Actions
Overal dezelfde omgeving, en een pipeline die een rode build niet tot in productie laat komen.
diepte / Waar mijn uren naartoe zijn gegaan
PHP · Laravel · Pulsar11 jr
JavaScript · TypeScript9 jr
AWS · Nginx · infra7 jr
Rust4 jr

De dagelijkse tools

Wat er werkelijk op mijn machine en bureau staat, in de /uses-traditie. Geen affiliatielinks. Als iets hier staat, is dat omdat ik er dagelijks naar grijp, niet omdat iemand voor de plek betaalde.

Editor en terminal
  • NeovimDe belangrijkste editor. Jarenlang spiergeheugen en een configuratie die ik echt begrijp. LSP voor PHP, Rust en TypeScript.
  • JetBrains MonoHet lettertype voor editor en terminal. Hoge x-hoogte, helder bij kleine groottes, de ligaturen blijven op de achtergrond.
  • tmux + zshEén terminal, veel panelen, sessies die een verbroken verbinding overleven. Hier gebeurt het meeste werk.
Hardware
  • Linux-werkstationUbuntu op een desktop die ik zelf bouwde. De ontwikkelomgeving komt overeen met productie, wat een hele categorie verrassingen wegneemt.
  • Mechanisch toetsenbordTactiele switches, bijna ortholineaire indeling. Stil genoeg voor een gesprek, scherp genoeg om te voelen.
  • Dubbele monitorCode op de ene, de draaiende site en de logs op de andere. De controlekamerindeling, teruggebracht tot een bureau.
Bureau en opname
  • Sony α7 IIIDe camera die ook aan de fotografiekant zijn plaats verdient. Doet dienst als nette webcam voor klantgesprekken.
  • Bekabelde audioEen echte interface en koptelefoon. Bij een lang gesprek tellen latentie en helderheid meer dan gemak.
Diensten
  • GitHub + ActionsDe bron van waarheid en de CI-pijplijn. Zelf gehoste runners voor de zwaardere Rust-builds.
  • PlausiblePrivacyvriendelijke analyse waar een klant cijfers nodig heeft, zonder cookiebanner om je voor te verontschuldigen.