Enterprise software tends to particularly bad because it's being sold to managers who won't use it themselves. Consumer software tends to be more user-friendly (or it won't sell), but popular software isn't always what you want.<p>When writing software for yourself, there is a bias towards implementing just the features you want and never mind the rest. Sometimes the result can be pretty sloppy, but it works.<p>However, code health is a choice. You just need to know what to ask for. A coding agent can be used as a power washer to tidy up a project. This won't result in great art, but like raking leaves or cleaning your steps or plowing a driveway, it can be satisfying.<p>Just as you wouldn't use a power washer to clean a painting, maybe there's some code that's too delicate to use a coding agent on? But for a project that has good tests and isn't that delicate, which I believe includes most web apps, nobody's going to want to pay for you to do it by hand anymore. It would be like paying someone to clear the snow in a parking lot with a shovel rather than hiring someone with a plow.
Consumer software can be good, but it's often also optimized for max engagement, not for the actual value or functionality.<p>Enterprise software can be because there isn't an incentive mismatch, good solution is more valuable for the customers, it will sell better and they're willing to pay for it.<p>But like you say, lot of enterprise software is bad because it's optimized for the payer, not the user, and it's often shoehorned to weird workflows of the particular enterprise.
Enterprise software is also particularly bad because many of the customers get to demand that things work the way they want. Leading to a million weird functions, toggles, configurability because some manager in charge of making a big purchase demanded that first it must do X, many of these features left with not even a single user after the original requester leaves. While consumer software the individual consumers just get what they are given, and a single product manager/team decide what's best.
I love the references to Jacques Ellul's ideas, which I think are interesting to reflect on in an AI age. It helps make clear that what is fundamentally at stake in much technological "progress" is an (often only tacitly acknowledged) sublimation of "efficiency" to the place of highest value.<p>What's fascinating is that this value elevation seems to have gone largely unchallenged, despite being in essence an arbitrary value choice. Other choices are possible. And, I hope, still are possible, despite what the bigcorps declare must be the case in order to maximize shareholder returns.
This really nails the core issue: AI thrives in environments where software is treated as “good enough” optimization rather than craft. It’s not replacing great engineers so much as exposing how much of modern software has already become rote, metric-driven work. The Arts & Crafts parallel feels especially apt as mass-produced code gets cheaper, human judgment and taste become the real scarce resources.
> But there are serious limits. [Your coding agent] will lie to you, they don't really understand things, and they often generate bad code.<p>I think that really high quality code can be created via coding agents. Not in one prompt, but instead an orchestration of planning, implementing, validating, and reviewing.<p>Its still engineering work. The code still matters. Its just a different tool to write the code.<p>I'd compare the difference between manually coding and operating a coding agent to the difference between a handsaw and a chainsaw - the end result is the same but the method is very different.
> the end result is the same but the method is very different.<p>I dont think anyone really cares at all about LLM code that is the exact same end result as the hand written version.<p>It's just in reality the LLM version is almost never the same as the hand written version, it's orders of magnitude worse.
But a lot of people don't think like this, and we must come to the unavoidable conclusion that the LLM code is better than what they are used to, be their own code, or from their colleagues.
Speak for yourself.
I mean yes, i am speaking for myself. I am drowning in mountains of LLM slop patches lol. I WISH people were using LLMs as "just another tool to generate code, akin to a vim vs emacs discussion."
LLMs are an amplifier. The great get greater, and the lazier get lazier.
I'm so sick of being dumped 1000 line diffs from coworkers who have generated whole internal libraries that handle very complicated operations that are difficult to verify. And you just know they spend almost no time properly testing and verifying since it was zero effort to generate it all in the first place.
> Not in one prompt, but instead an orchestration of planning, implementing, validating, and reviewing<p>Lots of times I could just write it myself and be done with it
Sure and lots of times I can walk places. That doesn't mean bikes, cars, trains and planes aren't incredibly useful. They let me achieve things I can't in other ways for example transporting cargo without a team of people to help me. Just like AI coding.
Would you still use your car if you ended up in the wrong destination half the time?
Yet replacing walking with cars is often cited as one of the reasons for many of society's ills.
Maybe your analogy holds if driving and walking took the same amount of time.<p>Plus "planning, implementing, validating, and reviewing" would be a bit like walking anyway in your analogy.
>I think that really high quality code can be created via coding agents. Not in one prompt, but instead an orchestration of planning, implementing, validating, and reviewing.<p>Do you have any advice to share (or resources)? Have you experienced it yourself?
> high quality code<p>What does high quality code look like?<p>> The code still matters.<p>How so?
The AI code takeover will not free engineers up to do craftsmanship. It will annihilate the last vestiges of craftsmanship forever.
New technology does not eliminate old technology or craftsmanship. It just shifts who uses it and what for.<p>- Power tools didn't annihilate the craftsmanship of hand-tool woodworking. Fine woodworkers are still around and making money using hand tools, as well as hobbyists. But contractors universally switched to power tools because they help them make more money with less labor/cost/time.<p>- A friend of mine still knits on a loom because she likes using a loom. Some people knit by hand because they like that better. Neither of them stopped just because of large automated looms.<p>- Blacksmiths still exist and make amazing metal crafts. That doesn't mean there isn't a huge market for machine cast or forged metal parts.<p>In the future there'll just be the "IDE people" and the "Agent Prompt people", both plugging away at whatever they do.
You give examples where crafts based on pre-industrial technology still exist. You're right, but you're proving the GP's point.<p>200 years ago, being a blacksmith was a viable career path. Now it's not. The use of hand tools, hand knitting, and hand forging is limited to niche, exotic, or hobbyist areas. The same could be said of making clothes by hand or developing film photographs. Coding will be relegated to the same purgatory: not completely forgotten, but considered an obsolete eccentricity. Effectively all software will be made by AI. Students will not study coding, the knowledge of our generation will be lost.
> Effectively all software will be made by AI. Students will not study coding, the knowledge of our generation will be lost.<p>Given the echo chamber of HN when it comes to AI that certainly seems inevitable. The question is - who would work on novel things or further AI model improvements if it so happens that knowledge of writing software by hand disappears?
The examples given are using tools to do well-defined, repeatable processes. So far, despite many attempts by upper management to make software the same way, it hasn't happened, and AI doesn't appear to be any different.<p>I don't see a huge difference between people writing in a high-level language and people writing complex prompts.
+1 for the mention of Forth. I use it often. LLM answers are possible now, but they are like translated C. It’s very bad style.<p>The standard: Forth words should be a few lines of code with a straightforward stack effect. Top level of a program might be 5 words.<p>LLM will generate some subroutines and one big word of 20-50 lines of nested IF..THEN..ELSE and DO..WHILE just as if it writing C.
The framing of craft vs. slop misses something important: most production software quality problems aren't about aesthetics or elegance, they're about correctness under real-world conditions.<p>I've been using AI coding tools heavily for the past year. They're genuinely useful for the "plumbing" - glue code, boilerplate, test scaffolding. But where they consistently fail is reasoning about system-level concerns: authorization boundaries, failure modes, state consistency across services.<p>The article mentions AI works best on "well-defined prompts for already often-solved problems." This is accurate. The challenge is that in production, the hard problems are rarely well-defined - they emerge from the interaction between your code and reality: rate limits you didn't anticipate, edge cases in user behavior, security assumptions that don't hold.<p>Craft isn't about writing beautiful code. It's about having developed judgment for which corners you can't cut - something that comes from having been burned by the consequences.
> Craft isn't about writing beautiful code. It's about having developed judgment for which corners you can't cut - something that comes from having been burned by the consequences.<p>That's why I'm of the opinion that for senior developers/architects, these coding agents are awesome tools.<p>For a junior developer? Unless they are of the curious type and develop the systems-level understanding on their own... I'd say there's a big chance the machine is going to replace their job.
Most people using LLMs dont have this craft...... which begs the question. Should they be using LLMs in the first place? Nope. But given that its rammed down their throat by folks internally and externally, they will.
I feel like one of the things that's not said enough, and which I think is conflating the effectiveness of AI in the eyes of actual software engineers, is that, for the most part, most code produced IS lousy. The craft of programming has been watered down so much in favor of results, and so much code is disposable or write-and-use once, that quality just became less relevant.<p>I remember when I first started out programming 20 years ago, there was <i>time</i> to craft good quality code. Then there were more and more pushes to get more code out faster, and no one really cared about the quality. Bugs became part of the cost of doing business. I think GenAI for code fits well in the more recent paradigm, and comparing it with hand-crafted code of yore is a bit disingenuous, as appealing as it may be, because most code hasn't been that good for a long time.<p>I am sad to admit it, but AI is just fitting in where poor coding practices have already existed, and flourishing in that local maxima.
As someone who resists agents, I agree with all of this 100%, especially that it's not said enough, because this is exactly what I've railed against most of my career. There is a HUGE "LOL all code sucks" sentiment across the majority of our industry and I friggin' hate it.
This argument is basically just the 1800s Luddite vs Industrialist argument recast for a new age. Group A thinks quality is about human agency, and that machines are being used to bypass the apprenticeship system and produce inferior goods. Group B thinks efficiency is the highest priority, and craft is just vanity. Of course as we know we went a third way, and human roles just shifted.<p>I think one promising shift direction is humans do NOT like to talk to bots, especially not for anything important. It's biological. We evolved to learn from and interact with other humans, preferably the same group over a long time, so we really get to understand/mirror/like/support each other.
<i>sighs</i> pulling out this quote again:<p>"Luddites were not opposed to the use of machines per se (many were skilled operators in the textile industry); they attacked manufacturers who were trying to >>circumvent standard labor practices<< of the time."<p>Luckily, the brave government's troops, show trials and making '"machine breaking" (i.e. industrial sabotage) a capital crime"' solved the crisis of these awful, entitled workers' demands once and for all and across all time.<p>I'm sure that any uppity workers in our present age can also be taught the appropriate lessons.
I wonder if the workers of the time were as responsible for the propaganda as we are... It seems like the ultimate heist when capital can get labour to propagate their own messaging.
Ordinarily yes I’d love to overthrow the bourgeoisie (check my history, I live in flagged threads), but this time I think this thread is really just about the evolution of the profession.
To be clear, I'm an accidental member of the haute bourgeoisie, and under normal circumstances, I cannot be harmed directly by this, or any, new evolution of labor relations.<p>I was mostly annoyed because Luddites were an early labor movement and their demands were, by modern standards, normal, but they are continually invoked like they believed and demanded things they did not.<p>I do agree the profession, if we dare diminish coding to exactly one thing, is changing, but I believe the direction of that evolution, unchecked, will exacerbate the ongoing attenuation of the power of labor in the US, even as workers individually become more 'productive'.<p>Quoting you from elsewhere: "Reminder that the most reliable way to prevent the rise of the far right is to implement robust safety nets and low inequality, to reduce status anxiety and grievance."<p>We agree here, and likely elsewhere, so keep fighting the good fight on this orange hell site (and also outside if you're able).
This evolution comes at a cost - if one senior suddenly can do their work and plus work of 5 juniors - why would company keep these juniors? It won't - the moment C-suite realizes they don't need extra people, they will be gone. But at some point senior engineers will retire or find new better paying jobs and said company would need to find a replacement. In the past this replacement could come from one of the juniors that worked in that company for a while and mentored by the senior. Not so much when there's no more juniors thanks to AI.<p>Not so much evolution here, I'm afraid. Just a plain redistribution of wealth upwards thanks to new tools that made large chunk of workforce obsolete. How this will affect industry in 15 years - nobody seem to think about that.
The Luddites indeed lost their jobs to machines, but they could find other jobs, and their children adapted to the changed world.<p>Dario Amodei, CEO of Anthropic, thinks that this disruption be different from that one. From his article The Adolescence of Technology, currently on HN's front page:<p>> AI will be capable of a very wide range of human cognitive abilities—perhaps all of them. This is very different from previous technologies like mechanized farming, transportation, or even computers. This will make it harder for people to switch easily from jobs that are displaced to similar jobs that they would be a good fit for. For example, the general intellectual abilities required for entry-level jobs in, say, finance, consulting, and law are fairly similar, even if the specific knowledge is quite different. A technology that disrupted only one of these three would allow employees to switch to the two other close substitutes (or for undergraduates to switch majors). But disrupting all three at once (along with many other similar jobs) may be harder for people to adapt to. Furthermore, it’s not just that most existing jobs will be disrupted. That part has happened before—recall that farming was a huge percentage of employment. But farmers could switch to the relatively similar work of operating factory machines, even though that work hadn’t been common before. By contrast, AI is increasingly matching the general cognitive profile of humans, which means it will also be good at the new jobs that would ordinarily be created in response to the old ones being automated. Another way to say it is that AI isn’t a substitute for specific human jobs but rather a general labor substitute for humans.
> I think one promising shift direction is humans do NOT like to talk to bots, especially not for anything important. It's biological.<p>Let me tell you why I like shopping from amazon instead of going to a super market...<p>But also the older I get I keep wanting to visit the store in person. It's not to see the other human, I just want to hold the thing I want to buy and need it immediately instead of waiting. I feel like there isn't enough time anymore.
I dont think it's the same at all. when weaving was displaced, yes some people were pissed about losing their livelihood, but the quality of the cloth didn't diminish.<p>when CNC came for machining, no one really bitched, because the computers were just removing the time consuming effort of moving screws by hand.<p>when computers write code, or screenplays, the quality right now is objectively much worse. that might change, but claims that we're at the point where computers can meaningfully displace that work are pretty weak.<p>sure that might change.
Cloth absolutely has gotten worse over the last two hundred years since industrialization. It's also orders of magnitude cheaper, making it worth it, and certainly new types of cloth are available that weren't before, but we're not better off in every possible way.
>but we're not better off in every possible way<p>I'd argue that we are, because cloth of higher quality than anything that has ever existed before is available today, it's just really expensive. But high quality cloth was also expensive back then.<p>I think you are making the error of comparing cheap clothes of today with expensive clothes of the past, rather than cheap clothes with cheap clothes and expensive with expensive. People of the past might have had higher quality clothes on average, but its because those clothes were expensive despite being the cheapest available. Trust me, if Shein was around in 1780, <i>everyone</i> would be wearing that garbage.
We're definitely worse off when fabric now is mostly synthetic fabrics that flood the environment with microplastics, and last a much shorter amount of time. Of course, that's good for the fashion industry since it means they can sell more often.
Is there any type of clothing that existed in the 1800s that you could actually not buy or have custom made today?<p>On the other hand, you could not buy a Gore-Tex Pro shell or an ultralight down jacket for any price in 1800.
The result being worse generally doesn't stop humans from being displaced. Clothes made today are notably worse than the handmade ones.
The available quality of cloth did, in fact, diminish.
Hold up, <i>why</i> it changed matters to parent-poster's argument. Consider the difference between:<p>1. "The technology's capability was inferior to what humans were creating, therefore the quality of the output dropped."<p>2. "The costs of employing humans created a floor to the price/quality you could offer and still make a profit. Without the human labor, a lower-quality product became <i>possible</i> to offer."<p>The first is a question of engineering, the second is a question of economic choice and market-fit.
Some of both.<p>The fabric and clothes were worse, and cheaper. This put many traditional workers out of business, making actually good clothes scarcer, and eventually, more expensive than they previously were.
Not really. Polymers in clothes are everywhere and they have very désirable properties compared to pure cotton. Untreated cotton had many problems.
It has nothing to do with luddites.<p>Software quality about speed of delivery and lack of bugs.<p>If you're fine with software which gets a little bit harder to work on every time you make a change and which might blow up in unexpected ways, AI is totally fine.<p>Ive yet to meet many AI champions who are <i>explicit</i> about their desire to make that trade off though. Even the ones who downplay software quality arent super happy about the bugs.
> If you're fine with software which gets a little bit harder to work on every time you make a change and which might blow up in unexpected ways, AI is totally fine.<p>While the speed and scale at which these happen is definitely important (and I agree that AI code can pose a problem on that front), this applies to every human-written piece of software I've ever worked on too.
> If you're fine with software which gets a little bit harder to work on every time you make a change and which might blow up in unexpected ways,<p>human written code is similarly fine. Save for very few human individuals.
Maybe kids will end up preferring to talk to bots, much like the generations after my own actually preferred digital compression artifacts in their music.
> It's biological.<p>Nonsense. We never evolved to send text messages and yet here we are with social networks, chat systems and emails used everywhere for everything.
Stop arguing about whether AI ruins craft.
Fix the incentive structures so that increased productivity buys humans time, not disposability.
Then see what kind of craft emerGe
AI takes jobs faster than creating new ones.<p>That's the problem.
On a side track, I wish to express my fears regarding AI<p>Unfortunately for the general populace, most technological improvements in information technology, for the past 5 decades, has lead to loss of political control and lessened their leverage for political change.<p>With AI, this change is going to be accelerated a 100 times.<p>With current AI slop, and more importantly, almost indistinguishable from reality, AI based content, the populace is going slowly learning to reject what they see and what they hear from mass media.<p>AI has muddied the pool so much, that every fish, us, cannot see the whole pool. What this will lead to, is for political figures and bad actors to, much more easily almost with no effort at all, create isolation among people.<p>No event will create a mass uprising, because no event can be believed by a common mass. It will be easy to generate an alternative reality using the same AI.<p>Now, the political class and the billionaire class, are free to act with impunity, because the last check on their power, the power of mass media to form public opinion, to inspire the masses to demand change or accountability, has eroded to the point of no return. (They have already captured the institutions of public power)<p>I fear for the future of humanity.<p>Edit : There are already troubling signs from the billionaire class regarding this. There is a narrative to "ensure guardrails" for AI, sort of giving the populace the idea that once that is done, AI is acceptable. This is like saying, "better have a sleeve on the knife, so that no one can cut with it, but use it as a prop in a movie"<p>They are creating this narrative that AI is inevitable.<p>They are fear mongering that AI is going to take jobs, which it will, but it also goads the capable ones to get on to the bandwagon and advance AI further.
Mass media has been going to shit for a long time anyway. People have always chosen to believe tons of insane things.<p>AI will cause plenty of problems of course, because it puts a powerful tool in the hands of those who shouldn't use it, but also, many people shouldn't drive cars or use the internet.<p>AI is inevitable, just as calculators and computers were. I suspect that no humans will write code by hand in a not so distant future. The machines will be far too effective.<p>Personally, I love the acceleration we're seeing since the coming of computers. The internet is a big black mirror, scary, beautiful, and ugly, just like us. AI feels similar to me.<p>Will some things get worse because of AI? Probably. But maybe it'll also help to save us from ourselves. If nothing else, it will probably force some investment into long overdue security, identity, and trust issues.
> People have said that software engineering at large tech companies resembles "plumbing"<p>> AI code [..] may also free up a space for engineers seeking to restore a genuine sense of craft and creative expression<p>This resonates with me, as someone who joined the industry circa 2013, and discovered that most of the big tech jobs were essentially glorified plumbers.<p>In the 2000s, the web felt more fun, more unique, more unhinged. Websites were simple, and Flash was rampant, but it felt like the ratio of creators to consumers was higher than now.<p>With Claude Code/Codex, I've built a bunch of things that usually would die at a domain name purchase or init commit. Now I actually have the bandwidth to ship them!<p>This ease of dev also means we'll see an explosion in slopware, which we're already starting to see with App Store submissions up 60% over the last year[0].<p>My hope is that, with the increase of slop, we'll also see an increase in craft. Even if the proportion drops, the scale should make up for it.<p>We sit in prefab homes, cherishing the cathedrals of yesteryear, often forgetting that we've built skyscrapers the ancient architects could never dream of.<p>More software is good. Computers finally work the way we always expected them to!<p>[0]<a href="https://www.a16z.news/p/charts-of-the-week-the-almighty-consumer?open=false#%C2%A7app-store-engage" rel="nofollow">https://www.a16z.news/p/charts-of-the-week-the-almighty-cons...</a>
> joined the industry circa 2013, and discovered that most of the big tech jobs were essentially glorified plumbers<p>Most tech jobs are glorified plumbers. I've worked in big tech and in small startups, and most of the code everywhere is unglamorous, boring, just needs to be written.<p>Satisfaction with the job also depends on what you want out of it. I know people who love building big data pipelines, and people who love building fancy UIs. Those two groups would find the other's job incredibly tedious.
The right job for a person depends on whether they can rise above the specific flavor of pain that the job dishes out. BigTech jobs strike me as having an inextricable political element to them: so you enjoy jockeying for titles and navigating constant reorgs?<p>The pay is nice but I find myself…remarkably unenvious as I get older.
Big companies are political and re-orgs lead to layoffs. Startups are a constant battle for funding and go out of business. Small companies mean a lot of exposure to bad management and budget issues. Charities are highly regulated and audited environments. Government jobs have no perks and entrenched middle management.<p>Every type of work has its idiosyncrasies, which people will either get on with or not. Mentioning one without the others is a bit disingenuous, or its whatever the opposite of the grass-is-greener bias is.
Plumbing has certification and industry best practices, and its leaks generally affect a few blocks at most rather than spraying across the entire internet.
Er... we sit in prefab homes? Trailers are generally considered to be the worst possible quality of home construction and actually lose value instead of the normal appreciation real estate has.
[flagged]
something incredible just happened, I was moving in my bed and somehow pressed the hotkey combination for reader mode on my keyboard, which centered everything nicely for me<p>had no that feature existed in firefox
It’s easy to forget that any artifact - painting, music, text, or software - that appeals to a large number of people is, by definition, an average on the spectrum of quality.<p>Popular music tends to be generic. Popular content is mostly brainrot these days. Popular software is often a bloated mess because most users’ lives don’t revolve around software. They use software to get something done and move on.<p>I never understood the appeal of “craft” in software. Early computer pioneers were extremely limited by the tech of their time, so the software they hacked together felt artsy and crafty. Modern software feels industrial because it is industrial - it’s built in software factories.<p>Industrial software engineers don’t get paid to do art. There are research groups that do moonshot experiments, and you can be part of that if it’s your thing. But lamenting the lack of craft in industrial software is kind of pointless. Imagine if we’d stopped at crafty, handmade auto engines and never mass-produced them at scale. We don’t lament “crafty engines” anymore. If you want that, go buy a supercar.<p>Point is: AI is just another tool in the toolbox. It’s like Bash, except calling it that won’t pull in billions of dollars in investment. So “visionaries” call it ghost in the machine, singularity, overlord, and whatnot. It produces mediocre work and saves time writing proletariat software that powers the world. Crafty code doesn’t pay the bills.<p>But I’m not saying we shouldn’t seek out fun in computing. We absolutely should. It’s just that criticizing AI for not being able to produce art is an old thing. The goalpost keeps shifting, and these tools keep crushing it.<p>I don’t use AI to produce craft, because I don’t really do craft in software - I have other hobbies for that. But I absolutely, proudly use it to generate mediocre code that touches millions of people’s lives in some way.