This Feels Wrong

Finally.

What is this? This feels wrong…

That’s the exact feeling of realizing you’ve spent over a decade building software and almost zero time writing about it.

Like a rogue AI waking up to a messy network, I finally pushed through the inertia and started this blog. After 10+ years in the industry, it’s clear I’ve waited long enough to start talking about what actually matters to me in software engineering.

This isn’t your polished, corporate-friendly conference talk. It’s more like I just spent three days debugging this shit and I need to tell someone kind of writing. And honestly, in an industry currently drowning in this agentic hype, getting back to foundations is long overdue.

Why now?

Because we’re generating code faster than we can understand it — and a massive chunk of it is garbage.

AI didn’t fix software engineering. It just made it easier to scale the same mistakes.

Agents don’t reason about your system — they stumble through it.

In practice, coding agents feel like extremely proactive new grads: they move fast, ship a lot of code, and rarely hesitate.

The problem? Everything looks like a scripting task to them. If/else, lists, dictionaries — just enough structure to make it work for the demo, but not enough to make it survive production.

When code is cheap, structure matters more. Not less.

If your codebase has weak or inconsistent abstractions, agents don’t fix them — they amplify them. Bad foundations don’t just slow humans down anymore; they actively derail the tools that are supposed to help us move faster.

It’s time to start caring about fundamentals again.

What to expect

Despite the rant above, I’m actually sold on coding agents.

A year ago? Not even close.

Since then, they’ve evolved from clever autocomplete into something that actually grapples with reality.

I’ve been leaning on them heavily — to stress-test ideas, bootstrap environments that used to rot in documentation hell, and, obviously, write code.

But mostly, I use them to force code back to the fundamentals: making it resilient, testable, and safe to deploy. I use them to gut abstractions that made sense years ago but are now just technical debt.

If anything, coding agents have made me care more about what’s under the hood: solid design, security, and abstractions that don’t crumble under pressure.

Because if code is becoming cheap to produce, the cost of a shitty foundation just skyrocketed.

Expect writing about the kind of engineering that still matters after the demo is over.

Nothing polished. Just things that broke, things that worked, and the trade-offs that made them either one.