DEV Community

Cover image for How Are Developers Actually Using AI At Work?
Sylwia Laskowska
Sylwia Laskowska

Posted on

How Are Developers Actually Using AI At Work?

Senior roles and legacy code migration

JSNation is coming soon, and besides my talk (I’ll drop the link in the comments so I don’t spam you with it for the tenth time 😅), there are also discussion rooms. And somehow, I got invited to two of them.

Now, a normal person would probably stop for a second and think: “Do I even have time for this?”, “Is it worth it?”, “Should I maybe not overcommit myself for once?”. Meanwhile, in classic Sylwia fashion, I replied almost instantly: “Oh, that sounds amazing! Sure, sign me up for everything!” 😎

And that’s how I ended up in a discussion room called “The New Senior Engineer: Builder, Reviewer or Orchestrator?”.

Now, my career advisor, ChatGPT, always tells me: “Sylwia, please get your life together. And if you insist on doing ten things at once, at least reuse the content.” 😅 So instead of coming up with all the conclusions myself, I thought: why not ask the DEV community?

But before I ask the big question — what should a Senior Engineer become in the AI era — I think there’s another, more interesting one first: how are you actually using AI at work?

Not in conference demos. Not in viral Twitter threads. Not in “my AI agent rewrote Kubernetes during lunch” stories. I mean real work. Real projects. Real teams.

Of course, feel free to jump straight into the comments (you know I love talking with you all ❤️), but first, a few observations from my side.

AI Above Everything

At least that’s the image the internet gives us. Conference titles. Newsletter headlines. LinkedIn prophets.

Matteo Collina opens a 100k-line PR for Node.js and people panic.

Someone rewrites an entire React application to Svelte in two weeks. Hundreds of thousands of files.

The creator of Bun rewrites it from Zig to Rust in one evening, while casually mentioning he also went on a date that night. (Am I the only one getting weird associations here? 😅)

Armies of agents replacing development teams. Agents opening PRs for other agents to review. Everything automated. And somewhere in the middle of all this, the Senior Engineer becomes some kind of AI shepherd, occasionally checking whether the robots are heading straight into a cliff.

Honestly, it’s both fascinating and mildly terrifying. Sometimes it makes you wonder whether we should all reconsider our career choices and maybe sign up for hairdressing school before the robots learn that too 😅

But then I stop for a second and think: I actually work in this industry. I know a lot of developers. And real life often looks… very different.

From Excitement to Cost Optimization

A friend of mine works at a huge tech corporation. One of those companies you definitely know — and probably either love or hate 😄

Of course they started using AI tools very early, including Copilot. But things really escalated once they got proper coding agents — I think Claude Code.

At first, the company was completely mesmerized. They bought the most expensive plans possible and encouraged people to use AI aggressively. If someone hit token limits, management basically said: “Don’t worry, we’ll buy more. It’s revolutionary!”

My friend happened to be building a new application from scratch and honestly — he loved it. The amount of code generated was absurd. Normally, building something like that would take months with an entire team. Now? A few days and huge chunks of the system already existed.

And because he’s genuinely an excellent developer, he became very good at noticing the exact moment Claude started going completely off the rails. Interestingly, this often happened around 5 PM. Apparently the AI wanted to clock out too 😅

But after a few months, the excitement slowly started fading. Turns out that while AI sometimes makes development dramatically faster, it definitely doesn’t always.

And then came the second surprise: the company actually calculated how much all this AI usage was costing. Suddenly everyone discovered that — surprise, surprise — unlimited AI agents aren’t exactly cheap 😄

So now there are discussions about limits, optimization, and reducing token usage. At this rate, maybe hiring interns will eventually become the cheaper option again 😂

And honestly, we’re already seeing this trend more and more. Wasn’t it Meta that introduced some kind of “tokenmaxxing” culture where people were rewarded for using fewer tokens?

And Finally, My Own Story

Now let’s move to my world.

