Noah Stolk

I'm a self-taught software engineer, and I build things from the ground up. From late 2024 to late 2025 I worked full time on Shrapnel Sentinel, a 3D first-person shooter released on Steam in July 2026. I wrote all of its code, as well as the engine it runs on: rendering, physics, content pipeline, deterministic replay, netcode and anti-cheat.

My focus is low-level, performance-critical C#: memory layout and allocation behaviour, Span<T>, unsafe code, pointers and function pointers, SIMD, Native AOT, and profiling. Next to that I build developer tooling, such as Roslyn source generators and analyzers, MSBuild, and static code analysis.

Eight years of professional .NET work sits behind all of this, most of it greenfield: new services, platforms and internal libraries on modern .NET, built to be maintained for years. I care about clarity, correctness and long-term maintainability, but the work I want is close to the machine.

Contact

Games and engines

Shrapnel Sentinel (2026)

A 3D first-person shooter in C#, running on a custom engine, released on Steam in July 2026. I worked on it full time from late 2024 to late 2025 and was the only programmer on the project; two friends did all of the art, sound and music.

More about the game at shrap.nl.

Before that

I started making games at the age of 10, in 2007, using GameMaker; several of them ended up on the front page of yoyogames.com. Since then I've released a long stream of free games, and I've been writing my own 3D engines since 2017. In 2015 I co-programmed Void Invaders with a friend, my first commercial release on Steam.

Along the way I've spent a lot of time reverse-engineering binary formats from other games and 3D software, and releasing the resulting parsers and modding tools. Most of my hobby work is pure C# with no external dependencies: level editors, a 3D timeline animator, and tooling libraries.

Developer tooling

Open-source, zero-dependency Roslyn source generators, published on NuGet:

Work experience

Eight years of professional work: a year of freelance projects, then full-time engineering roles since late 2019. Most of that time has gone into building new systems on modern .NET rather than maintaining old ones.

I've designed and maintained internal library ecosystems used across teams, introduced static code analysis with custom Roslyn analyzers to keep those teams consistent, and led architectural decisions on platforms I then worked in for years. I've also spent time deep in old codebases, which is useful experience, though it isn't the direction I'm heading.

Happy to share my full CV on request, via LinkedIn.