My AI Compromise
I was an early adopter of GitHub Copilot and quickly switched over to Supermaven when I discovered how much better it was at autocomplete. Now that I’ve been using Cursor for the past year at work, I thought it might be a good time to reflect on how I’ve integrated Gen-AI into my workflow and what I’ve been doing to keep my skills sharp.
The Good Parts
It still amazes my how good Cursor is at predicting my next move, it seems like it’s always one step ahead. Like when I use a new component, it knows the next thing I’d want to do is import it and then drill props into it based on what’s around. This honestly saves me so much time and makes a tonne of sense to use.
I’ve also been able to explore new languages and areas of the codebase I’d previously have no business poking around in. For example, I recently relied heavily on Cursor to do some native swift programming when implementing a complicated Apple extension. I don’t think I would’ve been able to do this so quickly in the past without having something to quickly generate code at my disposal.
The Bad Parts
Unfortunately, I think there’s a core problem with the interaction modes (chat, agents) that everyone seems to be pushing these days. I feel like it doesn’t fit into my mental model of how I use Gen-AI at all. When I use autocomplete, I know exactly what I’d like the output to be and the code generation is simply augmenting my typing speed. Conversely, when I’m using Gen-AI to accomplish a task that I don’t understand, I have no clue what skill / agent / thing to write or generate for the model because I don’t know how to do the task!
I can also feel my ability and motivation to write code steadily dropping with overuse of Gen-AI. I don’t know if this is a good or bad thing but it feels exactly like what happened to my other hobbies when I fell into the short form video rabbit hole. Suddenly, I didn’t “have the time” to read a novel or a blog post because I could consume information so much faster (and get a tonne of dopamine) watching a few shorts.
My Compromise
I’m glad I took the time to reflect on how I’ve been using Gen-AI and what I’d like to change going forwards. I’ll continue relying heavily on tab completions at work through Cursor as I believe this gives me an edge to crunch through work while having complete control over my output.
At home though, I’ve decided not to use Gen-AI at all, no tab completions, no chat, no agents, nothing. I still want to have programming as a fun hobby and actually learn new things while working on my side projects. If I do ever use Gen-AI, it’ll be to do something tedious like generating data or being a rubber duck when I get stuck.