How I Actually Use AI for Coding (Without Letting It Take Over)



How I Actually Use AI for Coding (Without Letting It Take Over)

Confession time: I used to be a total AI skeptic.

Yeah, I was that guy rolling his eyes whenever someone mentioned using AI coding tools. "Real programmers write their own code," I'd say. God, I was insufferable.

 

Then last December happened. Our team was under ridiculous deadline pressure (thanks, marketing department), and I was staring at a bizarre bug in our payment processing system. Three days of debugging had produced exactly zero progress.

At 2AM, loopy from exhaustion and with nothing to lose, I finally tried one of those AI coding assistants everybody kept talking about.

 

20 minutes later, the bug was fixed. I felt equal parts relieved, impressed, and... weirdly threatened?

 

So began my complicated relationship with AI programming tools. Here's what I've figured out over the last 5 months - without the glossy marketing hype.

The Good Parts (That Nobody Told Me About)

Nobody really warned me about how AI would change my actual day-to-day work. It wasn't the dramatic "AI takes my job" scenario I'd imagined. It was subtler.

For one thing, I'm way less reliant on Stack Overflow now. Remember those marathon SO sessions? Digging through 15 answers, half outdated, trying to find the one relevant bit of code? Yeah, don't miss those AT ALL.

 

And my god, the documentation assistance. Last week I needed to integrate with a payment API that had truly awful docs. I just asked "explain how to implement a refund with the XYZ API" and got a clearer explanation than anything in their official guides.

But the biggest surprise? Debugging help. Example from yesterday:

Me: "This React hook keeps firing twice and I can't figure out why." pastes code AI: "You're setting state inside an effect without a dependency array, creating an infinite loop."

Took like 45 seconds for what might have been hours of frustration.

The Bad Parts (That Are Actually Terrible)

OK so there's definitely a dark side to this whole AI coding thing.

 

First off - the hallucinations. Holy crap, the HALLUCINATIONS. Last month the AI confidently told me to use a function that straight-up doesn't exist in the library I was using. I wasted an hour before I realized the AI had just... made it up? Fun times.

Then there's the plagiarism risk. I once asked for help with a data visualization and later discovered the code it gave me was nearly identical to an example in a GitHub repo. No attribution, nothing. Not cool.

But my biggest issue is how it's affected some of my junior colleagues. One dev (not naming names) has started throwing EVERY problem at AI without trying to understand the solutions. His debugging skills are actually getting worse, not better.

Weird Things I've Learned About Working With AI

Through a lot of trial and error, I've discovered some strange things about the AI-human coding relationship:

Being super specific makes a HUGE difference. "Fix this code" gets garbage. "This Angular component isn't updating when the parent prop changes. Here's the component code and the parent code. What's wrong?" gets gold.

These tools are freakishly good at explaining other people's code. When I inherited a gnarly codebase with zero documentation last month, I started pasting confusing sections with "explain what this does" and it saved my sanity.

They're TERRIBLE at understanding your whole system architecture. I've learned to never, ever ask for help with anything that requires understanding how multiple parts of our system interact. The results are always disastrous.

You can actually argue with them? This blew my mind, but when the AI suggests something that wouldn't work in our environment, I've found pushing back with "That won't work because X" usually results in much better suggestions.

 

My Current Setup

 

After months of experimenting, here's my actual workflow:

 

I write the initial code structure and architecture decisions myself

For tedious/repetitive coding tasks (like writing tests or data validation functions), I'll use AI to generate a first draft, then heavily edit

When debugging, I'll spend at least 15 minutes trying to solve it myself before asking AI

For learning new tech, I'll read the official docs first, then ask AI specific questions about parts I don't understand

I've found this balance keeps me from getting lazy while still leveraging the speed advantages.

A Real Example From This Week

Rather than speaking in generalities, here's an actual conversation I had with my AI assistant on Tuesday:

Me: I need to create a function that takes an array of user objects and returns an object where the keys are user IDs and the values are the user objects.

AI: gives perfect solution

Me: Great, but our user objects might have null IDs sometimes. How should I handle that?

AI: suggests putting those in a special "unknown" key

Me: Actually we should just filter those out completely.

AI: gives updated solution that filters first

 

Saved me probably 10 minutes of coding time?

Not exactly earth-shaking, but little bits of timesavings like those do add up.

 

Does This Make Me A Worse Developer?

 

This is the one that's kept me lying awake at nights ever since I've been working with these kinds of tools.

After 5 months, here's what I've decided: it can get you worse if you use it poorly, but it can improve you if used well.

The secret appears to be keeping a critical eye. I never put anything into practice without knowing what it does. Occasionally that involves having the AI detail its solution line by line.

I also ensure that I continually challenge myself. At least weekly, I work on a difficult problem entirely alone, no AI help. It's like doing exercises for my coding muscles.

And in all seriousness? Some of the most valuable uses aren't even coding-related - they're coding comprehension. Having something that can explain a deeply complicated regex in an instant or walk you through a convoluted promise chain is truly instructive.

 

So. Are We All Doomed?

 

My friend Mark is certain he'll be out of a job in a year due to AI. I believe he is utterly wrong.

These tools are fantastic at assisting with the HOW of programming, but they have no idea about the WHY. They're unaware of business requirements, user needs, or system constraints unless you make it explicit.

And they sure can't deal with the human aspects of development - negotiating feature set, dealing with ambiguous client requests, or making trade-off choices between performance and maintainability.

If anything, I believe this moves programming more in the direction of those higher-level skills and less towards memorizing algorithms or syntax.

Anyway, that's my cluttered, complex relationship with AI coding tools after 5 months of daily use. Not the techno-utopia the hype promised, not the job apocalypse the fearmongers predicted. Just another tool that's incredibly useful at times and frustratingly constrained at others.

Has yours been otherwise? Leave a comment - particularly if you're doing work in fields such as mobile dev or data science. I'm interested to know how these tools fare in other fields.

Kashif Imtiaz

P.S. My manager just walked by and noticed me typing away. "Another blog post? Don't you have some code to write?" YES KAREN, I'M COMING TO IT. Just let me drink this coffee first, geez.

kashif Imtiaz

kashif Imtiaz

Hello, my name is Kashif Imtiaz, and I am 30 years old, Pakistani. I share my thoughts, experience, and know-how regarding the issues that matter to me as well as to my readers. Blogging isn't a recreational activity it's how I connect with others and leave a good impression through writing.

Comments

No comments yet. Be the first to comment!

Leave a Comment