About

I'm Rok Bajec. I've been writing .NET since 2002. Backend first — C#, a fair amount of TypeScript, some architecture. What I'm good at is finding calm, workable paths through codebases that feel stuck.

I spent 21 years at a Slovenian engineering firm, 18 of them as sole architect of a Web GIS platform that was in continuous development the whole time. By the end there were 500+ applications depending on it. Along the way I built three generations of single sign-on and resource-based authorization — the first because there was nothing good off the shelf in 2005, the next two as the platform and the threat model grew. Eventually I retired my custom auth in favor of Keycloak. The open-source ecosystem had matured to the point where building a fourth generation would have been a distraction from the work that actually mattered. I don't regret any of the three I built, and I don't regret letting them go.

After that I spent four years as a backend developer on Börse Stuttgart's retail trading platform — 500,000+ users, real-time market data pipelines, high-availability requirements. I was the only developer on the team that stood up integration testing infrastructure from scratch. My part was the engineering side — project structure, CI/CD, security practices, the shape of the test harness. The QA team owned the test content and the Playwright scenarios themselves. That mattered because most production incidents in systems like that come from edges unit tests can't see. Modularity and automated testing aren't buzzwords for me — they're the disciplines I've actually leaned on when things were on fire.

I tend to do my best work when other people are worried. Not because I'm fearless — I'm not — but because I know what it feels like when a system is tangled and nobody can see the next step. I'm patient with that, and I'm often more creative under those conditions than I expect to be. I've never modernized the same codebase twice; every system has its own history, and I'd rather take the time to understand yours than apply a template.

Where I work from

I'm based in Ljubljana, Slovenia — CET, same business day as DACH and Nordic teams. I work remotely most of the time, but I'm comfortable with one week a month on-site if that's what the engagement needs. Working languages: English and Slovenian.

If you have a .NET backend that needs to move forward and the path isn't clear, email me at rok@rokstep.eu.