About me


Summary

My passion as software engineer is to make complex problems disappear as they are transformed into understandable pieces. I have had the delight of writing near exclusively Rust for the last 8 years. While I have experience across the entire stack I tend to focus on backend work. Professionally I have trained other engineers and advised leadership. In my spare time I help out a number of open source projects. I also bake really nice bread and I am trying my hand at woodworking.

Experience

Zed Industries — Senior Engineer (developing performance)

  • Sped up the Zed editor by a factor 1000 when under high load.
  • Build a priority scheduler for a unique async runtime which replaced the need for complex code in other areas while improving responsiveness.
  • Rebuild Zed’s real-time voip audio pipeline.
  • Held meetups with open source contributors and users.
  • Onboarded new personnel and increased productivity by overhauling the onboarding process.

SolidSands — Senior Engineer (advising, developing, training)

  • Trained their software engineers in Rust.
  • Designed and coordinated the development of a Rust std test harness to integrate with their existing product.
  • Advised CTO & CPO on technical decisions and product opportunities.

Rust-audio — Project lead (ecosystem unification) Working with major crate authors and users (such as Bevy) to unify the audio ecosystem.

Rust-audio — Maintainer (rodio crate) Responsible for the largest audio crate in the rust ecosystem (5 million+ downloads). Expanded team from one to three devs, landed major features and improved maintainability.

Leiden University — Council Chair (Faculty Council) As chair I led the council meetings and successfully negotiated curricula improvements.


Contributions

Leiden University — Guest Lecturer (Consensus algorithms) Gave a guest lecture on invitation of dr. Alexandru Uta. I introduced the students to consensus and explained Paxos and Raft.

Rust-lang — Contributor (standard library) Wrote a proposal for a sleep function, got it accepted and implemented, specialized different platforms/OS’s and added a shim to MIRI.

Zigpy — Contributor (Ziggurat) Helping build an open Zigbee stack. Enhancing maintainability through refactors and replacing thousands of lines of hand written serialization code with code generation.


I provide fixes to projects instead of bug reports whenever possible, these are a few of the projects I have helped out that way:

  • google/tarpc
  • zigpy/ziggurat
  • containers/storage
  • embassy-rs/embassy
  • instant-acme
  • knurling-rs/defmt
  • spacejam/sled
  • probe-rs/probe-rs

Personal projects

  • Renewc (renewc): A runtime dependency-free certificate renewal with advanced helpful diagnostics
  • Service-install (service): Easily provide users an install method on Linux systems
  • Dbstruct (dbstruct): Build a typed database by defining a struct
  • Abstract-bits (bits): Turn combinations of bit and byte fields into a structs, even if earlier bitfields encode the presence or length of later fields
  • Home automation (ha): An efficient sensor and control system. Every part is custom made and tuned for performance, contains: time series storage, telemetry system, data broker, control system and much more

Skills

Programming languages

  • Rust: primary language, #years_since(start_rust) years of experience. Experience across the entire stack: UIs in Iced & GPUI, distributed async systems with Tokio, power sipping RTOS-free embedded systems with embassy. Comfortable writing unsafe thanks to MIRI. Enjoys APIs that are (near) impossible to misuse.
  • C: ~1 years. Comfortable reading, academic experience writing. Preferred to C++.
  • C++: ~4 years. Strong proponent of running the std in debug mode, abolishing raw pointers, and running address sanitizer.
  • Python: ~5 years. Used academically for large scale Data Science within Astronomy and Physics. Familiar with numpy, scipy, limited AI work (reinforcement learning with keras).
  • Bash / Unix CLI: Large scale data editing or exploration using GNU tools and pipelines.

DevOps

  • Linux: Used exclusively as development platform for #years_since(start_linux) years. Recently enjoying NixOS.
  • Sandboxing: Containers (Podman, Docker), preference for statically built binaries with systemd sandboxing.
  • Architecture: Experience with well-partitioned monoliths and sensible (micro-)services. Favors dependency injection and separation of concerns.
  • Other: Using git since 2016, prefers rebasing over merging. Recently started enjoying jj. Uses typst when Markdown does not suffice.

Education

  • 2019–2022MSc Computer Science, Leiden University, Cum Laude Focused on cloud and distributed computing; explored AI, robotics, and CS theory. Thesis: GovFS, a highly scalable consistent distributed file system

  • 2014–2019BSc Physics, Leiden University

  • 2014–2019BSc Astronomy, Leiden University