| ▲ | danielvaughn 6 hours ago |
| Disagree with the overall argument. Human effort is still a moat. I've been spending the past couple of months creating a codebase that is almost entirely AI-generated. I've gotten way further than I would have otherwise at this pace, but it was still a lot of effort, and I still wasted time going down rabbit holes on features that didn't work out. There's some truth in there that judgement is as important as ever, though I'm not sure I'd call it taste. I'm finding that you have to have an extremely clear product vision, along with an extremely clear language used to describe that product, for AI to be used effectively. Know your terms, know how you want your features to be split up into modules, know what you want the interfaces of those modules to be. Without the above, you run into the same issue devs would run into before AI - the codebase becomes an incoherent mess, and even AI can't untangle it because the confusion gets embedded into its own context. |
|
| ▲ | taude 5 hours ago | parent | next [-] |
| I feel like you're pretty strongly agreeing that taste is important: " I'm finding that you have to have an extremely clear product vision..."" Clear production vision that you're building the right thing in the right way -- this involves a lot of taste to get right. Good PMs have this. Good enginers have this. Visionary leaders have this.... The execution of using AI to generate the code and other artifacts, is a matter of skill. But without the taste that you're building the right thing, with the right features, in a revolutionary way that will be delightful to use.... I've looked at three non-engineer vibe-coded businesses in the past month, and can tell that without taste, they're building a pretty mediocre product at best. The founders don't see it yet. And like the article says, they're just setting themselves up for mediocrity. I think any really good PM would be able to improve all these apps I looked at almost immediately. |
| |
| ▲ | arnorhs 5 hours ago | parent [-] | | The way I understood it, the original article is saying the _only_ remaining differentiator is taste and the comment you replied to is saying "wrong, there are also other things, such as effort". I don't necessarily interpret the comment you replied to as saying that "taste is not important", which seems like what you are replying to, just that it's not the only remaining thing. I agree that taste gets you far. And I agree with all the examples of good taste that you brought up. But even with impeccable taste, you still need to learn, try things, have ideas, change your mind etc.. putting all of that in the bucket of "taste" is stretching it.. However, having good taste when putting in the effort, gets your further than with effort alone. In fact, effort alone gets you nowhere, and taste alone gets you nowhere. Once you marry the two you get somewhere. | | |
| ▲ | hellisothers 4 hours ago | parent [-] | | Aren’t you just making their point stronger? Effort is what is being replaced here, with some taste and a pile of AI (formerly effort) you can go to the moon. | | |
| ▲ | Jensson 3 hours ago | parent [-] | | But you still need effort, its not only taste. "Only" means you can do it with no effort. | | |
| ▲ | freediddy 2 hours ago | parent | next [-] | | At some point, just an idea will be enough for your Neurolink to spawn an agent to create 1000 different versions of your idea along with things that mimic your tendencies. There will be no effort, only choice. | | |
| ▲ | 18 minutes ago | parent | next [-] | | [deleted] | |
| ▲ | skydhash an hour ago | parent | prev | next [-] | | Deciding between 1000 different versions is a lot of effort IMO. With manual coding, you’re mostly deciding one decision point at a time, which is easier when you think about it. It just require foresight which comes from experience | |
| ▲ | ToucanLoucan an hour ago | parent | prev [-] | | As both a software engineer and a creative, I absolutely do not want 1,000 versions of what I am trying to make generated for me. I don't care if it's free or even cheap. I want to make things. I know this is a concept deeply alien to a lot of HN's userbase but I did not get into programming or making art to have finished products; that's a necessary function that is lovely when it's reached, but ultimately, I derive my enjoyment from The Process. The process of finding a problem a user has, and solving it. And yes I'm sure Claude could do it faster than me (and only at the cost of a few acres of rainforest!) but again, you're missing the point. I enjoy the work. That is not a downside to me. |
| |
| ▲ | theowaway213456 3 hours ago | parent | prev [-] | | In other words, it requires a tremendous amount of effort to fully communicate your tastes to the AI. Not everybody wants to expend the time or mental effort doing this! (Once we have more direct brain/computer interfaces, this effort will go down, but I expect it will not be eliminated fully) | | |
| ▲ | Shog9 2 hours ago | parent [-] | | This is the second time in two days I've seen a subthread here with folks seemingly debating whether or not defining and communicating requirements counts as work if the target of those requirements is an LLM system. I'm confused as to why this is even a question. We used to call this "systems analysis" and it was like... a whole-ass career. LLMs seem to be remarkably capable of using the output, but they're not even close to the first software systems sold as being able to take requirements and turn them into working code (for various definitions of "requirements" and "working"). I'm also skeptical that direct brain interfaces would make this any less work; I don't think "typing" or "english" are the major barriers here, anymore than "drafting" is the major barrier to folks designing their own cars and houses... Any fool thinks they know what they need! | | |
| ▲ | Izkata 8 minutes ago | parent [-] | | Thinking might even be more difficult: Unfiltered thoughts, intrusive thoughts, people with no inner voice to encode as text... |
|
|
|
|
|
|
|
| ▲ | abadar 5 hours ago | parent | prev | next [-] |
| You make a really salient point about having a clear vision and using clear language. Patrick Zgambo says that working with AI is spellcasting; you just need to know the magic words. The more I work with AI tools, the more I agree. Now, figuring out those words? That's the hard part. |
| |
| ▲ | gopher_space 5 hours ago | parent [-] | | > Now, figuring out those words? That's the hard part. To be clear, this is the hard part for comp sci majors who can't parse other disciplines. Language isn't a black box for everyone. |
|
|
| ▲ | risyachka 17 minutes ago | parent | prev | next [-] |
| It doesn’t really matter how good your taste is if you are drowning in the ocean of crap. Customers can’t find you |
|
| ▲ | socalgal2 3 hours ago | parent | prev | next [-] |
| Isn't this a temporary situation though. Today: Ask AI to "do the thing", manual review because don't trust the AI Tomorrow: Ask AI to "do the thing" I'm just getting started on my AI journey. It didn't take long before I upgraded from the $17 a month claude plan to the $100 a month plan and I can see myself picking the $200 a month plan soon. This is for hobby projects. At the moment I'm reviewing most of the code for what I'm working on, and I have tests and review those too. But, seeing how good it is (sometimes), I can imagine a future where the AI itself has both the tech chops and the taste and I can just say "Maybe me an app to edit photos" and it will spit out a user friendly clone of photoshop with good UX. We already kind of see this with music - it's able to spit out "Bangers". How long until it can spit out hit rom-coms, crime shows, recipes, apps? I don't think the answer is "never". I think more likely the answer is in N years where N is probably a single digit. |
| |
| ▲ | danielvaughn 3 hours ago | parent | next [-] | | No, I don't think it is temporary. As AI becomes more powerful, we'll simply ask it to do more difficult things. There's a level of complexity where "do the thing" is insufficient. We'll never be at a place where AI can infer vast amounts of nuance from simple human requests, which means that humans will always need to be able to describe precisely what they want. This has always been the core skill for software developers, and I just don't see that changing. | | | |
| ▲ | guzfip 3 hours ago | parent | prev [-] | | > We already kind of see this with music - it's able to spit out "Bangers" “Bangers” being roughly equivalent to garbage mass marketed radio pop? Or “We are Charlie Kirk” lol |
|
|
| ▲ | zer00eyz 4 hours ago | parent | prev | next [-] |
| > Disagree with the overall argument. It's leaning in a good direction, but the author clearly lacks the language and understanding to articulate the actual problem, or a solution. They simply dont know what they dont know. > Human effort is still a moat. Also slightly off the mark. If I sat one down with all the equipment and supplies to make a pair of pants, the majority of you (by a massive margin) are going to produce a terrible pair of pants. Thats not due to lack of effort, rather lack of skill. > judgement is as important as ever, Not important, critical. And it is a product of skill and experience. Usability (a word often unused), cost, utility, are all the things that people want in a product. Reliability is a requirement: to quote the social network "we dont crash". And if you want to keep pace, maintainability. > issue devs would run into before AI - the codebase becomes an incoherent mess The big ball of mud (https://www.laputan.org/mud/ ) is 27 years old, and still applies. But all code bases have a tendency to acquire cruft (from edge cases) that don't have good in line explanations, that lack durable artifacts. Find me an old code base and I bet you that we can find a comment referencing a bug number in a system that no longer exists. We might as an industry need to be honest that we need to be better librarians and archivists as well. That having been said, the article should get credit, it is at least trying to start to have the conversations that we should be having and are not. |
|
| ▲ | stronglikedan 5 hours ago | parent | prev | next [-] |
| > I've gotten way further than I would have otherwise at this pace, but it was still a lot of effort, and I still wasted time going down rabbit holes on features that didn't work out. By the time I'm done learning about the structure of the code that AI wrote, and reviewing it for correctness and completeness, it seems to be as much effort as if I had just written it myself. And I fear that will continue to be the reality until AIs can be trusted. |
| |
| ▲ | edgyquant 2 hours ago | parent [-] | | Well that is not how anyone is doing agentic coding though. That sounds like just a worse version of traditional coding. Most people are building test suites to verify correctness and not caring about the code |
|
|
| ▲ | andai 5 hours ago | parent | prev | next [-] |
| I think you're missing the point. Effort is a moat now because centaurs (human+AI) still beat AIs, but that gap gets smaller every year (and will ostensibly be closed). The goal is to replicate human labor, and they're closing that gap. Once they do (maybe decades, but probably will happen), then only that "special something" will remain. Taste, vision... We shall all become Rick Rubins. Until 2045, when they ship RubinGPT |
| |
| ▲ | koe123 2 hours ago | parent | next [-] | | I imagine that the gap with current work can largely be closed, but are we really confident that this will hold with the new work that pops up? Increasingly I think we’re lacking imagination as to what work can be in a post AI world. I.e. could an abacus wielder imagine all the post computer jobs? | |
| ▲ | pegasus 5 hours ago | parent | prev | next [-] | | > but that gap gets smaller every year (and will ostensibly be closed) As long as you build software for humans (and all software we build is for humans, ultimately), you'll need humans at the helm to steer the ship towards a human-friendly solution. | | |
| ▲ | 2 minutes ago | parent | next [-] | | [deleted] | |
| ▲ | boshalfoshal 4 hours ago | parent | prev [-] | | The thing is, do humans _need_ most software? The less surfaces that need to interact with humans, the less you need humans in the loop to design those surfaces. In a hypothetical world where maybe some AI agents or assistants do the vast majority of random tasks for you, does it matter how pleasing the doordash website looks to you? If anything, it should look "good" to an ai agent so that its easier to navigate. And maybe "looking good" just amounts to exposing some public API to do various things. UIs are wrappers around APIs. Agents only need to use APIs. | | |
| ▲ | pegasus 2 hours ago | parent | next [-] | | > do humans _need_ most software? Yes, if it's not redundant software. The ultimate utility is to a human. Sure, at some point humans stopped writing assembly language and employed a compiler instead, so the abstraction level and interfaces change, but it's all still there to serve humans. To use your example, do you think humans will want to interact with AI agents using a chat interface only? For most tasks humans use computers today, that would be very unwieldy. So the UI will migrate from the website to the AI agent interface. It all transforms, becoming more powerful (hopefully!), but won't go away. And just how the advent of compilers led to an increase of programmers in the world, so will AI agents. This is connected with Javon's paradox as well. | |
| ▲ | 9rx 4 hours ago | parent | prev [-] | | > And maybe "looking good" just amounts to exposing some public API to do various things. Maybe, but you still need humans to make that call. The software is still built for humans no matter how much indirection you add. There is a conceivable day where that is no longer true, but when you have reached that point it is no longer AI. |
|
| |
| ▲ | monknomo 5 hours ago | parent | prev [-] | | do you need taste if you can massively parallel a/b test your way to something that is tasteful? say like you take your datacenter of geniuses and have a a rubin-loop supervising testing different directions. shouldn't that be close enough? | | |
| ▲ | all2 4 hours ago | parent | next [-] | | "taste" here is an intractable solution. Just take a look at how architecture has varied throughout the history of mankind, building materials, assembly, shape, flow, all of it boils down to taste. Some of it can be reduced to 'efficiency' -- like the 3 point system for designing kitchens, but even that is a matter of taste. Find three professional chefs and they will give you three distinct visions for how a kitchen should be organized. The same goes for any professional field, including software engineering. | |
| ▲ | skejeke 3 hours ago | parent | prev [-] | | That approach leads you to products like instagram. |
|
|
|
| ▲ | rvz 5 hours ago | parent | prev | next [-] |
| > Without the above, you run into the same issue devs would run into before AI - the codebase becomes an incoherent mess, and even AI can't untangle it because the confusion gets embedded into its own context. We have a term for this and it is called "Comprehension Debt" [0] [1]. [0] https://arxiv.org/abs/2512.08942 [1] https://medium.com/@addyosmani/comprehension-debt-the-hidden... |
| |
| ▲ | danielvaughn 4 hours ago | parent [-] | | I'm not sure I agree the term applies. Comprehension debt, as I understand it, is just the dependency trap mentioned in that arxiv paper you linked. It means that the AI might have written something coherent or not, but you as a human evaluator have little means to judge it. Because you've relied on it too much and the scope of the code has exceeded the feasibility of reading it manually. When I talk about an incoherent mess, I'm talking about something different. I mean that as the codebase grows and matures, subtle details and assumptions naturally shift. But the AI isn't always cleaning up the code that expressed those prior assumptions. These issues compound to the point that the AI itself gets very confused. This is especially dangerous for teams of developers touching the same codebase. I can't share too much detail here, but some personal experience I ran into recently: we had feature ABC in our platform. Eventually another developer came in, disagreed with the implementation, and combined some aspects of it into a new feature XYZ. Both were AI generated. What _should_ have happened is that feature ABC was deleted from the code or refactored into XYZ. But it wasn't, so now the codebase has two nearly identical modules ABC and XYZ. If you ask Claude to edit the feature, you've got a 50/50 shot on which one it chooses to target, even though feature ABC is now dead, unreachable code. You might say that resolving the above issue is easy, but these inconsistencies become quite numerous and unsustainable in a codebase if you lean on AI too much, or aren't careful. This is why I say that having a super clear vision up front is important, because it reduces this kind of directional churn. | | |
| ▲ | all2 4 hours ago | parent [-] | | > This is why I say that having a super clear vision up front is important, because it reduces this kind of directional churn. I'm on my 6th or 7th draft of a project. I've been picking away at this thing since the end of January; I keep restarting because the core abstractions get clearer and clearer as I go. AI has been great in this discovery process because it speeds iteration much more quickly. I know its starting to drift into a mess when I no longer have a clear grasp of the work its doing. To me, this indicates that some mental model I had and communicated was not sufficiently precise. | | |
| ▲ | danielvaughn 3 hours ago | parent [-] | | Yep, for sure. Restarting is the right choice IMO, it's way easier than trying to untangle from a previous iteration. |
|
|
|
|
| ▲ | crystal_revenge 5 hours ago | parent | prev [-] |
| > ... for AI to be used effectively. I'm continually fascinated by the huge differences in individual ability to produce successful results with AI. I always assumed that one of the benefits of AI was "anyone can do this". Then I realized a lot of people I interact with don't really understand the problem they're trying to solve all that well, and have some irrational belief that they can get AI to brute force their way to a solution. For me I don't even use the more powerful models (just Sonnet 4.6) and have yet to have a project not come out fairly successful in a short period of time. This includes graded live coding examples for interviews, so there is at least some objective measurement that these are functional. Strangely I find traditional software engineers, especially experienced ones, are generally the worst at achieving success. They often treat working with an agent too much like software engineering and end up building bad software rather than useful solutions to the core problem. |
| |
| ▲ | gopher_space 5 hours ago | parent | next [-] | | > I always assumed that one of the benefits of AI was "anyone can do this". Then I realized a lot of people I interact with don't really understand the problem they're trying to solve all that well I've been through a handful of "anyone can do this" epiphanies since the 90s and have come to realize the full statement should be "anyone can do this if they care about the problem space". | |
| ▲ | lamasery 5 hours ago | parent | prev | next [-] | | "AI" tools I've got at work (and am mandated to use, complete with usage tracking) aren't a wide-open field of options like what someone experimenting on their own time might have, so I'm stuck with whatever they give me. The projects are brown-field, integrate with obscure industry-specific systems, are heavy with access-control blockers, are already in-flight with near-term feature completion expectations that leave little time for going back and filling in the stuff LLMs need to operate well (extensive test suites, say), and must not wreck the various databases they need to interact with, most of which exist only as a production instance. I'm sure I could hack together some simple SaaS products with goals and features I'm defining myself in a weekend with these tools all on my own (no communication/coordination overhead, too!), though. I mean for an awful lot of potential products I could do that with just Rails and some gems and no LLM any time I liked over the last 15+ years or whatever, but now I could do it in Typescript or Rust or Go et c. with LLMs, for whatever that's worth. At work, with totally different constraints, the results are far less dramatic and I can't even feasibly attempt to apply some of the (reputedly) most-productive patterns of working with these things. Meanwhile, LLMs are making all the code-adjacent stuff like slide decks, diagrams, and ticket trackers, incredibly spammy. [EDIT] Actually, I think the question "why didn't Rails' extreme productivity boost in greenfield tiny-team or solo projects translate into vastly-more-productive development across all sectors where it might have been relevant, and how will LLMs do significantly better than that?" is one I'd like to see, say, a panel of learned LLM boosters address. Not in a shitty troll sort of way, I mean their exploration of why it might play out differently would actually be interesting to me. | | |
| ▲ | crystal_revenge 2 hours ago | parent [-] | | > The projects are brown-field, integrate with obscure industry-specific systems, are heavy with access-control blockers These are cases where I've seen agentic solutions perform the best. My most successful and high impact projects have been at work, getting multiple "obscure industry-specific systems" talking to each other in ways that unblocks an incredible amount of project work. |
| |
| ▲ | QuadmasterXLII 5 hours ago | parent | prev | next [-] | | If every project you have tackled has come out successful, then you are managing to never tackle a problem that is secretly literally impossible, which is a property of whatever prefilter you are applying to potential problems. Given that your prefilter has no false positives, the main bit of missing information is how many false negatives it has. | |
| ▲ | pegasus 5 hours ago | parent | prev | next [-] | | > graded live coding examples for interviews Yeah, for those you can just relax and trust the vibes. It's for complex software projects you need those software engineering chops, otherwise you end up with a intractable mess. | | |
| ▲ | crystal_revenge 2 hours ago | parent [-] | | If it's for a complex software project the first question you need to ask is "does this really need to be software at all?" Honestly this is where most traditional engineers get stuck. They keep attacking the old problem with new tools and being frustrated. I agree that agents are not a great way to build "complex software projects" but I think the problem space that is best solved by a "complex software project" is rapidly shrinking. I've had multiple vendors try to sell my team a product that we can build the core functionality of ourselves in an afternoon. We don't need that functionality to scale to multiple users, server a variety of needs, be adaptable to new use cases: we're not planning to build a SaaS company with it, we just need a simple problem solved. But these comments are a treasure trove of anecdotes proving exactly my point. |
| |
| ▲ | alfalfasprout 5 hours ago | parent | prev [-] | | > Strangely I find traditional software engineers, especially experienced ones, are generally the worst at achieving success. They often treat working with an agent too much like software engineering and end up building bad software rather than useful solutions to the core problem. This feels a bit like a strawman. How do you assess it to be bad software without being an engineer yourself? What constitutes successful for you? If anything, AI tools have revealed that a lot of people have hubris about building software. With non-engineers believing they're creating successful work without realizing it's a facade of a solution that's a ticking time bomb. | | |
| ▲ | crystal_revenge 2 hours ago | parent [-] | | > without being an engineer yourself? When did I say I'm not a software engineer? I have a software engineering background (I've written reasonably successful books on software), I've just done a lot of other stuff as well that people tend to find more valuable. > What constitutes successful for you? The problem I need to solve is solved? I'm not sure what other measure you could have. Honestly, people really misunderstand how to use agents. If you're aim is to "build software" you're going to get in trouble, if your aim is to "solve problems" then you're more aligned with where these tools work most effectively. |
|
|