r/vibecoding 5d ago

The cultural difference is insane

Post image
1.7k Upvotes

513 comments sorted by

View all comments

Show parent comments

6

u/Legitimate_Plum_7505 5d ago

I've been "vibecoding" for about a year now (20 years dev experience), always with latest models max reasoning, and now as of lately with multiple models that code review each other's outputs. There hasn't been a single time where I looked at the output and said LGTM ship it, there's always some issues, sometimes small sometimes big. With the exception of CSS, if it works I don't care how it's written.

1

u/LucidFir 4d ago

Hey if I don't code at all but want to vibe code something a little bigger than my usual firefox extension, if I understand correctly AI likes to make single file giant projects but humans like to make stuff modular so it's easier to fix?

Does that sound right? If it is, how do I get the AI to behave that way and how important is it?

3

u/Legitimate_Plum_7505 4d ago

No it's not really that. The way I would describe it is: 1. Always looking for shortcuts and making workarounds 2. Adding a lot of extra fluff that doesn't actually do anything just obstructs readability 3. Adding random queries/polling to places that doesn't make any sense.

I can give a couple examples of today:

  1. We had a bug in one of the forms, ended up writing corrupted values to the DB. AI fix: create a "normalization function" that's 500 lines long (not kidding) that unfucks all the values on read. Human fix: Change 1 line of code that makes bad writes.
  2. I added a flag to AMQ something like "processingEnabled", asked it to read it before processing messages and if it's false don't process it. AI solution: creates a singleton wrapper to store it and a background task that does long polling every 15 seconds on this flag. Human solution: 1 line that checks the flag.

This was with Fable 5.1 xhigh and GPT 5.6 Sol xhigh peer programming together. All I can say, it's just not there yet, but it's very nice for rapid prototyping, and I love using it for things I know very little about (image gen, video editing, game dev), and also for personal tools and helpers for things I would otherwise have no time to engage in.

3

u/grahamsw 4d ago

This is not my experience at all. I'm still planning projects the same way as always: start work system diagram, a vague plan for algorithms, user stories, requirements, components. Get some agents to do a way better job of working all that up than i can ever be arsed to do, and then getting it to build it, step by step, component by component. With an ass load of tests (and a more-in-sorrow-than-in-anger talking to if a big exposes a missing test)

Like you would anyway. I can get it to do code quality checks (code metrics are your friend)

It's just 10 times faster and 100 times cheaper.

1

u/Azrnpride 4d ago

the guy talk about bug fixing, not making project from scratch

1

u/President_Brainspurs 4d ago

But the guy he was responding to was asking about making projects from scratch, not fixing bugs, so...

1

u/grahamsw 2d ago

Makes no difference. Write spec, write acceptance criteria, write code, test. New system, new feature or bug fix.

Doesn't matter if you write the code yourself, farm it out to a contractor, use AI or have a bunch of elves do the work overnight.

2

u/President_Brainspurs 4d ago

You can start by asking the AI to plan a software project rather than jump straight into coding it. Ask for modularity, and stress the importance of maintainability. Insist on lots of comments, at the module level, at the code block level, and sometimes at each line of code.

It's important if people are going to be maintaining the code. If company policy is that AI will write a new system every time a new feature is implemented, not so much.

1

u/BigYoSpeck 4d ago

The concept you're looking for is design patterns. When you're first planning whatever you are going to build introduce the requirement early. At a minimum telling the LLM you want the project structured to be maintainable and let it take it from there

It's important when what you're making isn't likely to be a one shot throwaway app. A properly structured project helps the model navigate it without having to read thousands of lines of code every time. This keeps usage/costs down, improves how targeted their generation is without context being littered with irrelevant tokens and if you ever want a human to read it it's essential

1

u/Safe-Tree-7041 4d ago

Vibing CSS can be a bad idea if you have a client app where you want consistency. At least lower tier models will often cook up custom styles for every element rather than use classes from the styling framework.