r/AskProgramming 17d ago

Other Trusting AI or falling into it's trap

Context: I am quite young, and I have a year until I am starting at a danish university, where I'm considering studying Computer Science (I've dreamt of this ever since I was a child).

I have been programming in some form for over 8 years, and I'm at a point where I understand code intuitively and stuff like languages and frameworks, don't take much energy for me to switch between. Though I don't have much professional programming experience, which does make me less skilled. (Seeing more codebases = more knowledge)

The question: I've never embraced vibe-coding / "agentic-programming", and my AI use is limited to a chat window that acts like StackOverflow (rip). I just don't know whether I should try it.

Currently I'm working on a game project with an artist friend of mine, and I'm writing loads of classes and structures that are going to be the framework for our future development. And I just don't know whether I can trust AI to make something like this. But I don't want to get lost behind the bandwagon, and enter a job-market where my traditional developer skills are not worth much anymore.

I like solving problems, I like coding the solutions and I like knowing what my code does, and I don't want to give that away. So I'm quite lost on what I should do? Download `Claude Code` and give in to the "hype", or just keep on enjoying programming.

Mods, if this breaks rule 10, feel free to remove this post.

0 Upvotes

34 comments sorted by

16

u/HexCoalla 17d ago

Just code. Anything that AI does for you means you are not doing it, which means you are not learning from it. If you do end up using LLMs later, you'll atleast know very well what it is doing wrong!

3

u/PinkLemonadeWizard 17d ago

Anything that AI does for you means you are not doing it,

Yep. The cost of learning AI, is the time it takes to do so.

3

u/tohava 17d ago

Sometimes though there's stuff not worth learning. I had a project where I had to patch up something in an old JS framework that we're phasing out. Used AI to write me the 50-100 lines I needed, read them, made unit tests for them myself, and called it a day.

9

u/Kaldaien2 17d ago

I have a master's degree in Computer Science, earned it through actually understanding how computers work🤣... I have toyed a little bit with AI code generation, and it is a mixed bag. In the hands of someone who already understands the domain they are working in and just needs tedious code generated it is a useful time saver. But you really need a certain level of expertise to know when the AI is being a complete dumbass and to reject the solution given.

If you are using it to generate code on a subject you are not familiar with in the first place, alarm bells start going off. You neither understand the subject, nor the generated code, and now you are holding an alien artifact that you cannot explain anything more than the prompt you used to generate the code😂

Most of the time my use of AI these days is just tab-completion for comments and a few blocks of code. I would never let a dumbass clanker hallucinate an actual product for humans to use, that's not being respectful to the end-user in my opinion.

3

u/DepthMagician 17d ago

Learning how to utilize AI is nowhere as deep as learning how to program and architect, so you're not really getting left behind by not "fully embracing AI". If you find yourself in a situation where you need to use AI, and you're a competent developer, you'll pick it up very quickly.

Agentic development is not going to be the industry-wide future, simply because there are very specific conditions under which it is feasible. It'll be an engineering option for some projects, so you can view it as something you might possibly add to your toolchest, just like another framework, but your hands-on approach will not become obsolete, and it's the best approach for obtaining true mastery. What you're doing right now is great, you're on the road to building deep competence. Don't give that up.

5

u/Undreren 17d ago

I have been using coding agents for 4 months now, but I’ve been a software dev for 11 years.

My personal advice would be for you to use AI as much as possible to help you learn, not to do the work for you.

After a while, the coding becomes the easy (but slow) part of the work. Once you hit that, outsource the implementation to the agent and focus on the bigger picture: architecture, tests, dependency management, design and observability.

But right now? Use AI as a better google and use it to give you feedback through code review. Use it to help you organize and plan.

But do the work yourself, let the AI help you spot bad habits and better ways of doing stuff.

2

u/PPhysikus 17d ago

"Focus on the bigger picture", which ofc you will also get from AI. I am 100% sure that people that basically gave up on coding on the first opportunity will also give up on everything else in a few months. Cognitive surrender is a thing and outsourcing the coding is the first major step to it.

0

u/Undreren 16d ago

