Sarah DayanSarah DayanAll posts

What's left when agents write better code than you

13 min read

Monday mornings have changed. You grab coffee, open Slack, and there you have it. A thread about some new agentic tool. A coworker sharing what they vibe-coded over the weekend. A blog post on someone rewriting a legacy app in a day. Since late 2022, every conversation at the bar circles back to what someone did with ChatGPT. At work, it's coding agents: which one is best, how to optimize your setup, who automated what. Online, the big names can't stop tweeting about how Claude Code is pumping out code for them round the clock. It's everywhere, and it's not slowing down.

It's exciting. It's also deeply unsettling if you're not moving at the same speed. Underneath the hype, there's an existential crisis brewing. Where is your worth as a software engineer when a coding agent writes excellent code faster than you ever could?

Over my career, I've known times when worth came from demonstrable expertise and craftsmanship: writing impeccably clean code, solving obscure bugs in low-level dependencies, making sense of language idiosyncrasies. These competencies earned you respect from your peers, self-confidence, and the feeling that you had your place.

Now agents have entered the room, and they're commoditizing all of it. Everyone, including the initial skeptics, is admitting that the output is impressive. Your boss knows. And because no tech company wants to miss the bus, your management is pushing this hard on your teams right now. You may even have coworkers already churning through agentic coding sessions at lightning speed across six different terminals, and raving about how much fun they're having. But if you're not there yet, you might be having a tough time right now, and this post is for you.

Dissecting the dissonance

There are two things at play when you choose a career: what you like doing, and what the industry finds valuable. If you're lucky, there's an overlap between the two, and you get to do work that fulfils you while making a living out of it. For software engineers, passion can stem from the love of writing beautiful code, architecting clever systems, and many more aspects that appeal to your creativity and sense of curiosity. This comes from the inside. It shapes and supports personal values that go way beyond the transactional value of your work.

But the industry doesn't value well-crafted code for its own sake. Readable or cleanly architected code isn't worthwhile in itself, but because it's one vector to a sustainable business. Happy developers attract other top talents, the company scales, and business thrives. Same goes with speed. While it is intellectually satisfying to rapidly understand and solve problems, companies reward quick thinkers and fast shippers because throughput is a performance metric that directly impacts KPIs.

Everything plays out fine when those two sets of interests are aligned. The crisis starts when they come apart. And right now, they're coming apart fast.

In a recent tweet, Cursor's CEO announced "the third era of AI software development", described as a step up to the synchronous prompt-and-response loops between a human and a coding agent. He explained that 35% of the PRs they merge at Cursor are created by agents operating autonomously in cloud VMs.

One reply that caught my attention was this tweet by Parcel creator Devon Govett:

Devon Govett@devongovett

Is it just me or does this sound absolutely miserable to anyone else? Why would I want to spend my time writing requirements and reviewing code instead of directly building things? Building stuff is the fun part! How about we replace the boring parts like meetings and emails and status updates and issue triage. Engineers should be making tools to make our jobs better, not helping the idea guys replace us with slop.

Interestingly, replies don't all align with Devon's assessment. Some push back, saying that writing code manually isn't building, it's only one way to build. Many reckon that you don't get to choose, and that all that matters is how much value you ship, whether you like it or not.

Nothing about this is new. You've had the chats with your friends working in less booming areas. The discomfort we're feeling now, for a lot of people outside tech, is just called work. It doesn't make it an enviable model, but it shows the tension is real. While we got used to working in ways we enjoyed and made the annoying parts tolerable, it now emerges as a privilege that was only warranted as long as it made business sense.

The times they are a-changin'

We'd be wrong to dismiss the resistance as just nostalgia, or refusal to adapt to changing times. What's happening right now is not a minor change. It's already affecting people's lives, and will have effects that we can't foresee, let alone measure yet.

