7 ms·
The Case for Software Craftsmanship in the Era of Vibes
- hintymad 1y agoI think the key question is what new or unique problems we need to solve. Unique problems demand unique designs and implementations, which can't be threatened by vibe coding, which requires software craftsmanship. That said, AI-assisted coding should still improve our productivity, therefore reducing the average number of engineers per project. Hopefully Jevon's Paradox will come into play, but that's really not a technical problem but a business one.
- deleted 1y ago[deleted]
- majormajor 1y agoCan you run out of new and unique problems without running out of economic innovation? If there are no new business processes, no new features or products that require new complexity, how is there room for new entrants? You either get a race to the bottom, commodity prices for commodity goods; or market and regulatory capture and artificially high prices and barriers to entry. Where is the room for "vibe coder" - or really any of the business people that would hypothetically be using agents to "just write their own code"? Teams and tools will certainly look different. But people crave novelty which is a big part of why I've never been on an engineering team that was staffed enough to come even close to the output the business owners and product teams desired. So I don't think we'll actually hit the end of the road there. -- In a true-super-human-AGI world things look very different, but then there's one question that matters more than any others: where is the money coming from to build and maintain the machines? The AGI agent that can replace an engineer can actually replace an entire company - why go to a vibe-coding entrepreneur and let them take a cut when you can just explain what you need to an agent yourself? The agent will be smarter than that entrepreneur, definitionally.
- hintymad 1y ago> Can you run out of new and unique problems without running out of economic innovation? Probably not, but the numbers may vary. Case in point, we have a booming chip industry now, but the demand for EE graduates is still far less than that for CS graduates, even under the current tough market condition.
- polishdude20 1y agoHonestly I feel AI has helped me be a better craftsman. I can think "oh it would be kinda nice to add this little tidbit of functionality in this code". Previously I'd have to spend loads of time googling around the question in various ways, wording it differently etc, reading examples or digging a lot for info. This would sometimes just not be worth adding that little feature or nice to have. Now, I can have Claude help me write some code, then ask it about various things I can add or modify it with or maybe try it differently. It gives me more time to spend figuring out the best thing for the user. More various ideas for how to tackle a problem. I don't let it code willy nilly. I'm fairly precise in what I ask it to do and that's only after I get it to explain how it would go about tackling a problem.
- tmsh 1y ago+1 with greater power comes greater responsibility. Power doesn’t mean lack of craft. Just different things to craft. Eg we don’t hand-roll assembly anymore. Still have to know when you need to dive deep and how to approach that.
- ChrisMarshallNY 1y agoI still write my own code. What I have, are a couple of LLM subscriptions (Perplexity and ChatGPT), that I regularly consult. I now ask them even the “silliest” questions. The last couple of days, I tried having ChatGPT basically write an app for me, but it didn’t really turn out so well. I look forward to being able to train an agent on my personal technique and style, as well as Quality bar, and have it write a lot of my code. Not there, yet, but I could see it happening.
- mulmen 1y agoI really don’t think training an agent on “your style” is the future. We’re more adaptable than the agents. I think programming is a job people don’t need to do anymore and anyone who called themselves a software engineer is now a manager of agents. Jira is the interface. Define the requirements. Writing your own code will still be a thing. We’ll even call those people hackers. But it will be a hobby.
- farhanhubble 1y agoI like the article. In fact just yesterday I quipped to someone about how the quality of AI output will be determined by the competence of its "operators". I have always had a strong drive to produce awe-inspiring software. At every job I have had, I have strived for usability, aesthetics, performance and reliability. I have maintained million LoC codebases and never caused a major issue, while people around me kept creating more problems than they fixed. However I do not recall one single word of encouragement, let alone praise. I do recall being lectured for being fixated on perfectionism a few times. I took me 15 years to realize that consumers themselves do not care about quality. Until they do, the minority of engineers who strive for it are gonna waste their efforts. Yes software is complex. Yes, you cannot compare software engineering to mechanical, electrical engineering or architecture. But do we deserve the absolute shit show that every app, website and device has become?
- SebFender 1y agoExactly and that's why we're here - against all odds you do your best to make things right - that's THE job.
- fiddlerwoaroof 1y agoI don’t think it’s true that “consumers don’t care about quality” but rather that their concern for quality doesn’t really manifest itself in those terms. Consumers care about critical tools being available when they need them and businesses often have a hard time situating feature requests in the broader desire for utility and stability (in part because these are things only noticed when things are really bad). Part of my growth as a developer was connected with realizing that a lot of the issues with quality resulted from miscommunication between “the business” and engineers advocating for quality.
- 3dsnano 1y agoagree that we (users, humans, customers) all are desperately reaching for something steady, well designed, rugged. something that people thought about for longer than whatever the deadline they had to work on it. something that radiates the care and human compassion they put into their work. we all want and need this quality. it is harder to pull off these days for a lot of dumb reasons. i wish we all cared enough to not make it so mysterious, and that we could all rally around it, celebrate it, hold it to high regard.
- insin 1y agoThe "Emerging" diagram on the Agentic Engineering page [1] linked from this post is the first time I've seen the exact thing I think of when people start frothing about fleets of agents driving fleets of agents, while just assuming multiplying all those <= 1.0s together will somehow automatically create 1.0 [1] https://zed.dev/agentic-engineering https://zed.dev/agentic-engineering
- mattnewton 1y agoI want to like zed. I keep trying it. Ultimately though none of the rendering speed improvements or collaboration ideas make a difference to me. Then there are major feature gaps like not being able to open Jupyter notebooks or view images when connected over ssh that keep bringing me back to vscode editors where everything just works out of the box or with an extension. The developers have great craftsmanship but, they are also tasked with reimplementing a whole ecosystem. And ultimately I think native performance just keeps being less and less of a draw as agents write most of the code and I spend time reviewing it where web tools are more than adequate. I want craftsmanship to be important as someone who takes pride in their work and likes nice tools. I just haven’t seen evidence of it being worth it over “good-enough and iterate fast” engineering. I don’t think this vision of engineering will win out over “good enough and fast”
- deleted 1y ago[deleted]
- jeremyjh 1y agoI think Zed has the potential to become a good editor some day, and it might be the only editor with that potential. But yes, right now VS Code is more acceptable.
- citizenpaul 1y ago>don’t think this vision of engineering will win out over “good enough and fast” Oh I'm sure of it. However that won't be good enough for the MBA'S. My prediction is that AI slopware is going to drive the average quality of software back down to the buggy infuriating 1000 manual workarounds sofware of the late 90's and early 00's. Then the pendulum will swing back.
- srhtftw 1y ago> I want to like zed. I keep trying it. ... Ultimately though none of the rendering speed improvements or collaboration ideas make a difference to me. I feel this way as well. I've tried to incorporate Zed into my workflow a few times but I keep getting blocked by 30 years of experience with Emacs. E.g. I need C-x 2 to split my window. I need C-x C-b to show me all my buffers. I need a dired mode that can behave like any ordinary buffer. Etc. etc. Sadly the list is quite long and while Zed offers many nice things, none are as essential to me as these.
- ramesh31 1y agoInstead of asking how can we ship more code or how can we ship better code, why not "how can AI give me a better life"? Machines are supposed to make our lives easier. If I can output the same quality at a faster rate of speed, why can't I have that time back to my own life now? This is how my view on agentic coding is evolving toward. I don't want to be under the pressure of doubling my productivity for an employer. I want to capture that gain for myself.
- aiforecastthway 1y ago> If I can output the same quality at a faster rate of speed, why can't I have that time back to my own life now? We have done a terrible job at allocating the net benefits of globalization. We will (continue to) do a terrible job at allocating the net benefits of productivity improvements. The "why" is hard to answer. But one thing is clear: the United States has a dominant economic ideology, and the name of that ideology is not hardworker-ism.
- bluefirebrand 1y ago> I don't want to be under the pressure of doubling my productivity for an employer. I want to capture that gain for myself. Unfortunately this will never happen. I don't think it has ever happened in the history of capital When a machine can double your productivity, capital buys the machine for you and fires one of your coworkers Or the machine makes it so less skilled people can do the same work you do. But since they're less skilled, they command less pay. So capital pays them less, and devalues your work Already seeing this with AI. My employer is demanding all engineers start using LLM tools, citing that it is "an easy 20% boost". Not sure where they got the number but whatever. But is everyone going to get a 20% raise? No. Not a chance. Capital will always try to capture 100% of any productivity gains for themselves
- balamatom 1y ago>"how can AI give me a better life"? that's an easy one: by destroying itself, and taking social media and smartphones with it
- dgb23 1y agoYou need to own parts of the company you work at for that to happen.
- jumploops 1y agoOne of the more exciting aspects of LLM-aided development for me is the potential for high quality software from much smaller teams. Historically engineering teams have had to balance their backlog and technical debt, limiting what new features/functionality was even possible (in a reasonable timeframe). If you squint at the existing landscape (Claude Code, o3, codex, etc.) you can start to envision a new quality bar for software. Not only will software used by millions get better, but the world of software for 10s or 1000s of users can now actually be _good_, with much less effort. Sure we’ll still have the railroad tycoons[0] of the old world, but the new world is so so vast! [0]https://www.reddit.com/r/todayilearned/s/zfUX8StpXM https://www.reddit.com/r/todayilearned/s/zfUX8StpXM
- SoftTalker 1y agoIf Sturgeon’s Law holds (and I see no reason it wouldn’t) we won’t get better software, we’ll get more shit, faster.
- jumploops 1y ago10% of a large pie is more than 10% of a small pie (:
- sudahtigabulan 1y agoThe same applies to the crap 90% ;)
- ecb_penguin 1y ago> One of the more exciting aspects of LLM-aided development for me is the potential for high quality software There is no evidence to suggest this is true. LLMs are trained on poor code quality and as a result, output poor code quality. In fact, the "S" in LLM stands for security, which LLMs always consider when generating code. LLMs are great, but the potential for high quality software is not one of the selling points.
- 1y ago
- SupremumLimit 1y agoThe case the article tries to make doesn’t stack up for me. What you get when it becomes easier to generate code/applications is a whole lot more code and a whole lot more noise to deal with. Sure, some of it is going to be well crafted – but a lot of it will not be. It’s like the mobile app stores. Once these new platforms became available, everyone had a go at building an app. A small portion of them are great examples of craftsmanship – but there is an ocean of badly designed, badly implemented, trivial, and copycat apps out there as well. And once you have this type of abundance, it creates a whole new class of problems for the users but potentially also developers. The other thing is, it really doesn’t align with the priorities of most companies. I’m extremely skeptical that any of them will suddenly go: “Right, enough of cutting corners and tech debt, we can really sort that out with AI.” No, instead they will simply direct extra capacity towards new features, new products, and trying to get more market share. Complexity will spiral, all the cut corners and tech debt will still be there, and the end result will be that things will be even further down the hole.
- agumonkey 1y agoI don't know if it's been documented or studied, but it seems the availability argument is a fallacy. It just open the floodgates and you get 90% of small effort attempts and not much more. The old world where the barrier was higher guaranteed that only interesting things would happen.
- dgb23 1y agoTrivially, fewer interesting things happen if the barrier is incidental to some degree. I think the more pressing issues are costs: opportunity cost, sunk cost, signal to noise ratio.
- scelerat 1y agoIt seems there's some kind of corollary to what you're saying to when (in the US) we went from three major television networks to many cable networks or, later, when streaming video platforms began to proliferate and take hold -- YouTube, Netflix, etc.: The barriers to entry dropped for creators, and the market fragmented. There is still quality creative content out there, some it as good as or better than ever. But finding it, and finding people to share the experience of watching it with you is harder. Same could be said of traditional desktop software development and the advent of web apps I suppose. I guess I'm not that worried, other than being worried about personally finding myself in a technological or cultural eddy.
- vkaku 1y agoThe article is basically: We sell tools that help you vibe but we had to do craft hard and long. That ship has sailed because everyone wants to sell what you're selling. Craftmanship is a blah blah ... maybe, but this is being sacrificed for profit, and the profit happens because everyone wants to vibe. ;) I'm feeling that vibe brah.
- jeisc 1y agoWe can imagine the electricity failing but AI can't because it would be like us imagining the sun failing to shine
- jauntywundrkind 1y agoParticularly anything where the target audience is also highly technical: you can't just throw consumerietic shovelware at folks. They are going to notice! It's challenging & fun to build things where your audience is gonna form their own technical impressions of how well crafted your thing is! It's fun for engineering to matter!
- dismalaf 1y agoAs long as I've followed the software industry there's always been people saying "blah blah craftsmanship blah". The fact is, people don't care about craftsmanship. You can't see the code of most of the software you use and even when you can (FOSS), who's actually looking? Also, the few times I've use "handcrafted" software it's underwhelming in terms of functionality, apart from a few FOSS programs that have thousands of contributors. Life is short and hardware is relatively cheap.
- lionkor 1y agoEverything you use every day depends on a few core libraries and services that are truly crafted by some competent people. Take your browser and all the various fantastic libraries it uses to decode and display content to you. How about cryptography libraries like OpenSSL? Linux itself, I would consider the result of craftsmanship, same with most GNU software. You're really, really, really missing a lot here with your evaluation. You're right, people don't care about craftsmanship, until their vibe coded TLS implementation causes their government to track them down and have them executed. Then, suddenly, it matters. People don't "care" about material science either. Without it, we'd be screwed.
- dismalaf 1y agoYes, I did mention that there's a few FOSS projects that are handcrafted that work because of lots of contributors or at least eyes (I guess I should have also mentioned corporate maintainers). Foundational libraries, Linux kernel, stuff like that. But on the whole, a lot of software (mostly user facing) is pretty bloated, filled with bugs and no one cares.
- dgb23 1y agoThe people who care about craftsmanship, trust that you care. When friends and family ask me about which software to buy/use/install, I recommend them something that I think is well crafted. They ask me, because they know I care.
- dismalaf 1y ago
- dzonga 1y agowe've come a long way from the days of software that does one thing well. back in the days of desktop apps craftsmanship was high VLC, different mac os apps etc. once the web took over - people took quality for granted since you can easily ship a fix (well those never happen). then move fast & break things. software has been shoddy since. Yeah you can make excellent software on web technologies - so the web isn't the problem. it's US.
- neoden 1y agoI am so much out of sync with this idea that a text editor must be blazingly fast. The latency of processing my input was never an issue for me in text editors unless it was an obvious misbehaviour due to a bug or something. And 120Hz text rendering is a thing that I couldn't care less about.
- ale 1y agoIn software like VSCode the milliseconds stack up fast if you're switching between projects constantly and/or doing any kind of remote development.
- yencabulator 1y agoThere's a huge chasm between VSCode-with-all-kitchen-sinks and 120 Hz. "Never freezes for more than 300ms" is a very valid point on that spectrum, and nowhere near the need for GPU acceleration.
- sandos 1y agoIv'e seen people, and even been one myself, where the screen latency could be a problem for your raw text processing speed. We were well under 25 years old at the time though, using very low-level languages, and after 30 I never really felt that the rendering was ever too slow for me. With larger projects and more modern code this is simply not an issue, and hasn't been for decades for me at least. If you are a 10x developer coding assembly, sure?
- godshatter 1y agoCrafting code and designing applications is the fun part of what I do. I do it whether or not someone pays me to. Why would I want to hand that over to an AI app? If I took up painting as a hobby, why would I want a robot to paint for me?
- sokoloff 1y agoYou might want a robot to prepare paints for you and put them into convenient containers, to prepare and trim brush hairs put them in a ferrule onto a stick, prepare canvas or other substrates, cut frame pieces at precise and repeatable angles, or wash/clean up. That would leave you to the creative part of painting, while removing some of the more mechanical and less creative parts.