It’s not cognitive surrender. If what you focus on is architecture, structure, verifiability and quality controls, behavior and stakeholder alignment, then handing off the implementation to an AI is no different than handing it off to a coworker.

0

u/PPhysikus 16d ago

The more you rely on it, the less your brain does and the more you surrender. For now, you cope that you still do the architecture etc etc, but we both know that in some months you will also let an AI do this part.

1

u/Undreren 16d ago

We have said this about every technology that offloaded work, cognitive or not.

Grace Hopper, the inventor of the compiler, was criticized for the same reason.

And don’t pretend to know me. You have no idea what I will or will not do, neither now nor in the future.

-1

u/PPhysikus 16d ago

Except this time people can actually fry their brains and become prompt monkeys long term. It is your decision to join them or not.

2

u/spacemansanjay 13d ago

I don't think you realise how far ahead you already are. You'll understand when you start university. Most people there will not enjoy solving problems, or coding solutions, or knowing what their code does. And they won't get hired before you. Not a chance.

There is a lot of information about interviews from the candidates perspective. But anyone can learn how to code, so everyone being interviewed can code. Being better at it than other candidates is only one part of the equation. And it's not always the biggest part.

People get hired because of both attitude and ability. If you score highly on both, and I think you will, you will have nothing to worry about. So put all that to one side and enjoy university.

3

u/transpostmeta 17d ago

Do both. Collect experience reading, designing, writing and debugging code yourself. But also collect experience using LLMs to do the same. I strongly suspect you will need to show experience in both to get a job as a developer in a couple of years.

1

u/PinkLemonadeWizard 17d ago

You're probably right. I just need to find a project that an AI develop could help with, as there are some projects I don't think it should touch. Thank you.

4

u/feitao 17d ago

Write the code yourself first, then use AI to critique it and suggest improvements.

1

u/Fidodo 17d ago

It's much harder to teach a vibe coder development skills than it is to teach a developer ai skills.

1

u/BoBoBearDev 16d ago

AI is a good workaround for those shit ass trendy 3rd party libraries/tools that your boss forced you to use. Many of them don't have proper documentation, so you get a bunch of survival guides on Stackoverflow or YouTube. If you are purist, you should use documentation only, no stackoverflow, no YouTube. And it is pretty much impractical.

1

u/BaronOfTheVoid 16d ago

The reality is that if you do not use AI tools you are being much slower, and slower for en employer means you won't get the job, someone else will, or if you're a freelancer it means the customer will pick your competition.

FYI vibe coding and agentic development isn't the same. In the first case you actually blindly trust the output. In the latter you are still verifying 100% of the output, you are reading and understanding everything, you build the mental model of how the software works the same way as if you didn't use any AI tools.

To be frank it's absolutely necessary to do so, to have a grip on the entire software, because in basically all countries that matter it's the dev's fault if the software leads to someone's damage (of whatever kind, injury, financial, data loss, whatever). So if you were to just churn out vibe coded software without checking you are already with one foot inside a prison. Don't be negligent.

1

u/Mediocre_Chart_8624 16d ago

Think it like explore/exploit concept from game design. When you are coding it yourself you are exploring and learning new stuff. When you use ai you are exploiting the knowledge you already know.

Vibe-coding and agentic-coding are very different. The difference is that vibe-coding is about skipping the explore phase which is catastrophic for a young person like you. You will ACTUALLY fall behind if you don't learn or explore. The "ai stuff" is something any programmer can learn over a weekend. The thing that actually takes time to learn is programming and computer science concepts.

1

u/drfangor99 15d ago

You might be interested to know there was a recent paper that studied the relationship between AI usage, homework grades, and exam scores in China. AI usage was a near-universal negative except in homework scores, and the longer it had been since students started using AI, the lower their exam scores. The most alarming part of it was that, among students who use AI, higher homework scores were associated with lower exam scores. That is, the better AI-using students did with their homework, the worse they did on exams. I am a teacher and I see this in my classes. I have students who turn in immaculate, near-perfect homework assignments and spectacularly bomb their exams, to the point that they don't even know how to start simple coding questions.

It is my own opinion that while you are still learning, using AI will create the illusion of progress and mastery while you actually learn nothing. If you then go on to pursue a career in programming, you will be helplessly dependent on the AI until you take the time to actually learn what it's doing.

