It takes 10 to 20 times as long to debug because the code is impossible to change or understand how it works.
Vibe coding as a coding veteran: from 8-bit assembly to English-as-code
111–120 of 132 posts
Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code
#112I'm hoping that sharing my experience, amongst all others, can: A) help someone understand more / set their expectations B) get someone to point out how to do it better
On one hand, I managed, in 10 days, to get the amount of functionality would take ~2 months of coding "by hand". If I started the same project now - after learning, realising what works and not, and adapting - it would probably be possible in 5. The amount done was incredible - and it's working.
On the other hand:
- you need to be already very experienced in knowing how things should be built well, how they need to work together, and what is a good way to organize the user interface for the functionality
- you then need to have some practical experience with LLMs to know the limitations, and guide it through the above gradually, with proper level of detail provided and iteration. Which takes attention and process and time - it won't be a couple of sentences and hitting enter a couple of times, no matter how smart your prompts are
- otherwise, if you didn't think it through and planned it first, and did it with consideration of LLM itself, and you just give it high level requirements for an app with multiple functionalities - you'll just get a mess. You can try and improve your prompts over and over, and you'll get a different kind of mess every time, but mess nevertheless
- even with doing all of the above, you'll get a very very mediocre result in terms of "feeling of quality" - thoughtfulness of design, how information is laid out and things are organised - UX and polish. It might be more than fine for a lot of use-cases, but if you're building something that people need to use productively every day, it's not passable...
- the problem is that, at least in my experience, you can't get it to high level with LLM in an automated way - you still need to craft it meticulously. And doing that will require manually tearing down a lot of what LLM generated. And that way you'll still end up with something at least a bit compromised, and messy when it comes to code
In summary, it's amazing how far it's come and how much you can do quickly - but if you need quality, there's no going around it, you still need most of the effort and time do invest in it. Considering both together, I think it's still a great position to be in currently for people who can provide that needed level of quality - sometimes you can do things very easily and quickly and sometimes you do your proud work with a bit of assistance along the way.
I'm not sure until when that will work, or what happens later, or how does current state already bodes for less experienced people...
Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code
#113Earlier quoted context omitted.
I've also had a similar experience. I have become too lazy since I started vibe-coding. My coding has transitioned from coder to code reviewer/fixer vey quickly. Overall I feel like it's a good thing because the last few years of my life has been a repetition of frontend components and api endpoints, which to me has become too monotonous so I am happy to have AI take over that grunt work while I supervise.
> My coding has transitioned from coder to code reviewer/fixer vey quickly. Overall I feel like it's a good thing Until you lose access to the LLM and find your ability has atrophied to the point you have to look up the simplest of keywords. > the last few years of my life has been a repetition of frontend components and api endpoints, which to me has become too monotonous It’s a surprise that so many people have thi…
Devs shouldn't be blindly accepting the output of an LLM. They should always be reviewing it, and only committing the code that they're happy to be accountable for. Consequently your coding and syntax knowledge can't really atrophy like that.
Algorithms and data structures on the other hand...
Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code
#114Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code
#115I've come to view LLMs as a consulting firm where, for each request, I have a 50% chance of getting either an expert or an intern writing my code, and there's no way to tell which. Sometimes I accept this, and I vibe-code, when I don't care about the result. When I do care about the result, I have to read every line myself. Since reading code is harder than writing it, this takes longer, but LLMs have made me too laz…
The way I describe it is almost gambling with your time. Every time I want to reach for the Cline extension in VSCode, I always ask myself "if this gamble worth it?" and "what are my odds for this gamble?".
For some things like simple refactoring I'm usually getting great odds so I use AI, but I would say at least 5-6 times last week I've thought about it and ended up doing it by hand as the odds were not in my favor.
One thing I've picked up using AI over the past few months is this sense of what it can and can't do. For some things I'm like "yeah it can do this no problem" but for other tasks I find myself going "better do this by hand, AI will just fuck it up"
Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code
#116I've come to view LLMs as a consulting firm where, for each request, I have a 50% chance of getting either an expert or an intern writing my code, and there's no way to tell which. Sometimes I accept this, and I vibe-code, when I don't care about the result. When I do care about the result, I have to read every line myself. Since reading code is harder than writing it, this takes longer, but LLMs have made me too laz…
Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code
#117> Also, these assistants (for now) appear to exhibit no common sense about what is “much”, “little”, “exceptional”, “average”, etc. For example, after measuring a consumption of 3.5GB of memory (!!) for solving a 3-disk problem (due to a bug), the assistant declared all was well...
That describes a good portion of my coworkers.
Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code
#118Earlier quoted context omitted.
> My coding has transitioned from coder to code reviewer/fixer vey quickly. Overall I feel like it's a good thing Until you lose access to the LLM and find your ability has atrophied to the point you have to look up the simplest of keywords. > the last few years of my life has been a repetition of frontend components and api endpoints, which to me has become too monotonous It’s a surprise that so many people have thi…
>Until you lose access to the LLM and find your ability has atrophied to the point you have to look up the simplest of keywords. Realistically, that's probably never going to happen. Expecting it is just like the prepper mindset.
Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code
#119Earlier quoted context omitted.
That 100% tracks expectation if your technical knowledge exceeds past “believer”. Now… for fun. Look up “best prompting” or “the perfect prompt” on YouTube. Thousands of videos “tips” and “expect recommendations” that are bordering the arcane.
The worst people are just writing D&D Character backstories as agent prompts: "You are a world-class developer in ..." type of crap.
Re: Vibe coding as a coding veteran: from 8-bit assembly to English-as-code
#120Earlier quoted context omitted.
I think it has to do with mental model. If you already know what to write and it is reasonably complex you'll have a mental model ready and can quickly write it down (now even faster as LLMs autocomplete 3-4 lines at a time). While reading someone else code you'll have to constantly map the code in your mind with code written and have to then compare quality, security and other issues.
Yeah, it's exactly this. Having to create a mental model from the code is much harder than having one and just writing it out.