When AI clicked for me
If you find this helpful, I'd appreciate your support
Initially with AI, I saw it as a productivity tool. I could shout ideas at it, and it would magically spew them out. I did this for a little while, and grew concerned about how little my brain was being activated in the whole affair. Before AI, I would sit and think about something for an hour, until it gave me a literal headache. As an ADHD brained visual learner, I’d sometimes feel the need to draw a little picture to figure out whatever the hell it was I was doing. I felt like Doctor House with his Whiteboard. But since using AI tools, I felt like, as one Twitter user described it best a ‘meat proxy’. My brain felt largely removed from the whole process, inert, like a soggy pink mass of blubber.
I started to grow concerned about ‘vibe coding’, but also couldn’t ignore the productivity shift. That was until AI generated PR’s started making me feel nervous. There were, increasingly (certainly as models got smarter), parts of PR’s that I didn’t fully understand. I could churn out PR’s, add new features, find and fix bugs I didn’t even know existed, but how well did I understand any of it?
I was also concerned about my comprehension of a codebase that was already large, and increasingly AI generated.
One afternoon it all kind of clicked. If your productivity is 100x greater with AI, then you’re destined to run whatever codebase you’re working on into the ground. Your understanding of that codebase will just entropy as more AI generated code gets merged.
Now, my productivity gain is maybe 20% greater. Why is that? Because I started interrogating everything remotely obscure that AI would generate. ‘Explain this line’, ‘why use that instead of this?’, ‘can you explain why you chose this method’, ‘can you give me examples as to how this fixes the original issue’, ‘what happens if X happens when Y?’, ‘can you give me a visual example of this?’. I started to spend almost as much time I as spent writing code before, reading and interrogating code. The amount of questions that would actually be quite annoying/embarrassing if you were to ask them to a colleague.
Instead of writing, I’m now reading, understanding, debating, interrogating. Sure, I’m not getting obscene productivity gains, but also not insignificant gains either.
Before, so much of my focus was on writing code. My attention to detail was often poor, I’d write something clever, but wouldn’t spend enough time interrogating it, or challenging my assumptions. Now, that’s almost all I do. And it’s starting to have a positive effect on my understanding of the codebases I work on. It feels like I’ve unlocked a part of my brain that had been a bit… lazy, before. And the cool thing is, comprehension and understanding were always more valuable than coming up with an idea and writing it in the first place.
So, I can now feel areas I previously struggled with, that are vital, improving because of this switch to interrogation mode. And for the first time in a long time last week, I gave myself a headache thinking about a problem again.
I also realised just how often wrong AI is, when I interrogate, instead of just assuming the machine is smarter than me anyway. I unearth some sometimes almost comically poor choices. My aim now is to eek out those poor choices, the rewarding feeling I got before from coming up with a clever solution, I now get from picking holes and finding flaws in a seemingly clever solution.
Several weeks ago, I was in something of a career existential crisis, believing AI had already replaced me in many ways. I went as far as looking up different careers (I settled on a rail signalling engineer btw). This week, I’ve come to realise that engineers who eschew vibe coding, for deeper understanding, will likely come out of this monumental shift as better engineers, not less useful ones, or ‘meat proxies’. At least for now…