Summarizer

Vibe Coding vs. Engineering

The distinction between 'vibe coding' (iterating until it feels right without deep understanding) and traditional engineering, with experienced developers using AI as a force multiplier rather than a replacement for understanding.

← Back to The creator of Claude Code's Claude setup

The rise of "vibe coding" is democratizing software development, enabling newcomers to ship functional apps and capture revenue at record speeds without deep technical mastery. While some users celebrate staggering productivity gains—building playable games or utilities in mere days—seasoned engineers caution that these AI-generated results often lack the architectural rigor and edge-case handling of traditional engineering. This shift has sparked a divide between those who embrace AI as a force multiplier for rigorous planning and others who fear that "slot machine" prompting leads to superficial "slop" and the deterioration of core technical skills. Ultimately, the consensus suggests that while the floor for building has been lowered, the ceiling for high-quality, maintainable systems still demands an expert's hand to navigate complex, real-world failures.

30 comments tagged with this topic

View on HN · Topics
I expect you see the world this way because you are a software developer. People who know how to sell and understand the problems to solve do not routinely understand how to build software to solve those problems so they can sell them to customers. Now that the bar for building software is lowering, the world of building a startup is changing. A relatively newcomer to software is able to ship a medium complexity vibe-coded app to a few test customers and kick off revenues.
View on HN · Topics
Perhaps for extremely basic products. Most non-engineers can barely write and untangle their messy thoughts and you think they can just build a spec for an AI to build a product? Hopefully I'm wrong, but I doubt it.
View on HN · Topics
Yes/no. Regardless of the code complexity reduction there is still architecture, planning and implementation. Could someone come by and clone my work afterwards? Absolutely. Will they retain customers with only a little understanding of the product or model? Questionable.
View on HN · Topics
> shouldn't we be seeing a ton of 1 person startups? After months of hearing that people are producing software in months that would normally take years, the best examples of vibe coded software I've seen look like they would normally take months, not years. If you don't care how they're built or how long it took (which a user generally doesn't), much of the remaining shine comes off. If I'm wrong, I'd love to see it. A genuinely big piece of software produced entirely (or near entirely?) with AI that would've normally taken talented engineers years to build.
View on HN · Topics
Its not true. The best vibe coders have been able to accomplish is projects which look like corporate boilerplates but have no inherent complexity. Its nothing more than surface level projects that we built when we wanted to pad out the resume.
View on HN · Topics
I’m building an ERP system, I’ve already been at it for a 3 years (full time, but half the system is already in production with two tenants so not all of my time is spent on completing the product, this revenue completely sustains the project). AI is now speeding this up tremendously. Maybe 2x velocity, which is a game changer but more realistic than what you hear. The post AI features are just as good and stable as pre AI, why wouldn’t they be? I’m not going to put “slop” into my product, it’s all vetted by me. I do anticipate that when the complexity is built out and there are less new features and more maintaining/improving, the productivity will be immense.
View on HN · Topics
> check out my bio for one example. First thing I got was “browser not supported” on mobile. Then I visited the website on desktop and tested languages I’m fluent in and found immediate problems with all of them. The voices in Portuguese are particular inexcusable, using the Portuguese flag with Brazilian voices; the accents are nothing alike and it’s not uncommon for native speakers of one to have difficulty understanding the other in verbal communication. The knowledge assessments were subpar and didn’t seem to do anything; the words it tested almost all started with “a” and several are just the masculine/feminine variants. Then, even after I confirmed I knew every word, it still showed me some of those in the learning process, including incredibly basic ones like “I”, or “the”. The website is something, and I very much appreciate you appear to be trying to build a service which respects the user, but I wouldn’t in good conscience recommend it to anyone. It feels like you have a particular disdain for Duolingo-style apps (I don’t blame you!) but there is so much more out there to explore in language learning.
View on HN · Topics
Haha, thanks for checking it out! I really appreciate the feedback. > First thing I got was “browser not supported” on mobile. Yeah, I use some APIs that were only implemented in Safari on iOS 26. Kind of annoying but I use Android so I didn't realize until too late. I should fix it, but it's not a priority given the numerous other things that need improvement (as you noticed!) > The voices in Portuguese are particular inexcusable, using the Portuguese flag with Brazilian voices; the accents are nothing alike and it’s not uncommon for native speakers of one to have difficulty understanding the other in verbal communication. That's good feedback, thanks! I only added Portuguese this weekend ( https://github.com/yaptown/yap/pull/73 ) so it's definitely still very alpha (as noted on the website :P ) > The knowledge assessments were subpar and didn’t seem to do anything; the words it tested almost all started with “a” and several are just the masculine/feminine variants. Thanks, will fix this tonight. The placement test was just added last week ( https://github.com/yaptown/yap/pull/72 ) so there are still some kinks to work out. > Then, even after I confirmed I knew every word, it still showed me some of those in the learning process, including incredibly basic ones like “I”, or “the”. Yeah, the logic doesn't really work for people who already know every word. It tries to show words in the following order (descending): probability_of_knowledge * ln(frequency). But if you already know every word, probability_of_knowledge is the same for every word and the ln(frequency) is the only one remaining, meaning you just get the most common words. I'll add a warning to the site for people who are too advanced for the app's dictionary size – as you pointed out, it's not a good UX. > there is so much more out there to explore in language learning There is! I usually recommend pimsleur to people. My hope is just for my app to be a useful supplement.
View on HN · Topics
I "just" created a real-time strategy game before christmas because I could have Claude writing all the code and test it itself. It wrote the spec too, by me telling it to plan out a game "a bit like X but with A, B, C features instead". It works. It's playable. I might put it online some-time when I get a chance. [EDIT: My involvement apart from the code-skimming mentioned below was mostly play-testing after Claude had "play-tested", and giving it feedback on what to add or change] My best estimate from having written much simpler games before was that it churned out many months worth of working code in days. I've not written a line of it - just skimmed some code and told it to make a few architectural refactors. It's absolutely crazy.
View on HN · Topics
Right but then you expect way more productivity from those teams. I'm wondering where that is. I find when I'm in a domain I'm not an expert in I am way more productive with the AI tools. With no knowledge of Java or Spring I was able to have AI build out a server in like 10 minutes, when it would have taken me hours to figure out the docs and deployment etc. But like, if I knew Java and Spring I could have built that same thing in 10 minutes anyways. That's not nothing, but also not generalisable to all of software development, not even close. Plus you miss out on actually learning the thing.
View on HN · Topics
"Built out products" like you're earning money on this? Having actual users, working through edge cases, browser quirks, race conditions, marketing, communication - the real battle testing 5% that's actually 95% of the work that in my view is impossible for the LLM? Because yeah the easy part is to create a big boilerplate app and have it sit somewhere with 2 users. The hard part is day to day operations for years with thousands of edge cases, actual human feedback and errors, knocking on 1000 doors etc. Otherwise you're just doing slot machine coding on crack, where you work and work and work one some amazing thing then it goes nowhere - and now you haven't even learned anything because you didn't code so the sideproject isn't even education anymore. What's the point of such a project?
View on HN · Topics
> "Built out products" like you're earning money on this? No, I'm not interested in monetizing stuff, I make enough money from $dayjob. > Having actual users, working through edge cases, browser quirks, race conditions, marketing, communication - the real battle testing 5% that's actually 95% of the work that in my view is impossible for the LLM? Yes, all of those. Obviously an LLM won't make a tiktok ad for me, but it can help with all the other stuff. For example, you mentioned browser quirks. I ran into a bug in safari's OPFS implementation that an LLM was able to help me track down and work around. I also ran into the chrome issue where backdrop effects don't work if any of the element's parents have nonzero transparency, and claude helped me find all the cases where that happened and fix them. Both of these are from working on the app in my bio. It's a language app too, so however many edge cases you think there are, there's more :D I don't want to give the impression that it was not a lot of work. It was an enormous amount of work. It's just that each step is significantly faster now. > and now you haven't even learned anything because you didn't code so the sideproject isn't even education anymore. I read every line. You could pull up the github right now and point to any line of code and I could tell you what it does and why it's there and what will break if you remove or change it. > What's the point of such a project? I originally made it because I wanted a tool to help me learn French. It has succeeded in helping my enormously, to the point where I can have short conversations with my french family members now. Others seem to find it useful too.
View on HN · Topics
Link to the crm? I'm asking because all tge crms I have encountered so far were vastly more complex than Instagram. I would actually expect that current coding AIs would create something very close to Instagram when instructed.
View on HN · Topics
> My brother is selling a CRM he developed for his business to others for a couple thousand a month. There is no way he would have built the CRM as quickly pre-AI The thing is, if AI is what enabled this, there's no long term market for selling something vibe coded for thousands a month. Maybe right at this moment and good for him, but I have my doubts these random saas things have a future.
View on HN · Topics
I think that's comparing something different. I've seen the one-day vibe code UI tool things which are neat, but it feels like people miss the part that: if it's that easy now, it's not as valuable as it was in the past. If you can sell it in the meantime, go for it and good for you, but it doesn't feel like that business model will stay around if anyone can prompt it themselves.
View on HN · Topics
I hope self-promotion isn't frowned upon, but I've been spending the past months figuring out a workflow [1] that helps tackle the "more complicated problems" and ensure long-term maintainability of projects when done purely through Claude Code. Effectively, I try to: - Do not allow the LLM to make any implicit decisions, but instead confirm with the user. - Ensure code is written in such a way that it's easy to understand for LLMs; - Capture all "invisible knowledge" around decisions and architecture that's difficult to infer from code alone. It's based entirely on Claude Code sub-agents + skills. The skills almost all invoke a Python script that guides the agents through workflows. It's not a fast workflow: it frequently takes more than 1 hour just for the planning phase. Execution is significantly faster, as (typically) most issues have been discovered during the planning phase already (otherwise it would be considered a bug and I'd improve the workflow based on that). I'm under the impression that the creator of Claude Code's post is also intended to raise awareness of certain features of Claude Code, such as hand-offs to the cloud and back. Their workflow only works for small features. It reads a bit like someone took a “best practices” guide and turned it into a twitter post. Nice, but not nearly detailed enough for an actual workflow. [1] https://github.com/solatis/claude-config/
View on HN · Topics
> Ensure code is written in such a way that it's easy to understand for LLMs; > Capture all "invisible knowledge" around decisions and architecture that's difficult to infer from code alone. I work on projects where people love to create all sorts of complex abstractions but also hate writing ADRs (so they don’t) or often any sorts of comments and when they do they’re not very well written. Like the expectation is that you should call and ask the person who wrote something or have a multi-hour meeting where you make decisions and write nothing down. That sort of environment is only conductive to manual work, dear reader, avoid those. Heed the advice above about documenting stuff.
View on HN · Topics
hah thanks for the compliment. yeah last time I shared it, I got a whole lot of hate for vibe coder self promotional BS so I decided to tread a bit more carefully this time. I encourage you to try to prompt engineer skill! It’s one of the easiest to use, and you can literally use it on anything, and you’ll also immediately see how the “dynamic prompt workflow” works.
View on HN · Topics
I agree. I'm imagining a large software team with hundreds of tickets "ready to be worked on" might support this workflow - but even then, surely you're going to start running into unnecessary conflicts. The max Claude instances I've run is 2 because beyond that, I'm - as you say - unable to actually determine the next best course during the processing time. I could spend the entire day planning / designing prompts - and perhaps that will be the most efficient software development practise in the future. And/or perhaps there it is a sign I'm doing insufficient design up front.
View on HN · Topics
That’s how it works though. You create a detailed spec up front. That’s the workflow.
View on HN · Topics
maybe more like throw shits to the wall and see what sticks?
View on HN · Topics
Painfully true. A lot of YouTube on LLM coding tools has become just that. Make quick bucks, look it generated a dashboard of some sort (why is it always dashboards?) and a high polished story of someone vibing a copy of a successful Saas and selling it off for a million. A shame really, for there are good resources for better making use of LLMs in coding.
View on HN · Topics
Prototyping.
View on HN · Topics
prompting in my experience is boring and/or frustrating. Why anyone would want to do more of that without MASSIVE financial incentives is unthinkable. No composer or writer would ever want to prompt a "work".
View on HN · Topics
I tried Claude Code a while back when I decided to give "vibe-coding" a go. That was was actually quite successful, producing a little utility that I use to this day, completely without looking at the code. (Well, I did briefly glance at it after completion and it made my eyeballs melt.) I concluded the value of this to me personally was nowhere near the price I was charged so I didn't continue using it, but I was impressed nonetheless. This brief use of Claude Code was done mostly on a train using my mobile phone's wi-fi hotspot. Since the connection would be lost whenever the train went through a tunnel, I encountered a bug in Claude Code [1]. The result of it was that whenever the connection dropped and came up again I had to edit an internal json file it used to track the state of its tool use, which had become corrupt. The issue had been open for months then, and still is. The discussion under it is truly remarkable, and includes this comment from the devs: > While we are always monitoring instances of this error and and looking to fix them, it's unlikely we will ever completely eliminate it due to how tricky concurrency problems are in general. Claude Code is, in principle, a simple command-line utility. I am confident that (given the backend and model, ofc) I could implement the functionality of it that I used in (generously!) at most a few thousand lines of python or javascript, I am very confident that I could do so without introducing concurrency bugs and I am extremely confident that I could do it without messing up the design so badly that concurrency issues crop up continually and I have to admit to being powerless to fix them all. Programming is hard, concurrency problems are tricky and I don't like to cast aspersions on other developers, but we're being told this is the future of programming and we'd better get on board or be left behind and it looks like we're being told this by people who, with presumably unlimited access to all this wonderful tooling, don't appear to be able to write decent software . [1] https://github.com/anthropics/claude-code/issues/6836
View on HN · Topics
How has Claude Code (as a CLI tool, not the backing models) evolved over the last year? For me it's practically the same, except for features that I don't need, don't work that well and are context-hungry. Meanwhile, Claude Code still doesn't know how to jump to a dependency (library's) source to obtain factual information about it. Which is actually quite easy by hand (normally it's cd'ing into a directory or unzipping some file). So, this wasteful workflow only resulted in vibecoded, non-core features while at the domain level, Claude Code remains overly agnostic if not stupid.
View on HN · Topics
Yup. The way he works is all tasks he is issued in a sprint he just fires them through opus in parallel hoping to get a hit on Claude magically solving the ticket having them constantly be iterated on them. He doesnt even try using proper having plans be created. Often time tickets get fleshed out or requirements change. He just throws everything out and reshoves it into Claude. I weep for the planet.
View on HN · Topics
I’ve found that experienced devs use agentic coding in a more “hands-on” way than beginners and pure vibe-coders. Vibecoders are the best because they push the models in humorous and unexpected ways. Junior devs are like “I automated the deploy process via an agent and this markdown file” Seasoned devs will spend more time writing the prompt for a bug fix, or lazily paste the error and then make the 1-line change themselves. The current crop of LLMs are more powerful than any of these use cases, and it’s exciting to see experienced devs start to figure that out (I’m not stanning Gas Town[0], but it’s a glimpse of the potential). [0] https://steve-yegge.medium.com/welcome-to-gas-town-4f25ee16d...
View on HN · Topics
Partially related: I really dislike the vibe of Gas Town, both the post and the tool, I really hope this isn't what the future looks like. It just feels disappointing.
View on HN · Topics
Warm take for sure, but I feel that LLMs and agents have made me a worse programmer as a whole. I am enjoying the less mental strain as I do my hobbies like sketching/art while the LLM is running. But definitely it isn't making me any faster. I'm at the point of considering another job but I just fear that my skills have deteriorated to the point that I can't pass any (manual) coding assessments anymore