Shower thoughts

Shower thoughts

I was having a shower earlier, and it might be a cliché, but that’s where my deepest and most articulated thoughts tend to happen. I wasn’t pondering anything especially profound, just the tickets I need to handle this week and how to plan the work to keep the pipeline flowing.

A couple of tickets in particular came to mind. The most classic end-of-project kind. Promote the new feature from beta to replace the old version, clean up the dependencies we had on the older one, tidy away feature flags and beta-specific code. Nothing too complex.

My thoughts drifted quickly to how lucky we are to have tools like Cursor, Claude and Codex for exactly this kind of work. Understanding the impact of a cleanup like this is trivial now. I’m fairly confident the agent will find every instance of the library we no longer use, the support utils and classes, and come back to me with a plan to strip it all out cleanly.

Don’t misunderstand me, this isn’t a hard task done manually either. But it’s the type of work where you end up missing something you didn’t know existed, leaving dead code that confuses the next person, or quietly breaking some obscure functionality you had no idea was linked to your cleanup. AI doesn’t eliminate those risks entirely, but it certainly reduces them.

The thinking wasn’t really about how clever or scary AI is, though. We do enough of that every day. It was more about how the role of the developer itself is shifting. We’re increasingly called engineers now, and I think that’s a step in the right direction. But it isn’t the whole story.

With AI handling a lot of the heavy lifting on the building blocks, an engineer is now expected to curate the quality, the overall structure, the testing, the finishing touches. Those responsibilities were always part of the role, so that part feels natural enough. What’s less obvious is how much the roadmap-management side has crept in.

I can’t speak for every company, but in our case I’ve found myself taking interest and responsibility for far more than the code and the feature itself. The day-to-day now involves understanding blockers and dependencies, handling a bit of politics, and caring about the feature as a product rather than as a set of acceptance criteria on a ticket.

Sometimes I feel more like a project manager overseeing my own small world of AI agents and tickets. Keeping the relationships with the wider team in sync, making sure everything flows, has become more of my job than the actual writing of code.

I can’t say with any certainty that this is purely down to the AI era. It might just be me growing into my role and understanding more of the context around me. It could simply be me getting older, caring less about my own lines of code and taking more pride in a smooth delivery, a well-received product, and good relationships with my colleagues.

Either way, I can feel the role shifting, ever so slightly. I don’t look back with nostalgia at the good old days of pure coding. I’m not looking ahead in fear of AI wiping us all out. I’m just trying to stay focused on today, noticing the shift, and accepting that it means picking up new skills, sharpening some senses and smoothing some edges. That’s not a problem. It just feels like the start of a new chapter.

« It's still Simone You've just read my latest post. Nothing after this!