5 ms·
Personally, I prefer vibe coding in the sense of stitching things together at the function-to-method level. Unlike people who take the extreme position that vi
by jdw64 6mo ago
Personally, I prefer vibe coding in the sense of stitching things together at the function-to-method level.
Unlike people who take the extreme position that vibe coders are useless, I do think LLMs often write individual functions or methods better than I do. But in a way, that does not fundamentally change the nature of the work. Even before LLMs, many functions and methods were effectively assembled from libraries, Stack Overflow snippets, documentation examples, and copied patterns.
The real limitation comes from the nature of transformer-based LLMs and their context windows. Agentic coding has a ceiling. Once the codebase reaches a scale where the agent can no longer hold the relevant structure in context, you need a programmer again.
At that point, software engineering becomes necessary: knowing how to split things according to cohesion and coupling, using patterns to constrain degrees of freedom, and designing boundaries that keep the system understandable.
In my experience, agentic coding is useful for building skeletons. But if you let the agent write everything by itself, the codebase tends to degrade. The human role is to divide the work into task units that the agent can handle well.
Eventually, a person is still needed.
If you make an agent do everything, it tends to create god objects, or it strangely glues things together even when the structure could have been separated with a simpler pattern. Thinking about it now, this may be exactly why I was drawn to books like EIB: they teach how to constrain freedom in software design so the system does not collapse under its own flexibility.
- wombat-man 6mo agoThe models are improving. The software that harnesses them is also improving. It wasn't that long ago that the models were quite bad at a lot of the tasks that they are excelling at today. I do agree there's probably a ceiling to what we can get out of these, but I also don't think we have quite hit that point yet.
- jdw64 6mo agoI agree with what you said. And perhaps my belief that “people like me are still needed” is just a desperate form of self-persuasion. If AI replaces everything, then I become unnecessary. So maybe I am simply trying to convince myself that developers like me are still needed. That said, realistically, I still think there are limits unless the essence of architecture itself changes. I also acknowledge part of your perspective. Those of us who are not in the AI field tend to experience AI progress not as a linear or continuous process, but as a series of discrete events, such as major model releases. Because of that, there is inevitably a gap in perspective. People inside the industry, at least those who are not just promoting hype, often seem to feel that technological progress is exponential. But since we are not part of that industry, we experience it more episodically, as separate events. At the same time, capital has a self-fulfilling quality. If enough capital concentrates in one direction, what looked like linear progress may suddenly accelerate in an almost exponential way. However, even that kind of model can eventually hit a specific limit. I do not know when that limit will arrive, because I am not an AI industry insider. More precisely, I am closer to someone who uses Hugging Face models, builds around them, and serves them, rather than someone working on AI R&D itself.
- tharkun__ 6mo ago“people like me are still needed” is just a desperate form of self-persuasion. No, no it's not. I've seen what "PM armed with an LLM" will do. Trust me, if you're a decent enough Full Stack software engineer that can take an idea and run with it to implement it, you'll have a leg up over the PM with the idea that has no idea how to "do computers". Most of what these PMs can produce nowadays turns boardroom heads, sure. But it's just that: visuals and just enough prototype functionality that it fools the people you're demoing to. Seen enough of these in the recent past. Will there be some PMs that can become "software developers" while armed with an LLM? Sure! But that's not the majority. On the other hand, yes there are going to be "software developers" that will be out of a job because of LLMs, because the devs that were FS and could take an idea from 0-1 with very little overhead even in the past can now do so much faster and further without handing off to the intermediates and juniors. They mentor their LLM intern rather than their intermediates and juniors. The perpetual intermediate devs with 20 years of experience are the ones that are gonna have a larger and larger problem I'd say. The Staff engineer that was able to run circles around others all along? They'll teach their LLM intern into an intermediate rather than having to "10 times" a bunch of perpetual intermediates with 20 years of experience.
- dasil003 6mo agoI agree with you, so far what I see is that AI amplifies an individuals output in many domains, but the value of that is 100% contingent on their judgment. It changes the economics of many tasks, but fundamentally it can't really help you if you don't actually know what you want—which is sort of a shocking number of people in the corporate world where most people are there for a paycheck, and perhaps to pursue some social marker of "success". I'm under no illusions about the goals of AI company execs to justify their valuations (and expenses!) by capturing a huge chunk of global employment value, and the CEOs of many big companies whose financials are getting squeezed for all sorts of reasons and are all too happy to jump on the efficiency narrative of AI to justify layoffs that would have been necessary anyway. Also, AI will keep getting better and it could certainly will move up the food chain—it's already replaced a lot of what I did and I assume capabilities will continue improving for a while even after model capabilities plateau as we improve harnessing, tooling and practice. So yeah, it can replace a lot of what we do, but I'm not running scared because every step of the way I've seen software people are the ones who actually get the most out of LLMs. Sure it can write all the code so the job changes, but even our workflows completely change, it's giving us more of an edge (if we're open to it) than it does to anyone non-technical. At this stage it still feels empowering on an individual level. Now I do worry about the consolidation of power and wealth in a tech oligarchy, but that's an issue we need to deal with at a societal and government policy level. Essentially, I can see AI as having radically different outcome potential based on how it's governed. In one way it can be very empowering to small teams, and reduce coordination costs, and increase competition by allowing smaller groups of people to make more scalable companies. But it could also lead to unprecedented concentration of wealth and power if a small set of AI companies are allowed to capture all the economic gains. I don't think there are any easy answers, but I do feel hopeful that we can figure something out as a society—it certainly seems to be creating some unified sentiment across political lines that have been so polarized and divisive over the last decade.
- ares623 6mo agoAt $800B collective spend, you would hope these things are improving. The point is that have the improvements been worth $800B and counting.
- vasco 6mo agoYes for sure, even if we stopped today the amount of almost free software that can be produced with current models will improve the world by a lot as the knowledge of how to use it propagates over more people.
- ares623 6mo agoCan't wait to eat software for dinner
- ygrr 6mo agoThe problem with this argument is that it shouldn’t take years for these developments to come about anymore. The world is incredibly interconnected via the web - it also explains ChatGPT’s explosive growth. To claim people aren’t trying would be comical - where there’s an opportunity to generate economic profits competition for it will be intense. The best we have external to model producers is cursor and openclaw lmao. The gap between hype and reality is disgustingly large.
- vasco 6mo agoI don't think you're correct. Just think of things like using any computer system in your business, like a spreadsheet to keep track of inventory. From the moment software for spreadsheets became available to most businesses using them, how many years went by? I knew businesses that should have computerized processes that didn't in like 2010. So if you just apply this knowledge that even basic good things take a long time to truly spread and permeate, even if the tech stopped advancing today, the current benefits will take years to fully materialize. There's many "little software tools for X" that now any business owner with a few hours can create. I know many people improving their small businesses for free like this and helped a few friends making their lives easier with "small software" assisted by AI. People that would never afford 20 SaaS products for this and that, and would never go through the hassle of hiring someone to do it custom. And they will be able to do this even if the bubble pops and all the labs go bankrupt by just setting up a little gpu with a local model. I dunno about hype, I just know I have several friends running self made custom software "in production" for small things and almost no help for their classic "offline" businesses.
- ponector 6mo agoIf everything is improving why the quality of the released software is going down?
- 8note 6mo agoits not necessarily better, but its certainly good enough, if youre already used to distributing work to different people the scale of code doesnt really matter that much, as long as a programmer can point it at the right places. i think actually you want to be really involved in the skeleton, since from what ive seen the agent is quite bad at making skeletons that it can do a good job extending. if you get the base right though, the agent can make precise changes in large code bases
- jdw64 6mo agoThinking about it, I think what is interesting about the output of agentic coding is this: I mostly agree with the general tendency that it starts to break down as the context grows. But there is also a difference in how people evaluate it. Some people say agents are good at building the skeleton, while others say they are better at extending an existing structure. I think this depends on the setup, and it is ultimately a trade-off. In my case, I usually work on codebases around 60,000 LoC. The programs I deliver are generally between 60,000 and 80,000 lines of code. I think I can fairly call myself a specialist at that scale, since I have personally delivered close to 40 projects of that size. At that scale, I felt that agentic coding was actually very good at building the initial skeleton. I do not know what kind of work you usually do, but if your work involves highly precise, low-level tasks, then I can understand why you might feel differently. In my case, I mostly assemble high-level libraries and frameworks into working systems, so that may be why I experience it this way.
- sroussey 6mo agoThe coding agents are good at growing code. Like a child growing up! Also, like a cancer. Similar process, different outcomes.
- cdud3 6mo agoThat's why we started to force our developers to take ownership and responsibilities of what there AI ships to other developers for review. It's stunning how the amount of code decreases and the quality of the deliveries improves when developers put extra effort in to iterate on decreasing the complexity AI introduces. In lot of cases you can vibe code that too when understanding the output and guiding your AI on the path.
- DalekBaldwin 6mo agoEIB?
- wklm 6mo agoThey likely meant EIP: https://en.wikipedia.org/wiki/Enterprise_Integration_Patterns https://en.wikipedia.org/wiki/Enterprise_Integration_Pattern...
- slopinthebag 6mo agoI agree. Language models are good at codegen, in some sense they are just another codegen tool, except instead of transforming a structured language (like a config file or markdown) into code, they can convert natural language into code. Genuinely useful for the repetitive boilerplate grunt work. If that's all you do, then I can see fearing getting replaced. Thankfully by handling the drudgery, it frees us up to work on more complex and cutting edge work. Like, it's not surprising that the developers who frequently talk about +90% of their work being delegated to LLMs are web developers. That is a field with very little innovative or complex code, it's mostly just grunt work translating knowledge of style rules and markup to code, or managing CRUD. I'm really thankful I can have a language model do that drudgery for me. But compare that to eg. writing a multithreaded multiplayer networking service in Rust, they fall woefully short at generating code for me. They can be used in auxiliary aspects, like search or debugging, but the code it produces without substantial steering is not usable. It's often faster for me to write the code myself, because it's not a substantial amount of low impact code required, but a small amount of complex high impact code which needs to satisfy many invariants. This is fast to type, the majority of the work is elsewhere. At the end of the day, they work really well to replace typing the boilerplate, which is much appreciated.
- ngruhn 6mo agoTry to get an animation just right without human guidance. It's difficult to give the agent feedback on its work. With browser MCP the agent can only make screenshots and see a single frame of the animation. Also agents are quite slow with browser handling. If the animation starts when a button is clicked, the animation is usually over before the agent has taken the screenshot. All behavior of backend code can at least be described with automated tests.
- slopinthebag 6mo agoYeah like I don't mean to demean front end work because there is a lot of stuff that isn't gruntwork or boilerplate, especially in the artistic fields or UI that is actually really complex. I actually made my initial career off of UI/UX. And a lot of the CRUD backend stuff really is literally just shuffling data in the most boring and replicated way as well. I guess my point is more that we have a lot of code being written that probably should have been automated already in some way, but it was simply more practical to just have people writing it. I dont see much harm in automating it with AI - the people doing the grunt work are largely capable of more, but at the end of the day someone has to dig the ditches. Now that we have a backhoe they can go do more interesting stuff. However when I see people who were largely writing meaningless boilerplate now claiming that software development is dead because they've become automated, I think it's important that people are being realistic about the different contexts in which AI is either useful or not. There is a wide range of experiences, some people believe AI is useful in completely automating their jobs and others feel it's mostly useless, and of course most people are in the middle somewhere. They're all correct, but the context is crucial. As far as I'm concerned it's just another tool in the toolbox.
- rcpt 6mo agoWe all got agents at work now and still the engineers haven't equalized
- colechristensen 6mo agoI've found the LLM limitation of codebase size is removed with correct design of the codebase. If you organize your product into a collection of appropriately scoped libraries (the library is the right size for the LLM to be able to comprehend the whole thing) then the project size is not limited by the LLM comprehension. Your task management has to match, the organization of your ticketing system has to parallel the codebase. With this the LLM can think at different scales at different times.
- slopinthebag 6mo agoYeah but this is just regular programming. Of course you can break things down into the right atomic units where a code gen machine becomes useful. Because you are an expert. People who aren't literally have no clue. In any task, you can break it down no matter how complex into units where a language model can output useful code. The more complex, the smaller the units. At some point it's faster to write it yourself, thats the limit on the codegen. I still don't see how it's anything else than a tool that experienced and knowledgeable workers can use to save time and energy to focus on the hard parts.
- block_dagger 6mo agoThe ceiling will soon be super-human.
- nevertoolate 6mo agoWhat do you base this on? For me it is almost impossible to guess what fits into the context of an llm. Sometimes trivial tasks fail, sometimes quite complex things get one shotted.
- bambax 6mo agoYes, but I don't think having LLMs only write functions, and doing the architecture yourself qualifies as "vibe coding": rather "AI-assisted engineering" (which is what I do). Vibe coding, to me, means having an LLM, with or without agents, do everything after an initial vague prompt. Which is why "anyone" can vibe code (because anyone can write general hand-waving imprecise instructions). This inevitably results in pointless demos and/or unmaintainable monsters.
- altern8 6mo agoHow long before they will raise the amount of context it can hold? Or, it there a ceiling that we can't go passed?
- disgruntledphd2 6mo agoThe context length scales quadratically in terms of compute, so barring algorithmic improvements, there's definitely a limit.
- altern8 6mo agoOK, so we'll have to deal with this for a good while
- ricardobayes 6mo agoYes that is all true. LLMs are excellent in providing a single function, but decision-makers extrapolated that capability so they thought LLMs can work on their own with minimal or no supervision. That's not going to be realistic for a very long time.