HN.zip

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

96 points by Varun08 - 54 comments
sam-cop-vimes [3 hidden]5 mins ago
If one compares software produced by AI with software developed by a "remote team", from the rest of the org's point of view it is the same. It has to go through a QA process and then made available in prod. The real issues start when obscure errors start to happen or there is an outage and suddenly no one knows how to fix it.

For this reason, for a long time to come, AI tools will be an assistant to dev teams who will still have responsibility for fixing issues when the brown stuff hits the fan. To shoulder that responsibility effectively, they will need to have a good understanding of the produced code.

So yes, vibe coding is here to stay but it will not replace software dev teams anytime soon. Dev teams might shrink initially because orgs will think they can save money. The trend will reverse quickly after a few major outages.

captainkrtek [3 hidden]5 mins ago
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.
magicink81 [3 hidden]5 mins ago
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.

foo_barrio [3 hidden]5 mins ago
This has been the majority of my professional coding experience since the 90's ::shrug::. Having to take ownership of some Java Spring application felt a lot like stepping through an assembly program or some random ROM. Each line of code just returns values and modifies a bunch of other stuff at the same time and you slowly build up a mental model of what it's doing and what it's trying to do!
pacomerh [3 hidden]5 mins ago
The way I approach is, I try to design or solve the issue first to the best of my ability, then I let the LLM give me its solution. Compare and take whatever is useful. I know this is not the most effective way, but it's the way I feel like I'm still thinking and not becoming super dependent.
asdsadasdasd123 [3 hidden]5 mins ago
i've learned a ton from ai suggestions, but right now its like 5-10% of suggestions. If that number was any higher i might not have the motivation to open the black box
CharlesW [3 hidden]5 mins ago
> 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.

blackhaj7 [3 hidden]5 mins ago
That font has reminded me that “aesthetically pleasing” and “readable” are two very different things
billy99k [3 hidden]5 mins ago
"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."

From a business perspective, they don't care about this. They just want it built as inexpensively as possible in a reasonable time frame.

Vibe coding is here to stay.

isoprophlex [3 hidden]5 mins ago
Vibe coding is a death trap for juniors just starting out, as it kills critical thinking and understanding what a computer is. And a guaranteed paycheck for people with the experience to clean up the resulting messes. I hope...
caseyy [3 hidden]5 mins ago
Vibe coding is what I’m selfishly expecting to take out many projects and keep my principal level swe skills in demand. Someone will have to mop all the vibes up when it’s time to deliver products.
BayArea925 [3 hidden]5 mins ago
Coding will not be done by juniors anymore. We are quickly progressing to humans no longer needing to learn machine langauage (syntax) and computers better developing code by interpreting human languages (english).

Teams will be led by one subject matter expert, and fulfilled by thousands of agents. I would not be advising anyone under 21 to become a "coder". Studying computer sceince still has value, but coding was the lowest hanging fruit for LLMs.

Once we can do LLM code reviews with high confidence and little error, coding is essentially a dead field.

The closer you are to atoms and further the way you are from bits, the better off you will be in the coming two decades as AI progresses

pests [3 hidden]5 mins ago
Same promise all the no-code or low-code app builders claim. Anyone who has done a serious project with LLM help knows it is no where near able to do half the things needed to run a project.
trollied [3 hidden]5 mins ago
Thanks for the laugh!
hooverd [3 hidden]5 mins ago
God, software is about to get so much worse, isn't it.
bloppe [3 hidden]5 mins ago
Software isn't just built. It has to be maintained over time.

A long, unplanned outage is much more destructive to a brand than a delayed release. Vibe coding prioritizes the latter at the expense of the former.

alabastervlog [3 hidden]5 mins ago
> Vibe coding is here to stay.

I agree, and it's why I'm not worried about running out of paying work as I head into the latter half of my career.

uludag [3 hidden]5 mins ago
> Vibe coding is here to stay.

I would say this is true in the same way that copy-paste coding functioned and that vibe coding isn't fundamentally different. It can be a useful approach to a variety of problems.

Having capable, knowledgable, and skilled employees is important to businesses though. If your business is something easily approachable then you are at risk of being outcompeted from companies with more skilled employees. There are truly hellscapes of codebases out there without the glimmer of hope of being worked on with vibe coding alone. On top of that, I'm getting the feeling that vibe coding is a sure way to hellscape your own codebase. Nothing can take the place of critical thinking.

