Knowing when to use AI is key.

I recently tweeted about turning off autocomplete in my editor, which felt like cutting off a safety net. Surprisingly, it resulted in a productivity boost. While this might suggest that AI was holding me back, that’s not the whole story. AI produced a lot of output, but as we all know, quantity doesn’t always equal quality. After the AI generated code, I often had to clean it up for everything to work, which left me less confident that I had created the optimal solution. As someone who got into coding for the craft, it gave me sleepless nights. However, with autocomplete gone, I got back to my usual cadence, with one major variation where AI proved invaluable: refactoring!

When it comes to ensuring code is well-organized, I’d encourage mid- and junior-level developers to tap into AI’s ability to make sure code is well-written and structured. But don’t stop there—ask AI to explain the reasoning behind its decisions so you can understand why certain approaches are better than others. Push back if something doesn’t make sense because, at the end of the day, you have more context about the environment than AI can have.

Learned helplessness

During my exploration of AI, I feared that I might fall out of love with coding, even though it seemed to be creating value. It was a paradox I didn’t foresee, but it hit me: while I could add the finishing touches to something AI had created, who had actually made it? As my prompting improved and resulted in fewer keystrokes, I felt a sense of loss and helplessness.

Usually, when creating a solution, I’m used to sketching ideas, researching potential blind spots, edge cases, and design patterns. This process creates a feeling of ownership. With AI doing much of this for me, I started to feel less needed in the process, and instead of gaining intrinsic satisfaction, I felt like an observer. I eventually realized that, if not used carefully, overreliance on AI can lead to learned helplessness.

Closing Arguments

I’m not opposed to AI. Far from it—AI is an incredibly powerful tool that has undeniably transformed the way I approach coding and problem-solving. However, like any tool, it requires thoughtful, deliberate use. It’s not about blindly trusting AI to do all the work, but about actively collaborating with it.

By maintaining a balance—leveraging AI for what it excels at while staying engaged and critical where it falls short—we can harness its potential without losing the joy, ownership, and creativity that make coding so fulfilling.