Skip to main content
  1. Posts/

How I Use AI

·3 mins
definitepotato
Author
definitepotato
Code slinger, golang, ziglang, grokking life, tabletop games enthusiast, obsession with keebs and numbers.

Initially, I resisted. How could I send someone else to the gym and expect myself to improve? What about the little wins that give me the dopamine I need when I finally figure out that problem? What if I lose my ability to troubleshoot, spot bugs, or follow code? I should know how the thing I’m building works. If the thing I’m building breaks and AI doesn’t have a solution, what then? What if the AI is offline?

Then I questioned the limitations of the system. The trained models that can change at any moment, the context bloat and the token count.

There came a point where I had to stop asking and go prodding. I needed to understand it for myself and using it helped add perspective. What AI is doing for me today is not replacing my job or making me a less critical thinker, not the way I use it. It’s making me more productive in some ways, but there is a cost and I still turn it off time-to-time.

First, I don’t simply accept what AI suggests. I constantly analyze and strengthen responses. I use AI to accelerate implementations that are well-known but apply my years of hard-won engineering wisdom and expertise to keep the code at large maintainable and secure. In my experience AI is useful for:

  • Rapidly prototyping ideas
  • Isolated, well-defined tasks
  • Generating basic well-known implementations
  • Automating routine coding tasks and chores
  • Documentation writing (this is my favorite use-case)

What I’m learning is AI helps experienced developers more than beginners. If you’re learning how to program you could use it as a learning tool to help build up foundational knowledge, but deploying code without understanding the impact on close or distant systems that interface with the code you’re submitting is naive and potentially dangerous. Letting AI run wild is fine if you’re building a soap box cart in your basement or learning. If you’re building a rocket to send astronauts into space you better know damn well how those systems work. I don’t build space rockets or products that directly affect human life, so I calmed down a lot on resisting.

The fact is letting AI run like the eager developer it is, does deprive you from developing debugging skills, learning fundamental patterns and reasoning about architectural decisions. As your code and system grows in complexity you end up struggling to maintain and evolve the code or even understand how the product works. You need to use your own judgement and analysis when making a call that this is okay, and remember the words of Ice Cube, “chickity-check yo’ self before you wreck yo’ self.”

Use AI to accelerate, not replace, your judgement. Question generated code and maintain your engineering standards.

Related