amarant [3 hidden]5 mins ago
I'm not convinced the two are necessarily mutually exclusive. Surely a skilled developer could make use of AI to produce stuff faster, while still understanding everything and making sure the code is well written (well generated?)

Haven't really tried vibe coding myself yet, but I'm tempted to give it a go. I imagine stuff like integrating external API's could be really handy, looking through external documentation and creating the correct calls to the correct endpoints is always a huge timesink. Seems like AI should be able to make short work of such tasks

rowanseymour [3 hidden]5 mins ago
Yes there are businesses (game companies?) which just want to get a thing out the door, sell it, and move on to the next thing. But I don't think that's how most software businesses function. Usually software is iterated on and maintained, and you've got a problem if nobody has invested time in understanding how that software actually works.
esalman [3 hidden]5 mins ago
What is coding without critical thinking?

I never vibe coded, and I don't understand this trend AT ALL.

I read how copilot and such are detrimental to critical thinking, and I am even consciously scaling back on copilot use now whenever possible, and prioritizing Google search, reading documentation, blog posts and stackoverflow now.

pliuchkin [3 hidden]5 mins ago
"I am even consciously scaling back on copilot use now whenever possible, and prioritizing Google search, reading documentation, blog posts and stackoverflow now."

Very soon we will run out of human written articles.

lcnPylGDnU4H9OF [3 hidden]5 mins ago
This implies that humans will stop writing such articles, which won't happen. It may be more difficult to find them but some sites will likely cater specifically to this so you know you can just search for that site.
rocqua [3 hidden]5 mins ago
Vibe coding hasn't really hampered my critical thinking. It just means I get ideas into practice faster, and it means that for new concepts I can get to itterating much faster.

Perhaps I have the concept wrong, because half the time I'm still editing code by hand.

colechristensen [3 hidden]5 mins ago
Every time I've tried to get LLMs to create something they quickly get to the point where they fail miserably. It can do boilerplate, it can do straightforward things which have been done a billion times, it can come up with 50 ideas 10 of which are decent and not obvious... but it can't go beyond a certain complexity, it can't use mildly obscure libraries, it can't get major versions of libraries straight, it invents API calls that don't exist.

One of the biggest wastes of human talent is corporations hiring people to solve the same problems over and over and over. Every company has to reinvent so many wheels for themselves because sharing code between for profit companies just isn't done outside of the occasional breaking a whole project off into an open source project. This is what LLMs are good at, the very repetitive boilerplate connecting the dots and doing obvious things. Companies are going to have to retool themselves to only really be doing "the hard part", and the rest left to LLMs. In the same way languages will have to change to accommodate the hard part and the easy part.

barrell [3 hidden]5 mins ago
Just coupled with that quote, that’s like saying publishers don’t care about the writing process, they just care about whether the book sells.

Which yeah, of course, that their job. It’s the authors job to write a good book. The publisher needing to sell books doesn’t contradict or supercede the authors need to write well or develop their process.

boredemployee [3 hidden]5 mins ago
As I’ve been saying, many companies already expect you to use an LLM to speed up coding. Tasks now can be shipped in hours, not days or weeks.
cosmotic [3 hidden]5 mins ago
I can't remember the last time I had a "reasonable time frame" to build something for a business.
barrenko [3 hidden]5 mins ago
I'm pretty sure the author will continue to vibe code as well, but a decent blog entry in a decent blog none the less.
whateveracct [3 hidden]5 mins ago
"stay" - we'll see how this vibe codes lives and breathes for years
ToucanLoucan [3 hidden]5 mins ago
> From a business perspective, they don't care about this.

Makes sense. Many businesses lately are churning out awful software that barely functions. Maybe if they were willing to support proper engineering that would be less of an issue.

josephwegner [3 hidden]5 mins ago
> coding isn’t about the finished product. its a lot like writing

This doesn't seem applicable in most contexts. Yes, when I'm coding for fun or purely for learning the finished product is less relevant... but I'd guess the vast majority of code that is written is for a business that _only_ cares about the product. Code is an implementation detail.

If (and this is a _big_ if) AI-based coding can increase developer velocity even as little as 50%, no sane business is going to let their engineers ignore it just because it's not as fun as artisanal code.

Sayrus [3 hidden]5 mins ago
> even as little as 50%

