"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 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...
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.
Honestly, I've made a career fixing other people's messes. Vibe coding just means a larger market, but the terrible, unmaintainable, non-extendable code has been around since the beginning and grows every year.
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
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.
I'll let others figure it out first then while I get actual work done, in that case. It's not like prompt engineering is going to make the job search any easier.
I have a theory that all the people who truly believe this are either not software developers or have spent their whole career writing boring, cookie-cutter code.
I'm over here trying to play with bleeding edge tech and push some boundaries. I keep trying to get LLMs to help me and they keep letting me down.
and in 20 years, how are we developing this "subject matter expert"?
>Once we can do LLM code reviews with high confidence and little error, coding is essentially a dead field.
Maybe by the time I retire. I think people in their early 20's will still get a solid career out of coding in the meantime while we go through the inevitable hype cycle of shiny new tech. Even if in the middle of their careers they may truly have their hands forced.
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.
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.
There is a disturbing overlap between the things LLMs are most helpful with... and the things that are arguably deficiencies with root-problems to be fixed in the realm of framework/library design, project onboarding, or documentation.
If it's really "boilerplate", nobody should need to get a half-regurgitated approximation out of a statistical model.
Instead there should be a default implementation someone can choose until they need to customize, or a generator-script as part of the project, etc. Sometimes what people want is already right there in the docs, but nobody bothered to look.
> One of the biggest wastes of human talent is corporations hiring people to solve the same problems over and over and over.
It's not the same human who is doing the same thing over and over though.
I have a toddler. He's learning addition and substraction now. I could had him a calculator or LLM and let him skip the entire learning process and do something productive instead. I don't. Because it'll destroy his critical thinking and ability to do anything productive later in life.
more "everybody who wants toast is designing their own toaster"
the actual business logic is making up a tiny proportion of work done while everybody spends most of their time plumbing frameworks and libraries together to do substantially similar things
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.
I agree, and I think it's a continuum. I can say "make me an Instagram clone" and then come back after 100 agent loops and no looking at the code. Or I can outline the architecture, the components, service layer, data structures etc in a back and forth with the LLM and then have it do the minutia implementation.
You still get code hell after a while unless you review the code and refactor where needed, but I can absolutely imagine a future where the code is just a compile target for the architecture and design I specify. A little bit like a compiler spitting out assembly (caveats apply, LLMs being non-deterministic etc etc and at current state probably not reliable enough for full unsupervised coding)
If you edit the code, instead of the prompt to the AI, it's not vibe coding. Vibe coding is letting the AI write the code, and only testing the output application.
"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.
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.
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.
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
> 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?)
Yes. But in these early stages, that will only prove the LLM's can't do much more than be a fancy autocomplete, as opposed to a way to accelerate the workflow navigating anything with real-world value.
Maybe in a few years for the most common domains this will truly shine.
> 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.
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.
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.
Maybe, but the vast majority of software isn't written by, or for, software businesses. It's written by internal teams for businesses whose main product is insurance, or retail sales operations, or cabinet manufacturing, or real estate, etc.
To quote Copilot, "According to recent data, nearly 70% of top economic performers use their own software to differentiate themselves from competitors."
I'm sure it'll stay the same thing any low effort actions stay around. People will instead just get better at identifying the low effort and filtering it out.
Virtually all businesses (even non-tech businesses) balance performance, reliability, cost, and revenue. Outages/bugs/crashes cost money, some can be fatal. They care.
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.