Post

I was pairing with a dev who commented on the fact that I always resolved merge conflicts by hand versus using a UI. I joked that it's because I'm a control freak and without missing a beat responded "Yup." 😅 Let me tell you about my experiences with agentic coding these last 3 months...

So this role I'm in now was a tiny 2 person team. Two senior ICs managing a family (50~) of APIs and libraries for that last decade. These services are providing a public interface for data produced from various sources (integrations, dev teams, jobs) back out to dev teams to work with.

Those two senior level ICs both retired at the same time. They were an all knowing, doing a lot of "hidden" work to keep things going and it was a complete silo. When I applied for the role, I missed the part about it being an AI "augmented" role. I noticed an hour before first the interview.

At this point I had used LLMs to explore implementation ideas at a small scale. My first attempt implementing Ackermann steering for a video game. It was a single function that I reviewed and integrated into the game. It worked.

Play testing was instant so having hands on the wheel was easy. But this was a well known algorithm. No heavy lifting here at all but that work flow of a tiny piece, rigorously reviewed and tested felt ok to me. Ok enough to see there might be use here.

That's how my AI uses with coding went for a few months up to, or to explore why code I wrote didn't work the way I expected. I didn't trust anything it said but it would atleast give me starting points.

I rejected code at a 20:1 ratio easily. It didn't feel like a performance gain. The bigger the task, the worse the rejection rate. It was frustrated as context slowly gets polluted and the problem got worse.

I was clear to me any AI usage during development was best, for me, when it's tiny and focused. When it was drudge work, not design work. For me telling it how to build worked better than what to build. I still feel this way...

I mentioned being a control freak when it comes to dev & honestly its less about control and more about understanding the systems at work. That is a direct factor in my enjoyment with coding. Analyzing the problem, designing a solution, and iterating. Vibe coding does not check that box for me.

I have to have hands at the wheel at all times. I care how something is implemented, even if the promise of AI exceeded our expectations. The idea of software being a blackbox is absurdist. Have you worked in enterprise software before? We tried speccing out behavior with gherkin already... Come on

So back to my current role. So 50~ APIs & libs exposing a common interface for data from a range of sources out to app dev teams to use. The two senior ICs that have been developing and maintaining this retired. The only dev on the team is a senior architect about to retire. I have an interview.

The interview is /w a lead architect & the senior architect (who is months from retiring himself) that was keeping lights on so the app dev teams had access to this data. So clearly I'm curious about the "AI augmented" phrasing and they're very open to tell me the situation with the 2 retired devs.

They were also very open about this team being the first to be using agentic coding at a large level. They were looking for a senior level developer to take over the support side of things so a replacement system could be developed by the IC dev about to retire. I didn't know what to think honesty.

I asked a lot of questions. I had JUST gotten access to Junie in my then current role and it was complete garbage if I can be honest. An agent harness built in to a Java focused IDE that never once was able to run the tests in maven or gradle. It was bad. It left a terrible taste in my mouth for AI.

What was interesting to me was how they were using agents. These were 50 java/spring boot services/libraries and that senior IC about to retired? A C# dev their entire career. No joke. I luckily have a ton of java/spring boot experience.

0 reposts0 likes

After that the interview was entirely focused on system design at a high level. The senior IC is a full believer full agentic coding where you tell it what to build, not how. The control freak in me is twitching a little. The tester in my is reeling in my chair.

I'm curious how someone could be such a full believer after my experiences. I asked them a lot of questions to understand because they were clearly very experienced devs. How were they actually using it?

I thought it was interesting the approach was using agents to document at first. When this senior IC was picking up support stories, using the agent to document what the APIs, libraries, functions, actually did. Documenting it in to a huge markdown wiki + skills while the IC reviewed it.

The interview went well, they scheduled a second one that was supposed to be with an executive if they wanted to offer but it was the IC again. He grilled me on my thoughts on system design, on software delivery, and building robust systems. This spoke to me, it's in my handle here.