Depending on how you measure that velocity (e.g. including security risks, debugging capabilities, ...) even as little as 5% increase is a no brainer for a business. Whether it's AI, powerful laptops, a fully-fledged IDE, an environment with a good dev experience, anything that gives a few percent increase snowballs into millions over an entire workforce.

Whether the current AI capabilities provide that increase without trade-offs that would be too heavy later one is a question that still seems up to debate.

doubleorseven [3 hidden]5 mins ago
I was programming 14 years without LLM so I'm not sure I can relate, but -

Agents got really good lately in explaining what they did, which makes it easier to skim over the "boilerplate" and focus on the main event it produced.

Also I got really good with agents since I spend half of my day talking in my head to an agent and focusing on how to build my prompt and what questions and areas I want it to ask me about before I set it free.

It's not really vibe coding but actuall vibe coding never worked for me, it usually get stuck in a loop of "let me fix a linter issue" and "i didn't implemented this interface correctly".

Havoc [3 hidden]5 mins ago
There is definitely space for a happy medium. Asking AI for individual functions and assembling them like lego blocks allows for a higher level of control and agency while still accelerating things a bit
aylmao [3 hidden]5 mins ago
+1. Software developers has long leveraged "someone else" writing code for their projects— be that "someone else" another human, via libraries, platforms, frameworks, etc. Or a computer, using codegen tools, compilers, etc. Sometimes it's to save tediousness, sometimes to save time, sometimes to leverage better code than one could've written.

I think AI is best when used in this same way of thinking— not a tool that should handle all the coding for you, but as a very powerful codegen tool that you can leverage in many parts of your project.

1970-01-01 [3 hidden]5 mins ago
>had built a few useful apps with ai, but a nagging question kept me awake - what was the point of it all if i didn’t learn a thing?

His point is juxtaposed with a mid-sentence break, but it is non-contradictory. This thought confounds me greatly.

chrisco255 [3 hidden]5 mins ago
Independent of the opinion expressed, I dig the minimalistic, typewriter-style blog format demonstrated here.
darknavi [3 hidden]5 mins ago
I don't dislike it but I don't love the lack of capitalization. Not really sure why that trend is on the uptick.
sph [3 hidden]5 mins ago
Zoomers that write in lowercase because it's more "chill"; go figure. It's a pretty reliable indicator that you're talking to someone < 25 years old.
alganet [3 hidden]5 mins ago
What is vibe coding anyway?

A new and improved version of old RAD (rapid application development)?

Can we apply something from the decades of debate regarding RAD to the new undefined thing? I don't know, someone told me undefined values are hard to deal with.

alganet [3 hidden]5 mins ago
Can you use text in clear prose, please?
bitwize [3 hidden]5 mins ago
When you're just starting out, especially if you're young, programming feels like it's about the journey more than the destination. You can feel yourself growing and learning, and it's incredibly addicting because you feel like nothing's out of reach.

But in the business world, what matters is that you ship something that works, and pleases the customer, on time and under budget. If you're selling software, time to market is a critical constraint. And after your umpteenth slog through some wretched legacy code base, the feeling of achieving wizardly power begins to fade. Programming becomes another clerical job, and really, you don't care much about producing a lovingly handcrafted solution, you just want to get it out there and collect your pay so you can pay your mortgage and keep supporting your wife and kids. At the end of the day, that's what it's all about. AI lets you get stuff out there faster. Therefore it makes sense from a business perspective.

ilrwbwrkhv [3 hidden]5 mins ago
Yeah, this makes me feel so sad because as somebody who's been a programmer for about 15 years now, there is definitely an advantage that we have because we actually know how to code.

I feel really sad for those who are starting out today. In many cases, especially for frontend programming, vibe coding correctly has a lot of value but it does makes you not learn anything.

Which means you remain at what I call the "vibe plateau".

One useful technique I've been telling my mentees to learn programming is to use a language where you are forced to not be able to use vibe coding such as Haskell or Rust.

But if you are in mediocre Javascript or Python land, it is a hard fight for the younger ones.

joshstrange [3 hidden]5 mins ago
"Vibe Coding" is just simply not sustainable. I've yet to see any tool that can make edit after edit after edit to the core code base without making mistakes unless a developer is watching carefully.

LLMs are amazing tools and I do use them for writing code, refactoring code, etc. but I would never prompt engineer only. My use of LLMs often is a mix of jumping between Aider and writing code myself when Aider doesn't doesn't understand what I want, or what I want is a big refactor, which LLMs are not good at because it's too easy for them to make mistakes when writing huge blocks of code, like syntax errors and the like.

