Software Engineer • Photographer* • Nice Guy**
I am a software engineer. The definition of that title keeps changing, but I prefer to think of myself in terms of before-AI software engineering: I write code, design systems, and enjoy solving problems.
I started writing code in C, Pascal, and x86 assembly, then moved on to C# and Java. These days I mostly work in Rust and Go, with Java and Python when the project calls for them. Learning a new language changes how you think about problems you already know, and that has kept me picking up new ones throughout my career.
Most of my career has been in designing and building systems, including large distributed ones: data pipelines, cloud microservices, event-driven architectures. I have built text message processors and routing systems where correctness and reliability mattered more than elegance, and I have led teams through the long process of replacing legacy systems with something maintainable.
Nowadays I am interested in more fundamental work: parsers, Lisp interpreters, astronomy maths, container runtimes, and code safety. When working on these, I am mostly learning, experimenting, and I do not mind reinventing the wheel to understand something properly.
I am equally interested in older systems, since there is a lot to learn from how people solved problems under tighter constraints decades ago.
* I am not a real photographer, but I like to take photos and sometimes they turn out not bad.
** I am not sure about this one, but I won't stop trying.