Real systems, real users, and the lessons you only learn in production.
The deep endI started the way every junior dreams of: thrown straight into the deep end. An insurance system serving tens of thousands of users across dozens of companies in Central Europe. No sandbox. Every commit shipped to production. I learned fast, partly because I wanted to, mostly because I had to. Turns out that’s the best way.
.NETAngularT-SQLAzure
The real lessonThat system powered the digitalisation of public health: faster, more accessible everyday processes for the professionals who relied on it to get their work done. From there I moved from shipping features to architecting full-stack systems from scratch: greenfield repositories grown into production platforms serving hundreds of users daily. Frontend, backend, database design, CI/CD, architecture, business analysis: if it needed doing, I owned it. That taught me what no tutorial ever could: building software is 30% code and 70% understanding what people actually need.
JavaSpring BootAngularPostgreSQLActiveMQOpenShift
→ Read: The Empty Poll
Legacy to modernWhen the national platform for managing an entire country's road infrastructure, from data collection to the day-to-day administration of the network, outgrew its legacy monolith, I was at the center of decomposing it into a modular, scalable architecture: the kind of system where every decision carries weight, because real people depend on it every day. It’s also where I started folding AI into serious engineering, before it was the obvious move.
.NETAngularT-SQLAI integration
→ Read: The Half-Life
Content at scaleThen came an e-commerce SaaS platform for distributing digital and physical products: a large-scale system of tightly coordinated modules spanning inventory management, metadata processing, distribution analytics, and multi-channel content pipelines pushing to Amazon, Google, and other global marketplaces, with sales ranks and reports flowing back in. High throughput, complex integrations, zero room for error.
JavaKotlinSpring BootReactNext.jsTypeScript
The agent eraRead the chapters above again and a pattern emerges: every few years the ground shifts, and I’m already standing on the new one. The agent era is no different. While the industry debated whether AI could write serious code, I was shipping with it. I don’t vibe-code; I engineer: fleets of specialized agents orchestrated with production rigor, inside a harness I build myself, with hooks gating every tool call, deterministic orchestration, and context engineering that keeps a thousand-step run coherent. Autonomous loops plan, execute, and verify their own output, so one builder ships with a team’s throughput, fed by domain knowledge distilled into vector search and knowledge graphs. Every tool in this paragraph will be replaced; the reflex to master what’s next first won’t. What you’re really bringing on board isn’t a stack, it’s a trajectory.
Multi-agent systemsAutonomous loopsMCPVector searchKnowledge graphs
→ Read: Anatomy of an Agent Fleet→ Read: The Missing Gauge→ Read: Private Code Search: The Parameter Nobody Wrote→ Read: The Cost of a Token
Every one of these systems started as a conversation. The next one might start with yours.