For a human moving a function or even indenting a block (to wrap in an if/try/catch/etc) is child's play. To an LLM? Yeah, it can easily make stupid mistakes (linting aside, I'm talking syntax errors) when doing that. Also, what a waste. We really should have MCP-type tools of "Wrap the code on lines X-Y" in a try/catch, since the logic for that is stupid-easy but for an LLM the only way to accomplish it is a massive Find/Replace block. The bigger the block of code that the LLM writes in 1-shot, the higher the chance it messes stuff up (or at least that's my experience).

I expect this situation to improve over time as as more coding assistant tools learn how to use things like linting, running a test build, running tests, etc. And yes, I know some already do that, I've just not been super impressed with their ability to do that so far. Despite clear instructions I've had both Claude Code and Aider run the wrong `npm run test:xxxx` command (the watch command instead of the ci version) and I then I have intervene. Even when they run the right command, it's still to easy for an LLM to get off in the weeds or far down a path you don't want.

The trick with LLMs is "commit often", I don't code that way myself, I'm more of a "one commit a the end"-type of guy (yes, I know you can squash) but I've changed that with LLMs since it gives you "save" points when the LLM goes off track. Often a bad/failed edit can completely derail the progress and a human _must_ intervene, reset to the last good state, and start over again. If you aren't committing regularly (after every couple exchanges or so) then you can have a mess on your hands:

Commit - Feature - Feature - Feature - Disaster

If you do this you have to pick apart the disaster by hand or give up on the 3 features/bug fixes, improvements, etc since your last commit.

Aider does a very nice job of this by default. I was opposed it when I first started using it but it's invaluable.

While I enjoy learning about coding, coding is not about the journey for me, it's about about the destination. And I gladly use Aider to pump out UI that would take me hours if I was capable of doing it at all, so that I can keep moving towards my destination. BUT, if you don't understand the code that's being written then you've already lost. I understand grid/flexbox but I'm just very slow at it. LLMs can pump out a UI (or 5-10 iterations of a UI) in practically no time at all, I can edit styles, I'm just slow at writing them from scratch. This is where LLMs shine IMHO, trying out things that would take longer or not have the ROI to do yourself.

"Hey our settings screen is a little cluttered, can we clean it up?" has a _very_ different answer if you can test 5 iterations and pick the best one in <1hr vs spending 2-3+ hours doing it from scratch. The amount of UI I have written has skyrocketed since LLMs came out. And, not unlike Electron, the options were not "LLM UI" or "Bad UI", the options before this were often "LLM UI" or "No UI" (CLI or developer-only focused UI pages).

joseppu [3 hidden]5 mins ago
nice poem. this is why we should push jobs to AI and create art ourselves.
spiderice [3 hidden]5 mins ago
To each their own, of course. But

> what was the point of it all if i didn’t learn a thing?

Money. Freedom. Supporting a family. Doing things faster. Keeping up with changing times. etc..

There are a ton of different answers, and it depends on your goals.

> coding isn’t about the finished product

Again, to each their own.

prophesi [3 hidden]5 mins ago
> what was the point of it all if i didn’t learn a thing?

As a senior software engineer, AI still surprises me with concepts I didn't know about from time to time. I think spending the time to grok the code it generates is about as invaluable as the code's functionality.

As in the past, however, nothing's stopping people from copy-pasting code found online and never improving their internal toolkit. AI will not only uphold that status quo, but amplify it exponentially.

ToucanLoucan [3 hidden]5 mins ago
> As a senior software engineer, AI still surprises me with concepts I didn't know about from time to time.

Example?

oriolid [3 hidden]5 mins ago
How much did you get paid for this comment? And if not, why was it worth writing?
bigstrat2003 [3 hidden]5 mins ago
OP didn't say money is the only reason things are worth doing, he said that things can be worth doing solely for money. There's a big difference between the two.
oriolid [3 hidden]5 mins ago
To each their own.
zkmon [3 hidden]5 mins ago
Ofcourse, you will be. Remember how people said I will not be using smart phone? Yeah they do use smart phone now. Actually, it is not your choice. Where I work, it is a mandate to use coding assistant. Just like how people were asked to use spreadsheet software instead of good old calculators and ledger books.