I'm a stranger to own codebase because of AI

Do you know that feeling when you first jump into a massive codebase, and you're lost?

Earlier in March this year, I met with a friend of mine over coffee, while we were talking, he asked me, "So, what do you use for agentic AI?" as if it's a given that I use such a thing, to which I replied with "None, I hand-roll all my code."

He was perplexed (pun not intended), "But... You have to. It's the only way forward, I think." I just told him that these models still don't feel smart enough, and they get in the way most of the time to be useful. Last I tried was GitHub's Copilot when it first launched, and I was not impressed.

He opened his laptop, loaded Windsurf, and opened a project he had, then started chatting with Claude Sonnet 3.5 to do some non-trivial stuff with little supervision, and I was amazed by the results, to be honest. We left it at "I'll give it a shot."

The next morning, I installed Windsurf and started my trial. I tasted honey. Ok, this thing is actually capable of doing stuff on its own, and with some guidance and a better prompt I think I can make this mostly autonomous, where I tell the model what to do and go on YouTube Shorts until it finishes.

Over the coming months, I started relying on Claude more and more, and I started acting as the senior engineer who's managing the highly capable new mid-level hire.

I started building side apps I wanted to build for a long time, just for fun, because now I can simply substitute a few Shorts for writing a prompt while the other prompt is being handled. Two projects, one YouTube is very manageable at this point.

The real test was on my favorite codebase; I have this codebase for a project that I'm passionate about, and I treated it like my baby. I'm the sole contributor, and we've been at this for a couple of years. Up until around 6 months back, it witnessed zero AI-generated code. I knew every single line in there; why it's there, why it's written like so, and why I didn't write it in another way. Looking through the codebase and the patterns within, I can definitely see a map of how "what I think is the correct way" has changed over the years.

But then I started letting AI do more and more of the work on the codebase, and no, I didn't put it on auto-pilot, I still reviewed every single line the AI has written, even re-written some parts to better fit the project, and with every feature added, the image of the whole system started to blur and the reverse onboarding started. Yes, I'm getting more done, but is it necessarily better? Since I need to look up everything before I can answer anyone why something is behaving as it is, I'm starting to incline towards No.

Now, six months later, I find myself a stranger in my own codebase. On an endless onboarding to my own codebase. And it wasn't always like this.

This is both concerning and saddening to me, honestly. It's obvious that a future without some kind of AI in the workflow isn't the way the elite will work. So I need to experiment with how much AI, and in what shape, I should incorporate it into my workflow, but that's a post for next year, maybe?

In any case, I hope you fare better, See you in the next one 🤙