About
I approach engineering through the lens of system dynamics, fascinated by how often two things that look unrelated turn out to obey the same rules. Professionally, that means building data pipelines, machine learning models, and the infrastructure underneath.
Universal system dynamics govern almost everything, which makes architecture a physical discipline applied to software: the stocks, flows, and both balancing and reinforcing feedback loops that control water draining from a bathtub are built on the exact same mechanics that beget stability in a high-throughput data pipeline or distributed ML workload. Whether managing a physical reservoir or an ETL queue, almost anything can be modelled and translated into mathematics, even the parts of the world that resist it.
I'm a determinist* in the Laplace's demon sense: with full knowledge of the complete state of the universe and the laws running it, everything that follows is already settled. Since nobody actually gets to be the demon, we have statistics, which is just the art of quantifying how wrong we are with high confidence. Mathematical constants, logical paradoxes and the extremes of scale get me the exact same way, whether that's physics at the vast cosmos level or biology at the microscopic. A sunflower sets each seed about 137.5 degrees from the last, and the spirals that produces come out as Fibonacci numbers, with nothing in the plant doing arithmetic.
My path into tech wasn't linear. Before I wrote a line of code, I sold leather jackets on Sunday market stalls in Wrocław, worked the door of a perfume shop, cooked in Leeds kitchens, spent two years on a hotel front desk, and rode three years as a pushbike courier. I freelanced along the way as an event photographer and illustrator. In hindsight, the clues were always there: I liked photography for the histograms and aperture maths, and illustration because vectors mean a drawing can scale infinitely.
When I started teaching myself to program, I stopped going out on my bike, which was how I knew it was serious. The first script I ever built was a bot that auto-swiped right on everyone on Tinder, so I only had to evaluate people who had already decided they liked me. It saved my time by spending everyone else's, an efficient bit of early logic that, looking back, makes me cringe a bit.
My first tech role was a hybrid developer/helpdesk position right as the 2020 lockdowns hit. This meant I didn't just have to tell people to turn it off and on again over Teams; I occasionally had to cycle through the rain to push the power button for them, delivering replacement laptops to remote workers' front doors.
Away from a screen, I am drawn to older things. I read almost exclusively dead classical novelists and love archaic language, whether Polish or English. It serves literature beautifully, but applying that same preference to tech would be a great way to sabotage my own career. Part of me feels like I would have been perfectly happy living 200 years ago without a single screen in sight... which makes my deep love for writing code a delightfully strange contradiction.
Based in Poland and working remotely with a UK team, I spend my off-hours drawing, playing piano, cycling, running, weightlifting, and playing racquet sports.
People usually describe me two ways: obsessive, and selective about what I remember. Really, it's one trait. I retain what interests me in granular, unreasonable detail and lose the rest. That's why I build systems to run my life, from a digital slip-box to personal workflows. They are immaculate engineering solutions to problems I usually created for myself.
Alas, none of them are ever finished.
Roles
Senior Developer & Data Engineer
- Co-leading the merge of two data science teams into one engineering function, where most of the work is agreeing one way of building things across both sides.
- Client delivery end to end: data pipelines, ML models and what runs them.
- Sole engineer on the data team from 2023, inheriting everything already running.
- Mentored the two engineers who joined as the team grew back out.
- Optimising performance and paying down technical debt: infrastructure code and tests on systems that had neither.
- Set up how the team works: agile process, code review, MLOps practice.
Developer
- Built and maintained internal web applications, microservices and APIs.
- Designed the service template that brought Clean Architecture into the company.
- Audited the Azure estate and cut what it cost: machines downscaled, services moved to serverless, reserved instances bought once I made the case.
- Performance work on live platforms, mostly concurrency and caching.
- Mentored developers and sysadmins, and ran sysadmin through the pandemic.
Apprentice Developer
- Started on the helpdesk, which is how I learned every system the business ran.
- Owned a few of them within months, shipping to production in the first year.
Education
- Machine Learning Specialization
- CS50AI: Introduction to Artificial Intelligence with Python
- Higher National Certificate (Level 4), Software Development
- CS50: Introduction to Computer Science