Principal Engineer · Architecture · Generative AI

Two decades.
Up the abstraction.
With curiosity for challenges.

Nineteen years, from assembler and bare-metal C to generative AI. Every few years the stack changed underneath me. What did not change: I learned the layer below the new thing until I could build on it with confidence.

EmbeddedCompilersJVMMicroservicesGenAIArchitecture
Work in progress

This section is a draft. The text below was generated by an AI as a placeholder to show the shape of the idea — it is not written by me, and some of it is guesswork. Read The Career Story for the version in my own words.

Six decisions · not a timeline

A CV lists where I was standing. These are the times I chose something that changed what I was.

2001 · school of automation

I picked the soldering iron over the textbook

What happened

I chose the school of automatic control systems instead of general secondary schooling. It ended with a diploma project built from bare copper: circuit drawn by hand, board etched in acid, controller and flash ROM burned, control software written in Pascal.

What it changed

It set the reflex I have never lost: never trust a layer you have not opened. Everything after this is the same instinct pointed at bigger boxes.

2007 — 2016 · nine years, one product

I stayed nine years when the advice was to move every two

What happened

Intern to senior on printer firmware in C: caching and resource handling, then the same code carried onto x86, MIPS and PowerPC across three operating systems, then four years on colour — halftones, ICC profiles, colour management.

What it changed

Nine years is long enough to meet your own decisions coming back. Colour taught me the kind of bug that never crashes — it just comes out wrong, and a customer can see it.

2016 · after nine years of writing it

I stopped writing C and started compiling it

What happened

GNU compiler and debugger components for three embedded architectures — and within a year, Eclipse toolchain work in Java alongside it, a team to lead, and a quarterly release turned into one click. Three roles at once for the last ten months of it.

What it changed

It broke the idea that I was a C engineer. I was someone who takes lids off, and C had just been the lid in front of me for nine years.

June 2018 · one month, two migrations

I left the country and the language at the same time

What happened

Romania to France, embedded C to Angular, printers to airline retailing — all in the same month. Eleven years of low-level instinct, and suddenly the whole job was in a browser.

What it changed

It proved the transferable thing was never the language. It was the habit of reading a system nobody explains to you — and being willing to be the least experienced person in the room again.

2019 · one year into the browser

I went back down, into the JVM

What happened

Two years on JVM internals, profiling, garbage collector studies and forensics on critical production incidents — being the person called when nobody could explain the pause.

What it changed

I stopped answering with tuning parameters and started answering with design recommendations. That is the line between an engineer and an architect, and I crossed it here.

2022 · with a working product already shipping

We chose the boring platform on purpose

What happened

We rebuilt a live integration onto the standard internal platform instead of the bespoke stack we had already made work — six microservices, and a migration nobody outside the team noticed.

What it changed

The clever thing and the right thing are not always the same object. Choosing the standard path is the least glamorous decision on this page, and the one I would defend hardest.

and now

Which is how I ended up here

Leading the technical side of an AI assistant that business travellers use every day, and setting where its architecture goes next. Retrieval that returns the right paragraph. A framework dependency cut out from under three teams with no downtime. Prototypes built small so nobody has to guess.

Six decisions, and every one of them was the same decision: go and look underneath.

Themes I keep coming back to, and want to write about properly. There will be more.

What is underneath this?

Every job I have taken has been one layer below the last one that made me curious. The board, the firmware, the compiler, the runtime, the platform.

drafting

Is it right when nothing crashes?

A colour that is subtly off. A pause that only appears under real traffic. An answer that is fluent and wrong. The failures I have spent most of my life on are the quiet ones.

drafting

Can I build the thing that builds the thing?

Compilers, generators, release automation, playgrounds for other people's experiments. Given the choice, I would rather own the tool than borrow it.

drafting

How much can a machine work out for itself?

Older than it looks: a master's thesis that threw the pixels away and let a search find its own representation, and a day job doing a version of the same thing sixteen years later.

drafting
View all posts →
coming soon

A personal AI assistant that knows my work and background — ask it about my experience, or leave a message and it will pass it along.