Software engineers are singularly exposed to change. It's not the first time something new comes along, flips the table, and requires catching up even before having the opportunity to understand what it's about. Over the last few decades, popular programming languages and technologies have fallen out of fashion. New ones have emerged. Framework wars got in full swing. Every week brings a new tool, a new pattern, a new flavor of the day that has inured developers to the fatigue of constant instability. I would know. I have years of ActionScript knowledge that I'm never getting back.

The difference here is that, while engineers were used to regularly swapping between new ways to write, the constant remained that they were the ones writing it. Swiftly adapting to novelty was the badge of honor for those who understood systems deeply enough that no zeitgeist was ever beyond their reach. But now, even the hard-earned polyglotism is losing its market value.

I keep thinking about the season 1 finale of Light & Magic, the Disney+ series about iconic VFX studio Industrial Light & Magic. In the early 90s, visual effects were done in workshops, through the use of practical puppetry and stop motion. Computer graphics was a nascent technology that we mostly trusted for alien matter and hard surfaces, not for living, breathing creatures.

But one day, the CGI team projected computer-rendered dinosaurs for Jurassic Park in front of Steven Spielberg. The room erupted. Everyone stood up. Steven Spielberg still recalls it as the greatest epiphany he has ever experienced in his career. He knew the industry would never go back to what things were before.

Mark Dippé, Eric Armstrong, Dennis Muren, and Steve 'Spaz' Williams animating the dinosaurs of Jurassic Park.

Mark Dippé, Eric Armstrong, Dennis Muren, and Steve "Spaz" Williams animating the dinosaurs of Jurassic Park.
© Industrial Light & Magic

But then came the fallout. Phil Tippett, the legendary animator who worked on the original Star Wars trilogy, had initially been hired to animate the dinosaurs with stop motion. As he stood in shock in front of what he thought would never be possible with computers, he whispered to Spielberg "I've just become extinct".

The craft he'd spent his career mastering. The techniques he had invented. Working with his hands, building physical models—all of this was no longer the thing the industry needed most.

This might be what you're sensing now. That the part of engineering that made it yours, the act of writing code, has become optional. You might be angry, or scared, or refuse to believe this is the future that everyone is gleefully preaching it is. You might resent what this is being replaced with. This might just not thrill you to work this way.

A time to reflect

Before deciding how you feel about tools and techniques, it's worth asking yourself a deeper question. Why do you do this job? What keeps you going to work? And does this new landscape still align with who you are? This doesn't prompt an immediate answer. You're not a machine, you're allowed to take a minute to pause.

I've been on Claude Code since its release in early 2025. I use it daily to generate most of the code I produce. Many of my coworkers would label me as an AI enthusiast. This is not the entire story, though. My close friends remember how conflicted I was when I first saw AI-generated artworks spread all around the web. I've been dismayed at the "starter pack" trend. I've looked down on GitHub Copilot's attempts at generating convoluted, half-broken tree structures. I've felt guilty calling mine code that an agent wrote for me. I've sat in a state of mixed awe and dread seeing it instantly produce features that would have taken me half a day.

I still feel proud of code I hand-wrote before LLMs. There's logic I cracked for my Dinero.js project that an agent would solve in a split second, and it gives me a sense of accomplishment to have done it on my own. But I also eventually stopped working on it. The weight of tooling issues and cryptic bugs on top of a full-time job drained the motivation. Of all the ways I could have pushed through, coding agents are what got me to stable v2.

My story is about a side project. Yours might be about a migration that's been sitting in the backlog for two years, a flaky test suite everyone's afraid to touch, or a requirement that is outside of your area of expertise. The specifics differ, but there's a common thread: inertia creeps in when the cost of progress outweighs the motivation to keep going.

I've seen engineers who'd never touched frontend use agents to build visual prototypes of their work. Suddenly they had something to show in meetings where they'd always stayed quiet. Generative AI didn't replace their expertise. It extended it into territory they'd never had access to.