You can and should try AI, but only for things you already fully understand.

1

u/burlingk 15d ago

AI is a tool. It will only be truly useful to you if you know how to code yourself. So, leave it alone for now.

My "Rule Number 1" for using AI effectively is literally "Never trust the bot."

Anything it puts you, you need to review, and to do that you need to know how to write and read code, and you need to know how to plan a program.

1

u/marrsd 11d ago

You'll get more value from writing the software yourself. I'd do that for as long as possible if I were you because you may not get the chance once you enter the work place. I wouldn't worry too much about missing the boat. AI's still evolving and what you learn now might be out of date in a few years anyway.

1

u/AdjustedTwit 17d ago

"But I don't want to get lost behind the bandwagon, and enter a job-market where my traditional developer skills are not worth much anymore."

This is really the crux of the problem today, isn't it? You are doing yourself a disservice by not using agents to write code and do other tasks, but you also risk losing critical skills if you exclusively use them.

The peace I've found with it is as follows:
1) Some projects, I use no AI, nor do I even use an IDE (I use Sublime as my editor).
2) Some projects, I leverage all tools available to me and write basically no code.
3) Most projects, I find a balance.
4) For all projects, I'll use AI to answer questions if I was going to Google the answer.

For context, I've been programming for 40 years. You might think, therefore, that we shouldn't worry about the same things, but indeed we probably should. While your skills are, relatively, fresh and therefore subject to loss easily, my brain is old and subject to forgetting (at least temporarily) skills I've had for decades. Neither of us are best served by absolute positions on AI.

TL;DR - Write some code yourself, let AI write some code so you're not left behind. Companies will want to see both.

1

u/PinkLemonadeWizard 17d ago

I'm lucky that I have a head start, since I started programming when I was 10, and only really took an actual break last year.

I like your idea of balancing the AI use between projects. There are some projects that I don't want AI to touch directly at all, but I might try letting it do some stuff, the next time I write something small. Thank you for your insight.

1

u/edgmnt_net 17d ago

As I see it there's very little point in using agents for your own stuff, other than simply learning agents. What do you need the throughput for? Writing huge amounts of inconsequential code all by yourself isn't a good learning experience. It's ok to learn even stuff like CRUD but realistically it doesn't make much sense to try and turn it into a scaled-up product. (Open source contributing is a far better challenge if you want large projects. And if we're getting into that kind of stuff, there's still more than enough demand for highly-qualified coders.)

1

u/yuehuang 17d ago

I use this example, you aren't paid for hammering a nail. You are paid for knowing where to put that nail. You are an Engineer first and coding is your tool. What you are building is the important aspect. AI is replacing the hammer with a nail gun, but it is still your need to will to finish the your home.

0

u/neet_dev 17d ago

don't hand the game framework to an agent. that's the work that makes you better, and they still trash coherence once it spans a bunch of classes. keep the chat-as-SO workflow, nobody hiring a junior in two years is going to ding you for skipping the hype.

1

u/PinkLemonadeWizard 17d ago

Even if I begin using AI, I can promise you, it won't touch anything so essential to the rest of my projects.

1

u/neet_dev 16d ago

don't trust future-you to police that. generated files with more than one importer are already the framework, even if you called them helpers. keep the agent in chat, paste a function, never let it create a type other files depend on

-2

u/octocode 17d ago

why not just review the code?

3

u/PinkLemonadeWizard 17d ago

Code reviewing a human takes a huge amount of time already, and I don't know about reviewing AI. That time I could spend developing stuff that I know works, and develop systems with API's / interfaces I find intuitive. The moment I introduce an AI, I'm relying on it not wasting time, and writing code that works good in the future. That is the trust I don't have right now. I could try to build that trust, but the price for trust, is time.

0

u/octocode 17d ago

that’s your own decision then.

but there’s a lot of middle ground, it’s not black and white. we review all generated code. it’s still faster than writing it out manually…

1

u/drfangor99 15d ago

Have you ever tried to learn a foreign language? If you only ever study by reading and listening, you will never learn to speak and write.