A massive international institution. An enterprise ship that takes three years to turn right. A place where privacy is treated almost like religion. So naturally, people were extremely skeptical about LLMs for a long time.

But eventually AI arrived there too, which honestly makes me think these tools are now basically everywhere 😄

So: do coding agents massively accelerate development in enterprise legacy systems?

Well… that’s where things become complicated.

Sure, there are tasks where AI is genuinely useful. Simple bugs. Small features. Boilerplate work. But on some tasks? It completely collapses.

The agent reads library code. It crawls through the application. It searches half the repository. And still somehow understands absolutely nothing 😅

Sometimes I literally have to tell it: “Maybe check that weird file written by a junior developer seven years ago.” Or: “Our UI library has some very specific legacy quirks, maybe investigate that direction.”

And honestly? After 2.5 years in this project, I’m simply faster than the AI agent in many debugging scenarios.

Not because I’m smarter. Not because AI is useless. But because enterprise systems accumulate context, history, weird decisions, tribal knowledge, hidden dependencies and architectural scars over many years. And I have that context. The AI usually doesn’t.

And I honestly doubt my project is unique here. A huge percentage of software running the world today is enterprise legacy that survived far longer than anyone originally planned — and is still actively evolving 😄

So maybe, somehow, I’ll actually survive as a programmer until retirement after all. And maybe I won’t need to learn hairdressing.

Which is probably good news for humanity, because I’d be terrible at it 😅

But now I’m genuinely curious: what does AI usage actually look like in your work?

Million-line AI PRs? Daily battles with legacy systems? Token optimization? Or maybe something completely different?

BTW, If you like my posts, feel free to follow me on Linkedin!

Top comments (11)

Collapse
 
gramli profile image
Daniel Balcarek

I wrote a short post about the same topic a few months back: How Much AI-Generated Code Are We Actually Shipping to Production? My Reality So Far and my experience is very similar.

For older codebases, AI often isn’t that useful because understanding the system matters more than generating syntax.

In newer codebases, though, AI works much better when the architecture is already well established and best practices are being followed. In those cases, it can generate similar code that fits the existing solution quite well. Usually, it gets me about 85% there, and I fix the remaining 15% myself.

And then there’s the third category: hobby projects. There I use AI for almost everything 😅

But we’ll see how token costs evolve over the next few months. Maybe even hobby projects will push me back toward good old manual programming 😂

Collapse
 
sylwia-lask profile image
Sylwia Laskowska

This is a fantastic post, and honestly, everything you describe fits together into a very logical pattern.

And yes, I totally agree about hobby projects too. That’s where Anthropic servers start catching fire 🔥😂 In personal projects I use AI for almost everything.

Although… I already noticed my own behavior changing a bit because of token costs 😄 A few months ago I would happily generate even boring boilerplate through an agent. Now I sometimes catch myself thinking: “You know what, the old-school CLI command is probably cheaper and faster here.” So maybe I’m already adapting to the token economy and it won’t be that bad after all 😂

And btw, I’ll actually be in the Czech Republic in October for FrontKon, so you should slowly start preparing a list of good Czech beers for me 😄

Collapse
 
gramli profile image
Daniel Balcarek

Yep, I think we’re now entering the phase where people will start learning how to use tokens more efficiently and maybe the whole AI bubble will stabilize a bit because of that.

And nice! As the leading country in beer consumption, the list of good Czech beers could get very long 😄 Not sure the DEV comment section is big enough for that 🤣

Thread Thread
 
sylwia-lask profile image
Sylwia Laskowska

Apparently we’re already reaching peak absurdity, because I recently heard about LLMs being used to improve prompts so that other LLMs consume fewer tokens 😂 The ecosystem is slowly evolving into AI agents optimizing other AI agents.

