About
I started scripting small games in 2007 when I was 10 years old, using GameMaker 6.1. Since then I've worked with various other languages, but have stuck with C# for the most part since 2016. I have a degree in Application Programming, but I'm mostly self-taught. I've been working as a software engineer since 2018.
I have a passion for writing clean, maintainable, and testable code, and in general enjoy working with low-level systems. I prefer to build everything from scratch and avoid using third-party libraries when possible. I'm a fan of open-source software and I try to contribute to projects whenever I can.
At work, I mainly build microservices and libraries using .NET and ASP.NET Core. I also specialize in static code analysis, Roslyn analyzers, integration and unit testing, code generation, and a little bit of MSBuild.
In my free time, I work on a variety of projects, mostly related to game development or modding. I've been working on custom games engines since 2017, and I'm currently building some simple games with C#, F#, and OpenGL. One of my favorite things to do is to build custom tooling using ImGui, such as level editors.
I also enjoy digging into the internals of some of my favorite games. I've reverse-engineered some games to learn how they work and to modify them. This mostly means messing with binary formats and process memory. I've written tools to extract and modify game assets or level data, and have done some experimental work to transform a game while its running by injecting and modifying the game's process memory.
You can find my hobby projects on GitHub.
When I'm not programming, I enjoy playing drums. I've been playing drums since 2007 and have played in various bands. I'm currently not in a band, but still play regularly on my acoustic and electric kits. I'm mostly playing progressive metal, and I'm currently learning jazz and other genres.