Thoughts

0% AI generated. 100% organic. That's the whole point.

DevEx in AI Era

Developer experience is no longer a nice-to-have.


Developer experience used to be a nice-to-have. Good DX meant happier engineers, maybe faster onboarding, fewer paper cuts. It was a quality-of-life investment — worth doing, hard to justify on a spreadsheet.

That changed when AI started writing code.

DX is no longer about developer happiness. It’s about how well AI can validate its own work. Your type system, your linter, your CI pipeline, your e2e tests — these aren’t just tools for humans anymore. They’re the guardrails that keep AI from silently drifting your product in the wrong direction.

And without them, mistakes compound. Fast.

The compounding problem

Here’s what actually happens. You ask AI to scaffold a feature. It makes a small judgment call — maybe a data model is slightly off, or it picks a pattern that doesn’t match your codebase. You don’t catch it because the code works. It passes the unit test it also wrote. (The unit test that, if you looked closely, is one step above assert true — but who has time to read AI-generated tests?)

Then you build on top of it. AI helps with that too — and it follows the precedent it just set. Three files later, the wrong pattern is the established pattern. Ten files later, it’s architecture.

By the time someone notices, you’re not looking at a bug. You’re looking at a refactor. In a startup, that’s a week you don’t have. In a bigger org, that’s a quarter of tech debt that didn’t need to exist.

This is the compounding problem. AI doesn’t make big, obvious mistakes. It makes small, reasonable ones — and then builds confidently on top of them.

DevEx as guardrails

So what stops the drift? The same things that always made engineering teams productive — except now they serve a dual purpose.

  • Types and schemas catch AI’s assumptions before they compile. A strict type system doesn’t care who wrote the code. If the data model is wrong, you know immediately — not after 15 components are built on top of it.
  • Linting and conventions keep AI writing code that fits your codebase, not just code that runs. Without enforced naming conventions and architectural boundaries, every AI-generated file is a coin flip on whether it matches the last one.
  • CI pipelines close the feedback loop. AI can write, but it can’t judge. Automated checks are the judgment layer — the thing that says “this works, but it doesn’t belong here.”

These aren’t new ideas. Engineers have been advocating for them for years. What’s new is the cost of not having them. When a human writes inconsistent code, a teammate catches it in review. When AI writes inconsistent code at scale, no one’s reading every line.

The case for e2e tests

Now here’s the part most teams skip — especially startups.

Types catch structural mistakes. Linters catch stylistic ones. CI catches regressions. But none of them answer the only question that matters: does the product do what you intended?

That’s where e2e tests come in — though not for the reason you’d think.

The value of an e2e test isn’t just that it catches bugs. It’s that writing one forces you to define what correct behavior looks like before AI starts building. The test is the spec. It’s you saying “this is what the feature should do” in a language the machine can verify.

Without that, you’re reviewing AI output and hoping you notice the drift. The code looks right. The unit tests pass. The types check out. But the feature does something subtly different from what you intended — because three layers down, AI made a reasonable choice that wasn’t yours.

Startups have always treated e2e tests as a luxury. Expensive to write, painful to maintain, and slow to run. Why bother when your customers are your first testers anyway?

That math worked when humans wrote every line. You had an intuitive sense of what changed and what might break. With AI, that intuition is gone. The codebase moves faster than your mental model of it.

The cost of maintaining e2e tests hasn’t changed. But their role has — from safety net to source of truth for product intent.


None of this means you should slow down. AI-assisted development is the biggest productivity shift most of us will experience. The teams that embrace it will build faster than anyone thought possible.

But speed without guardrails is just velocity in the wrong direction.

If you’re leading an engineering team right now, the highest-leverage investment you can make isn’t a better AI model or a fancier copilot. It’s the boring stuff — strict types, enforced conventions, a CI pipeline that actually fails, and e2e tests that encode what your product is supposed to do.

Developer experience is no longer about making engineers comfortable. It’s about making AI controllable.

© 2026 Matus Gura