AI and Coding: The Performance-Enhancing Drug of Software Development?
It's almost the middle of 2025 and the generative AI revolution (or hype cycle) continues. We're all trying to get our bearings here. A lot of promises have been made, many have yet to materialize, and while the technology feels powerful, we're still trying to figure out what it's good for.
One area it excels in is coding tasks, which raises a lot of questions for professional software developers like myself. Even more questions if you are a junior developer just trying to get established and differentiate yourself for limited roles. AI can feel like a shortcut to success, but over-reliance comes at a cost. I wonder sometimes whether these intellectual tasks aren't always meant to go fast. There are benefits to working slowly and methodically.
The tradeoffs (faster growth with some long-term sacrifice) remind me of something else that is becoming more normalized: performance enhancing drugs.
I am not a bodybuilder, nor do I have any dreams to become one. But I've become more familiar with the subculture in my fitness journey. Most people will tell you that performance enhancing drugs are not for everyone, and even if you think you want to go down that path, one thing is understood: you have to earn the right to use steroids.
You can't start planning your first cycle after only a month of Crossfit. Despite your newbie enthusiasm, you're more likely to do more damage, and you have tons of growth ahead of you by training naturally. Once you have committed years of your life to the practice, and once you fully understand the tradeoffs, then you can consider some drug enhancement under medical supervision.
While the comparison to AI is a bit of a stretch, it likewise comes with opportunity costs. The speed robs young developers of the chance to learn the technology more deeply. And blindly accepting the AI answers with an uncritical eye can introduce deep problems down the line.
I am here to fully collaborate with AI. To be the one driving, and to be augmented by the algorithms. Some specific wins I've greatly appreciated in the past year, and I think can benefit engineers at every level:
- Understanding TypeScript errors
- Generating unit tests for small functions
- Optimizing small functions
- "Explain this code." Sometimes code needs to be documented but isn't. If it lives in an open context, AI can do a good job summarizing what it is for.
- "Write or explain this regex." Regex is for machines, not for humans.
I'm also reminded of another anecdote about an earlier AI victory: the story of artificial intelligence winning at chess. For most of human history, humans were unbeatable at chess. Then along came a machine learning algorithm that could beat the best humans, and people thought it was the end of the game. But then we found what beats a single AI is a human (or humans) collaborating with AI. The AI can suggest multiple moves, and experienced humans can use their real-world judgment to plot the best path forward.