DEV Community

Cover image for Where's the line between programming and using AI?
snikmas
snikmas

Posted on

Where's the line between programming and using AI?

Backstory

I've known about vibe-coding for a long time, but I didn't really get what it actually was. Before, I thought it was just writing your code and asking AI to write some parts for you (like: go to browser → ask → it gives you code → done). Or ask Cursor. Yeah, I thought it worked like that.

I also thought that when you learn new stuff (new stack, new language), best practice is doing everything on your own.

For example: when I learned Java, Python, Spring—I could ask LLMs how this thing works, how that works, but I rarely asked them to write code for me. I also turned off auto-completion in PyCharm/IntelliJ, disabled Copilot, all of it.

And then I was surprised that nowadays... almost nobody does this (or so I think). I have one friend who's genuinely one of the smartest guys I know (like really smart). He started a startup. He was shocked when I told him about my setup—especially turning off auto-completion.

He told me nowadays he barely codes; most of the time AI codes for him. The only thing: he understands what it does. He could write it himself if needed. He was trying to hire interns and got angry: "nowadays most guys can vibe-code, but don't understand what is actually happening."

True


The problem:

So I've been thinking. What am I supposed to code myself? What should I leave to AI?

Because here's the thing—I can learn to write something myself. Really understand it. But an LLM can write it faster. Probably better. So what's left for me—just debugging LLM output?

But if I'm not writing code, I'm not practicing. I'm not getting better at it. Like: you write every day → more experience → new ideas come. Like a muscle. But if you give this to AI... what happens?

And I'm a CS student with no real experience. I don't know what the rules are anymore. What should I actually be able to do myself? Are there things I don't need to understand deeply anymore?

Before, I thought the answer was simple: be able to write everything yourself. But now guys are just vibe-coding and shipping faster.


My current situation:

I'm working on portfolio projects right now. Never built this type before—lots of steps, 70% I've never learned. Asked AI for a roadmap (steps, what to learn).

Currently I just finished reading about the requests library in Python. It's really easy; I think there's no problem asking AI to write it for me. But I want to try at least once on my own, for practice—to actually check if I understand it or just think I understand it.

Because that's another thing: you can read docs and feel like you get it, but until you write it yourself, you don't know for sure.

So I put a temporary rule for using LLMs:

  1. Read the docs first
  2. Try to code as much as you can yourself If you're stuck: ask the LLM for a hint or a template, not ready-to-use code. Or, if you really understand the problem—give it all the details, describe the whole process so it can write code that you could have written yourself

It's probably not the best approach. Just something I came up with because I don't know what else to do.

Puzzled


So...

Thanks for reading this mess of thoughts!
How are you guys handling this? What do you code yourself, and what do you give to AI?

Top comments (0)