Live data from Hacker News

I won't be vibe coding anymore: a noob's perspective

varunraghu.com

91–100 of 158 posts

Re: I won't be vibe coding anymore: a noob's perspective

#92

Hand coded will always win for bespoke projects (and any hard tech startup is a bespoke project). The reality is that many startups are not tech hard. AI can help alleviate the pain of engineering a v0 to see if you have product market fit much faster. It’s great for prototypes. I wouldn’t trust AI for production code without also having a strong AI counterpoint testing system. That is to say, producing code is an an…

In simple terms, AI can make developers more productive, but it takes experienced engineers to get good results. Mediocre developers are still outputting mediocre code, albeit a lot faster than they used to. If you don't have the mental model to achieve what you want, and are just following what chatpgpt spits out, you're going to get torched sooner rather than later.

Re: I won't be vibe coding anymore: a noob's perspective

#94
post #66

Earlier quoted context omitted.

> One problem I have is that AI is writing code I don't understand completely, yet I'm still responsible for it. With vibe coding, you are as much a reviewer/editor as an author, and as an editor should never accept generated code that you don't understand. Happily, the same technology that generated the code can explain the code.

No, with vibe coding you are not a reviewer an editor or an author, quoting from the source: There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. ... I "Accept All" always, I don't read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it.

Odd. How can one get the vibes without looking at the code? Like gleaming diamond vibes versus confused spaghetti vibes.

Re: I won't be vibe coding anymore: a noob's perspective

#95
This. This times a thousand.

Every problem I overcome is a lesson learned that enriches my life and makes me more valuable.

The results are nice but it's the journey and understanding that matter to me.

There's more value in having a team of people who understand the problem domain so deeply that they can create a computer system to automate the solution. When things go wrong, and they will, you have to have the understanding in order to confidently resolve the issue.

"But AI can do it!"

Sure.

But can you?

Re: I won't be vibe coding anymore: a noob's perspective

#96

One problem I have is that AI is writing code I don't understand completely, yet I'm still responsible for it. Vibe coding seems like an echo from the future.

I find that even though I have to spend time understanding what the llm wrote, it's still faster and less energy sapping than if i write the code myself.

Plus I just get the LLM to write tests for it's code and I make sure the coverage is complete.

But it does make me feel uneasy still, like a dirty little cheat.

Re: I won't be vibe coding anymore: a noob's perspective

#97
post #87

Using AI to assist in locating the right library function or similar to documentation has been effective to speed up my development, but I really dislike using it to autocomplete whole functions or large swathes of code, because then I have to spend time reading and understanding code I didn't write. This doesn't ultimately feel "faster" when I own what I write.

I’ve had good results using Claude Code by specifically coaching it on how its implementation should be. It’s not always perfect and sometimes I do have to try again, but it’s remarkably effective when given enough guidance. If only I could figure out how to reliably keep it from adding useless comments or preserving obsolete interfaces for “backward compatibility”…

I haven't used Claude Code, but I have used Windsurf, Cursor, and Continue. They all do well with their own "rules" files. I essentially understand that as something similar to a System prompt sent before a chat session. I even have pretty specific rules on styling that are unique to me, and it generally follows those.

It's also worth asking what rule it would need in order to follow the rule. On occasion, a rule I've added isn't quite followed. So I'll respond immediately pointing out what it did, that the rule is in the file, and then will ask it to tell me how I should modify, or add to, the rule in order for it to be easier to follow.

I'd imagine Claude Code has something similar that might be worth looking into.

Re: I won't be vibe coding anymore: a noob's perspective

#98
post #88

One problem I have is that AI is writing code I don't understand completely, yet I'm still responsible for it. Vibe coding seems like an echo from the future.

> code I don't understand completely, yet I'm still responsible for it. Is this different than any given library?

Considering a library is just a component of the application and not the whole application itself. And one can typically understand the inputs and outputs of a library without having to know the detailed functionally of the code behind the library. I would say yes, it is different.

But this of course can still open up potential vulnerabilities or unexpected behavior. The way I see it, there is some level of trust behind the library that it was built competently

Re: I won't be vibe coding anymore: a noob's perspective

#99

These seem to be terrible reasons to give up on using AI, although they might be valid reason to stop using AI a certain way . You can use AI in different ways, it is extremely good as documentations. Often to understand how a library works you want a specific example, getting that example and having an AI answer questions about particulars has been very valuable to me and often saved me meaningless wandering through…

"Vibe coding" is a very certain way to use LLMs (one where you treat code the same way a junior Java SWE reads generated JVM bytecode), which is what the OP is about. They agree with your point.

    There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.
    ...
    I "Accept All" always, I don't read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it.

Re: I won't be vibe coding anymore: a noob's perspective

#100
"that’s when it struck me. coding isn’t about the finished product. its a lot like writing. its about the process. its about how you approach a problem. its critical thinking."

I like this analogy, because anyone who has written and/or has a habit of writing would attest this is not (only) some ideological claim about developing skills by doing the hard work yourself.

Writing clears up the brain, a lot. It structures ideas, both on the paper and in your brain, in a way you can't structure them any other way. It leads to new ideas, makes you realize mistakes or fallacies, and somehow can make you feel less worried when writing about things that stress you out. The way you write matters too— handwriting not only _feels_ different from typing, in spite of being slower it's sometimes the better tool to write certain things. Part of writing effectively is knowing when the slowness of handwriting is actually what you need— speed isn't always better.

It's often useful and productive to write things, even if no one will ever read them again.

I think it's similar with coding, and in a way I think it's related to something that happens all too often with engineers too. There's a lot of talk about developers having side-projects that are never done, and many see this as negative thing, but I've long held on the contrary, that it is in fact a very healthy thing. Sometimes you just need to code for the sake of organizing your ideas and laying them on the screen, not because you'll sell what you write, or someone else will use it or read it. Heck, often you won't even yourself. But that's fine, often the concretizing on "paper" ideas floating in your head is itself is what you actually need.

Post reply on HN