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