My point is that you're rarely just one thing. You're not just a backend engineer. Or a frontend engineer. Or the stop motion guy. You have ideas beyond the domain you decided to specialize in, and purpose beyond your current skillset or comfort zone.

Code at the speed of thought

Out of all the answers Devon got on his tweet, one captured something that many others missed. This isn't only about shifting your mindset about what it means to build, but also about what the new boundaries are.

Martin Erlić@SeloSlav

You just have to stretch your imagination and increase the scope of your project. I'm sure there's still things worth building and many new roadblocks at this level of abstraction.

As you work on engineering projects, you get a rough idea of what time and effort it takes to do certain things. It naturally draws limits on what we allow ourselves to do. How far we know we can reasonably go. Your mileage may vary, but every developer and every team has a velocity cap.

This limit wasn't always where it is today, because of problems that are now considered solved. Think version control, package management, CI/CD, cloud infrastructure, frameworks, and more. Many innovations have allowed us to gain velocity by reframing our focus.

A common take is that projects used to be simpler, and these tools have only made them more complicated. But that's precisely the point. We don't solve problems to reach cruising speed, but to make room for bigger ones. Every time the cap moves, we fill the space with things that weren't possible before. How cool is it that we can design vector graphics in the browser, collaborate live on the same document, and share it with a link? Or watch the latest episode of your favorite show on your phone during your work commute, without having to download it first? That's what grows in the space where solved problems used to live.

Throughout all of this, one thing remained constant: humans had to write the code themselves. And writing code is expensive. You can learn to type faster, learn more programming languages, get better at pattern recognition, but the gains aren't linear. There are diminishing returns, and most experienced engineers already feel them.

And that limit isn't only mechanical, it's also motivational. When you're stuck on a problem, motivation erodes. When a project grows, so does the surface area for things to go wrong. You hit more edge cases, more tooling issues, more rabbit holes. Your execution can't keep up with your ideas, and slowly, the ideas themselves start to feel out of reach. They drift past the horizon. You stop thinking about what you could build, and start thinking about what you can manage.

This is one thing coding agents have given me, and that I didn't expect: the feeling that I can produce nearly as fast as I ideate. Validating an idea has never been cheaper. Trying something new literally feels like an attempt, and no longer like an investment. And beyond this, I'm unlearning beliefs about what is realistic to build, and what isn't. You might be familiar with the "curse of knowledge", when someone who has specialized knowledge assumes that others share in that knowledge. I think the flip side of this cognitive bias is that when you know too much about technical constraints, it becomes difficult to imagine a world without them.

The limits you've put on your own imagination, the frame of what you consider realistically achievable, might differ from mine. What's certain is that you have those limits, and now you get to challenge them at an unparalleled order of magnitude. You get to push your ideas beyond the napkin diagram you jotted down at the bar. Breathe a second wind into projects you'd given up on because you got hung up by some weird OAuth issue. Not every shower thought becomes a startup, but you get to reclaim creative energy that was long hindered by maintenance and troubleshooting.

So, what's left?

You may not be convinced that this could ever be fun to you. My recommendation is that you still give it a try. Suspend your judgment, pick a project you're comfortable (and allowed) to have an AI agent sneak into, and try for a while. I'm not telling you this because I'm certain you'll be sold, or because I want you to use coding agents. You're a grownup. But I believe you can't know what this means for your future unless you go find out.

Code takes a lot of space, but is such a small part of our job. We bring experience and knowledge that allows us to know what is worth shipping and what isn't. We know when to speed up, and we know when to pause. We know how to challenge wonky ideas and reconsider early designs. This is the fundamental value of our job, and these become absolutely crucial skills to foster and grow when anyone can turn any shower thought into a working prototype.

I'm not naive about what this means for the industry. The time we reclaim from handing off coding isn't a gift. It's expected to go back into output. But what you do with the mental space is still yours. And you might be surprised by what grows there.