And yes, Czech beer absolutely rules! Unlike those mysterious dumplings (knedliki) you people keep trying to convince the world are food 😂 Although to be fair, the calories saved by avoiding knedliki can then be responsibly re-consumed in the form of vitamin B-rich Czech beer, so the nutritional balance eventually restores itself 😎😂

Collapse
 
ranjancse profile image
Ranjan Dailata

Go with some of the best free provider options via

Kilo Code
Cline
BlackBox AI

Thread Thread
 
sylwia-lask profile image
Sylwia Laskowska

Thanks Ranjan 😄 For personal projects and home setups, those tools definitely look worth trying.

But you know how enterprise corporate environments work 😂 There’s basically zero chance of developers just installing random AI tooling on their own. Everything needs to be approved by security, architecture boards, compliance, probably three managers, and ideally preceded by a thousand meetings first 😅

Collapse
 
moopet profile image
Ben Sinclair

At work, I am mostly the person saying, "let's not use LLMs for this, it's a terrible idea because..."

I have two current code projects, and one I'm doing myself, the other I'm using Opencode for. The Opencode one is significantly worse and requires me to step in and rescue it a lot. I also have to keep asking it to explain what it thinks it's done, and to tidy up things that are left behind and to not keep reinventing the wheel. Oh, and I have to start every session with, "for the love of god do not use tailwind this time".

What I am using AI for is asking questions about code, and for admin tasks like creating a changelog from the git history of a project and linking it all up with Jira, that sort of thing. I mean, you still have to spend time making sure it's not coming out with something that's actually bonkers batshit but it does save a lot of time overall for those sort of chores.

Collapse
 
sylwia-lask profile image
Sylwia Laskowska

This matches very closely with what I’ve been seeing too: context is the key thing here, and no agent or model is really a silver bullet.

My experience with coding agents is very similar. They work best for relatively simple, well-scoped tasks like: “add a small feature HERE and HERE”, “split this component into smaller ones”, “generate some boilerplate”, etc. And honestly… even there they sometimes manage to completely derail themselves 😅

And BTW, as you already know, I actually like throwing Tailwind into hobby projects 😄 But I usually have to explicitly ask for it, and specify the exact modern version too, otherwise the agent starts building some terrifying spaghetti CSS monster inside a random global.css file 😂

Collapse
 
adam_lewis_427616cbc93f0b profile image
Adam Lewis

The legacy-vs-new split in the comments matches what I've found, and I think the dividing line is sharper than age. The new codebase where it gets you 85% works because the context is in the code: the folder names, the types, the seams all tell the agent what's going on. The legacy one collapses because the context is in people's heads and in that file a junior wrote seven years ago. What's changed how I work is treating that as a forcing function. The stuff I used to keep in my head the agent can't read, so it has to go somewhere it can: clearer names, tighter types, a short doc of the weird bits. It helps the next human too, which is the part that was always worth doing anyway.

Collapse
 
sylwia-lask profile image
Sylwia Laskowska

Wow, thank you so much for this comment. I honestly suspect you’re exactly right.

To be fair, I’m currently not working with a “well-written legacy system” 😅 My project has a lot of that classic tribal knowledge situation: one senior got moved to another project, then a junior got assigned, somebody hacked something together, somebody left a TODO in 2019 and disappeared into the void 😂

So yes, I think you’re absolutely right that if the codebase itself communicated the context better, the agents would probably perform much more effectively.

Which immediately raises another interesting question for me though: what will happen to all the projects being created right now with heavy agent usage but without much architectural thinking behind them?

At some point, somebody will have to maintain all of that 😅

And honestly, I already saw someone comment somewhere that maintaining AI-generated legacy systems in a few years might become a literal gold mine for experienced developers 😂 What do you think about it?

Collapse
 
sylwia-lask profile image
Sylwia Laskowska

If you're interested in my talk at JSNation, you can register here and watch it for free 😊
Here it is
The talk is called “Rewrite or Refactor? How to Safely Move Legacy Apps to Modern Frameworks” 🚀