> The first clues started when a client, who I thought was a software developer, starts merging his own code through the main branch, without warning. No pull request, just straight git push --force origin main ... Last time, I checked this Xcode project did not compiled. Or anything close to it.
This doesn't read like a vibe-coding problem, and more of a client boundaries problem. Surely you could point out they are paying you for your expertise, and to supersede your best practices with whatever AI churns out is making the job they are paying you to do even harder, and frankly a little disrespectful ("I know better").
Been writing software for like 20 years now and I love it. I am also a fan of AI-assisted coding, but I only just started using Cursor. Gosh I do not like it at all for a simple reason: since I didn't write the code, in order to understand it I have to read it. But gaining understanding that way takes longer than writing it myself does.
When you write the code, you understand it. When you read the code produced by an agent, you may eventually feel like you understand it, but it's not at the same deep level as if your own brain created it.
I'll keep using new tools, I'll keep writing my own code too. Just venting my frustrations with agentic coding because it's only going to get worse.
We’re in the geocities phase of LLM, mostly trash, very basic, but eventually, people will either get bored and go back to whatever it is they were doing or actually use the tools for useful and productive work.
As for the feelings that using LLM has when it one shots your project start (and does a pretty good job), have a German word:
Automatisierungskummer
(automation sorrow)
• Kummer is emotional heaviness, a mild-to-deep sadness.
> Hey! I asked AI for this code, do you think this will work? I think you should use it.
unfortunately this problem preceeds AI, and has been worsened by it.
i've seen instances of one-file, in-memory hashmap proof-of-concept implementations been requested to be integrated in semi-large evolving codebases with "it took me 1 day to build this, how long will it take to integrate" questions
This article is not about vibe coding per se, it's about not having strong boundaries between you as the developer, and your client. You should not be allowing the client to dictate how you work, much less them having the permissions to merge in code. This was true before AI too, where clients might say, do X this way, and you should simply say no, because they are paying for your expertise*. It's like hiring a plumber then trying to tell them how to fix the toilet.
*as an aside, this reminds me of the classic joke where the client asks for the price list for a developer's services:
I do it: $500
I do it, but you watch: $750
I do it, and you help: $1,000
You do it yourself: $5,000
You start it, and you want me to finish it: $10,000
This is exactly it. Some clients end up turning everything into a messy room and messy desk, decide to get help not to do it, see a clean space to create, and then start making a mess all over again.
Asking such clients why are we here? What have previous attempts (becuase they have been done) provided and not provided, and why do you think they did or didn't have long term viability so we didn't need to talk.
This is less about coding and helping people learn how to think about where and how things cna fit in.
It's great to go fast with vibe coding, especially if you like disposable code that you can iterate with. In the hands of an a developer they might be able to try more things or get more done in some way, but maybe not all the ways especially if the client isn't clear.
The ability of the client ot explain what they want well with good external signals and how well they know how to ask will often be a huge indicator long before they try to pull you into their web of creating spider diagrams like the spiders who have taken something.
All the consulting practice arguments aside, this is fundamentally a gatekeeping argument about clients staying in their lane. I'm sure doctors feel the same way about patients with weirdly specific questions about HFpEF diagnoses. Doctors have always hated "Doctor Google", and now they have to contend with "Doctor GPT". It's up to you how much sympathy to have for them.
There is a big difference between a client that thinks for themself, researches and challenges a professionals assesment or a client that wants to dictate or participate in the implementation process. In case of medical services we would talk about a patient that wants to do the operation...
Ah yes a supabase backed, hallucinated data model with random shit, using deprecated methods, and a copy paste UI. Zero access control or privacy, 1% of features, no files uploading or playback or calling.
“Can you scale this to 1M users by end of the week? Something similar to WhatsApp or Telegram or Signal”
For me vibecoding has a similar feeling to a big bag of Doritos. It's really fun at first to slap down 10k lines of code in an afternoon knowing this is just an indulgence. I think AI is actually really useful for getting a quick view of some library or feature. Also, you can learn a lot if you approach it the right way. However, every time I do any amount of vibecoding eventually it just transitions into pure lethargy mode; (apparently lethargia is not a word, by the way). Once you eat half a bag of Doritos, are you really not going to eat the second half... do you really want to eat the second half? I don't feel like I'm benefitting as a human just being a QA tester for the AI, constantly shouting that X thing didn't work and Y thing needs to be changed slightly. I think pure vibecode AI use has a difficult to understand efficiency curve, where it's obviously very efficient in the beginning, but over time hard things start to compound such that if you didn't actually form a good understanding of the project, you won't be able to make progress after a while. At that point you ate the whole bag of Doritos, you feel like shit, and you can't get off the couch.
I think building apps and websites for other people is mad depressing. It went from "move this up there, and change that colour to pink" to a client ruining a beautiful site by using a nocode tool. Now they have superpowers to ruin it by adding AI generated code as well. AI can generate absolutely beautiful code if it is generated on the right architecture with the right patterns and rules. The problem isn't the AI it's the people telling AI and developers what to do.
similar experience - i freelanced recently (embedded systems) where i was to interface to a "software engineer" doing the backend.
Every. single. time. we hit an interface problem he would say “if you don’t understand the error feel free to use ChatGPT”. Dude it’s bare metal embedded software I WROTE the error. Also, telling someone that was hired because of their expertise to chatgpt something is crazy insulting.
We are in an era of empowered idiots. People truly feel that access to this near infinite knowledge base means it is an extension of their capabilities.
I feel like it allows me do more of the fun bits of coding and creating. It's not too different than giving the easy/basic/annoying stuff to consultants and less senior engineers. Do people get mad when the hire more devs? You still get to machinate over how to attack a problem in clever ways. Also, you can give 4 out of 5 tasks to the AI and leave the fun bits for yourself.
The only thing that matters anymore in corporate is: does the code solve the problem.
Also, is it just me or has the feeling of victory gone away completely 100% ever since AI became a thing? I used to sweat and struggle, and finally have my breakthrough, the "I'm invicible!" Boris moment before the next thing came into my task inbox.
I don't feel that high anymore. I only recently realized this.
> There is no best practices anymore, no proper process, no meaningful back and forth.
Reality check: none of that ever existed, unless either the client mandated it (as a way to tightly regulate output quality from cheaper developers) or the developer mandated it (justifying their much higher prices and value to the customer).
Other than that: average customer buying code from average developer means:
- git was never even considered
- if git was ever used, everything is merged into "master" in huge commits
- no scheduled reviews, they only saw each other when it's time for the next quarterly/monthly payment and the client was shown (but not able to use) some preview of what's done so far
This is all over linkedin now. Basically, idea bros manage to get their ideas seemingly working with vibe coding but the moment it breaks they expect they can just "pay to fix the small broken part" and get back to work quickly. Not realising the cost that the developer has to get up to date on the project, then probably fix a mountain of poorly done, insecure work to "quickly finish" the project. A lot of them are also scammers and try to get you to start work on it without even having an contract.
> Okay, so this non-technical person is sending me codes now.
I started wondering if this person was actually a developer here. Maybe just a typo, or maybe a dialect thing, but does anyone actually use "codes" as a plural?
I run a low code platform for building internal tools & software. One of my prospect about to sign a contract came back telling me that his CTO has asked him to check vibe code tools and build a few internal tools with them. They are a large series D/E company and have over 250 internal tools built on retool (a service that they are migrating from). CTO is puzzled & is thinking if does he even need a platform to build & manage internal tools.
On other hand -- another customer of mine built a few internal tools with vibe code (& yes he does have subscription to my low code service) but then when newer requests came for upgrade thats where his vibe coded app started acting up. His candid feedback was -- for internal tools vibe code doesnt work.
As a service provider for low code --> we are now providing full fledged vibe code tooling on top. While I dont know how customers who do not wish to code and just have the software will be able to upkeep these softwares without needing professionals.
Yeah, its bad out there. At my company, we have a team of security professionals that focus on keeping our systems (and others') secure. AI for them has gone from "using it for scripting together nmap" to "we really need the platform your team is working on to do X, Y, and Z, so we vibed up this PR". On the engineering side, I don't have the political power to tell them no, because we don't really have senior leadership and we're behind schedule on everything. Why? Well, I spent two hours today resolving dozens of vulnerabilities our code scanners found in some vibed security team PR. The scanners that they set up, and demanded we use. Half the stuff they vibe we literally have to feature flag off immediately after release, because they didn't QA it, but they rarely revisit the feature because to them its always either "on to the next big idea" or, more often, "we're just security, platform isn't our responsibility".
The thing is: I know you might read that and think I'm anti-AI. In this specific situation, at my company: We gave nuclear technology to a bunch of teenagers, then act surprised when they blow up the garage. This is a political/leadership problem; because everything, nine times out of ten, is a political/leadership problem. But the incentives just aren't there yet for generalized understanding of the responsibility it requires to leverage these tools in a product environment that's expected to last years-to-decades. I think it will get there, but along that road will be gallons of blood from products killed, ironically, by their inability to be dynamic and reliable under the weight of the additive-biased purple-tailwind-drenched world of LLM vibeput. But, there's probably an end to that road, and I hope when we get there I can still have an LLM, because its pretty nice to be able to be like "heyo, i copy pasted this JSON but it has javascript single quotes instead of double quotes so its not technically JSON, can you fix that thanks"
43 comments
[ 1.8 ms ] story [ 80.4 ms ] threadThis doesn't read like a vibe-coding problem, and more of a client boundaries problem. Surely you could point out they are paying you for your expertise, and to supersede your best practices with whatever AI churns out is making the job they are paying you to do even harder, and frankly a little disrespectful ("I know better").
When you write the code, you understand it. When you read the code produced by an agent, you may eventually feel like you understand it, but it's not at the same deep level as if your own brain created it.
I'll keep using new tools, I'll keep writing my own code too. Just venting my frustrations with agentic coding because it's only going to get worse.
As for the feelings that using LLM has when it one shots your project start (and does a pretty good job), have a German word:
Automatisierungskummer
(automation sorrow) • Kummer is emotional heaviness, a mild-to-deep sadness.
unfortunately this problem preceeds AI, and has been worsened by it.
i've seen instances of one-file, in-memory hashmap proof-of-concept implementations been requested to be integrated in semi-large evolving codebases with "it took me 1 day to build this, how long will it take to integrate" questions
*as an aside, this reminds me of the classic joke where the client asks for the price list for a developer's services:
I do it: $500
I do it, but you watch: $750
I do it, and you help: $1,000
You do it yourself: $5,000
You start it, and you want me to finish it: $10,000
Asking such clients why are we here? What have previous attempts (becuase they have been done) provided and not provided, and why do you think they did or didn't have long term viability so we didn't need to talk.
This is less about coding and helping people learn how to think about where and how things cna fit in.
It's great to go fast with vibe coding, especially if you like disposable code that you can iterate with. In the hands of an a developer they might be able to try more things or get more done in some way, but maybe not all the ways especially if the client isn't clear.
The ability of the client ot explain what they want well with good external signals and how well they know how to ask will often be a huge indicator long before they try to pull you into their web of creating spider diagrams like the spiders who have taken something.
There is no best practices anymore, no proper process, no meaningful back and forth.
There absolutely is and you need to work with the tools to make sure this happens. Else chaos will ensue.
Been working with these things heavily for development for 6-12 months. You absolutely must code with them.
I was almost expecting to hear that it made the job too easy. This kind of work is perfect for vibe coding. But you should be the one doing it.
Ah yes a supabase backed, hallucinated data model with random shit, using deprecated methods, and a copy paste UI. Zero access control or privacy, 1% of features, no files uploading or playback or calling.
“Can you scale this to 1M users by end of the week? Something similar to WhatsApp or Telegram or Signal”
Sybau mf
What does this mean?
Being effective with the code to get the same things done is. That requires a new kind of driving for a new kind of vehicle.
Every. single. time. we hit an interface problem he would say “if you don’t understand the error feel free to use ChatGPT”. Dude it’s bare metal embedded software I WROTE the error. Also, telling someone that was hired because of their expertise to chatgpt something is crazy insulting.
We are in an era of empowered idiots. People truly feel that access to this near infinite knowledge base means it is an extension of their capabilities.
Also, is it just me or has the feeling of victory gone away completely 100% ever since AI became a thing? I used to sweat and struggle, and finally have my breakthrough, the "I'm invicible!" Boris moment before the next thing came into my task inbox.
I don't feel that high anymore. I only recently realized this.
Reality check: none of that ever existed, unless either the client mandated it (as a way to tightly regulate output quality from cheaper developers) or the developer mandated it (justifying their much higher prices and value to the customer).
Other than that: average customer buying code from average developer means:
- git was never even considered
- if git was ever used, everything is merged into "master" in huge commits
- no scheduled reviews, they only saw each other when it's time for the next quarterly/monthly payment and the client was shown (but not able to use) some preview of what's done so far
Not really worth working on any of these project.
I started wondering if this person was actually a developer here. Maybe just a typo, or maybe a dialect thing, but does anyone actually use "codes" as a plural?
On other hand -- another customer of mine built a few internal tools with vibe code (& yes he does have subscription to my low code service) but then when newer requests came for upgrade thats where his vibe coded app started acting up. His candid feedback was -- for internal tools vibe code doesnt work.
As a service provider for low code --> we are now providing full fledged vibe code tooling on top. While I dont know how customers who do not wish to code and just have the software will be able to upkeep these softwares without needing professionals.
The thing is: I know you might read that and think I'm anti-AI. In this specific situation, at my company: We gave nuclear technology to a bunch of teenagers, then act surprised when they blow up the garage. This is a political/leadership problem; because everything, nine times out of ten, is a political/leadership problem. But the incentives just aren't there yet for generalized understanding of the responsibility it requires to leverage these tools in a product environment that's expected to last years-to-decades. I think it will get there, but along that road will be gallons of blood from products killed, ironically, by their inability to be dynamic and reliable under the weight of the additive-biased purple-tailwind-drenched world of LLM vibeput. But, there's probably an end to that road, and I hope when we get there I can still have an LLM, because its pretty nice to be able to be like "heyo, i copy pasted this JSON but it has javascript single quotes instead of double quotes so its not technically JSON, can you fix that thanks"