Software Engineer · Belgium


Profile

I build web applications, APIs, CLIs, and systems-level tooling. Day job is C# / .NET on RavenDB; outside of work I write a lot of Go and JVM code, run NixOS, and keep my own infrastructure. Detail-oriented, independent, and I like optimizing things — at work and at home.


Experience

Software Engineer — 2sky / DeCronosGroep · August 2016 – present

Building web applications and supporting tooling for ~25+ internal business apps. Stack: C# / .NET, RavenDB, SQL Server.

  • Shared framework work. Added a generic schema-generator abstraction with a JSON Schema implementation; added JSON content negotiation to the diagnostics endpoint; fixed Linux incompatibilities so the framework builds and runs cleanly off Windows.
  • Roslyn source generators. Contributed to the internal source-generator suite — interface generation, validation tooling — to kill boilerplate across app codebases; also got the suite building on Linux.
  • ETL & integration pipelines. Extended the internal ETL client's enqueue API, added document-subscription workers, and tightened resilience and failure handling on long-running sync jobs.
  • RavenDB index work across many apps: tuned underperforming indexes, shared projections between related overviews to cut storage, fixed miss-indexed fields surfaced by production error reports, and reworked queries to use lookup references.
  • Business-app feature & fix work. Domain modelling, action / workflow logic, UI tweaks, email and document generation, and edge-case fixes triaged from production error reports.
  • Cross-cutting framework regressions. Traced root causes of framework-level concurrency bugs that broke app startup, then rolled the fix across all affected apps.

Selected internal projects:

  • Fleet — vehicle fleet management: leasing, requests, fuel cards, lifecycle.
  • Insurance — insurance administration: policies, insured persons, family members.
  • Prevention — workplace safety: training, certifications, compliance.
  • HR — personnel administration: people, contracts, workplaces.
  • CV — CV and certification management with exports.
  • Daycare — childcare attendance, shifts, medical records.
  • Inventory — asset and inventory tracking with import/export.
  • Projects — project and customer-request tracking.
  • Onboarding — employee onboarding workflows.
  • Invoicing — invoice generation and management web app, backed by SQL Server.

Personal & Open Source

I keep building outside of work. Mostly Go, JVM, and Nix; some .NET and TypeScript.

  • Gocraft — Minecraft Beta 1.7.3 server in Go. Clean-room implementation against community protocol documentation; wrote the TCP networking, binary encoding/decoding, and game loop from scratch so the vanilla client can connect and play.
  • Brigadier — command dispatcher for Minecraft-style commands. Argument parsing, typed parameters, suggestions, and routing in the style of Mojang's Brigadier.
  • Event — in-process event bus for decoupled, pub/sub-style wiring.
  • Dotpdf — PDF generator in C# driven by JSON templates. Uses reflection to map JSON tags onto the underlying PDFsharp document model, with runtime data injection via compiled expressions.
  • Modding toolkit — Java-agent based, works in both static and dynamic modes — remaps the game's obfuscated bytecode, injects mod code, and lets users write custom bytecode transformers. Source lives on a self-hosted Forgejo instance, currently offline.
  • Mimeo — project template scaffolding tool in Go (in progress).
  • Wake-on-Web — internal Go web app for waking devices on the LAN.
  • Sustained feature and maintenance work on community-led plugins built against open-source server APIs, with SQLite for persistence — compatibility, performance, admin quality-of-life.
  • NixOS daily driver. Multi-host, reproducible config managed in Nix.

Lost to time — source gone, but I could rebuild it:

  • Service-exposure scanner. Go service that generated target IPs on the fly, skipping reserved and unfavorable ranges, then pushed them through a producer-consumer pipeline of worker goroutines over channels. Per-service probes parsed and logged protocol-specific information to PostgreSQL, with continuous refresh to keep the dataset current.

Technical Skills

  • Languages — C# / .NET, Go, Java / JVM, SQL, TypeScript, HTML / CSS, POSIX Shell
  • Databases — RavenDB, SQL Server, PostgreSQL, SQLite
  • DevOps — Linux, Docker, Git, Continuous Integration
  • Architecture — monoliths, modular monoliths, microservices; Domain-Driven Design; event-driven (event sourcing, pub/sub, sagas); pipelines (pipes & filters, producer/consumer, ETL); plugin architectures; source generation; command dispatching and CLI design
  • Practices — Test-Driven Development; integration and end-to-end testing; code review and pair programming; trunk-based development with clean git history (rebase, conventional commits); domain modelling / event storming; performance profiling; observability and structured logging

Certifications

  • Exam 483: Programming in C# — Microsoft, 2017
  • Oracle Certified Associate, Java SE 8 Programmer — Oracle, 2016