4 ms·
A grumpy screed about AI in software engineering
- stackghost 3mo ago>I’d love to find a corner of the world where this hasn’t happened yet [...] Start one? There's definitely a market for software that doesn't give off the corporate, mass-produced, one-size-fits-all energy. 37signals famously made quite a business out of it.
- deleted 3mo ago[deleted]
- veeti 3mo agoGermany is still there.
- block_dagger 3mo agoAfter we get through this slop phase, I think software engineering won’t be about code at all, if it even exists as a profession. Feels like the beginning of the end for the craft.
- avaer 3mo agoThe meaning of code will change. Maybe it will get a new name. Software hasn't been about "real code" (asm) for a long time; yes, this was a common opinion when HLL's and compilers were starting.
- drdaeman 3mo ago> “real code” (asm) You meant actual bytecode? Assembly doesn’t exactly map to in 1:1. x86’s mov eax, ebx is the classic example that has two ways of being encoded. Not to mention sections, labels and all the other fancies.
- avaer 3mo agoThat's correct but a bit nitpicky. We could talk about punchcards too, but I'm not old enough to credibly make that reference :)
- drdaeman 3mo ago:-) I could be wrong, but AFAIK, switchboards^W patch panels were the OG programming method.
- catlifeonmars 3mo agoCam shafts predate them.
- estebarb 3mo agoReal programmers use butterflies (mandatory xkcd reference) https://xkcd.com/378/ https://xkcd.com/378/
- mvkel 3mo agoNo way. It's simply another layer of abstraction. You don't code in binary, or assembly, or C, or vanilla JavaScript anymore. Eventually "coding" will simply be prompting skill with the wisdom of architectural decisions. That's also one way to describe what it's like to code with React et al these days, anyway. Component/hook selection skill with the wisdom of architectural decisions.
- MobiusHorizons 3mo agoPeople code in assembly and c and vanilla JavaScript all the time. You may not, but none of those are even that niche of skills. I’ve even decoded machine code from binary (well hexadecimal, but a raw memory dump) by hand a few times when I didn’t have a disassembler handy. Layers of abstraction don’t prevent the need to understand the layer below, they just reduce the number of times it is necessary, which may allow delegating that knowledge to a smaller pool of people.
- deleted 3mo ago[deleted]
- ElProlactin 3mo agoIt's strange to see this on the site: > While I may use AI for work, my website, and all the content on it, is entirely written by hand. I mean, if you're tired of the slop and what AI is doing to the industry, why do you need to use it for a simple personal website?
- avaer 3mo agoI think they are saying they didn't use AI for it.
- az09mugen 3mo agoYup, just a problem of a misplaced comma I think.Let me rephrase it : "AI is used for work, but my website, and all the content in it, is entirely written by hand." I wonder why your comment gets upvotes until getting to the top.
- WCSTombs 3mo agoOr simply: "While I may use AI for work, my website and all the content on it is entirely written by hand." I don't think the original syntax is incorrect exactly, but too many commas in a sentence can make it harder to parse, which is why style guides often warn about it and advise thinking of certain commas as "optional."
- tired-turtle 3mo agoIt is a great example of a garden path sentence. Our brains’ initial parse of that sentence, while sensible and probable, is incorrect. That is, the mind really wants to interpret “...for work, my website, and all...” as a list, but that leaves a dangling clause! The sentence is grammatical but confusing.
- MattDamonSpace 3mo agoHes saying his site is written by hand
- ssutch3 3mo ago
- shric 3mo ago30 years in the industry for me. It’s been a wild last few years watching this transformation. Like the OP I find it wholly unpleasant and I also can’t deny the productivity boost. I’m very glad I’m nearly ready for retirement and I look forward to watching this “progress” from a comfortable distance.
- simondotau 3mo agoIn all sincerity, what do you mean by wholly unpleasant? 25 years in my case, by the way, and I have found this to be the most liberating and creativity-boosting period of my career. And it’s not even close. I’ve written code in more languages in the past few years than in any other period. I’m finishing more projects than ever before. I’m learning faster than ever before. I’m enjoying programming more than ever before. And to be clear, I don’t use AI for anything other than as a pair programming partner, or to build single-use scripts. I agree that full-blindfold vibe coding is unpleasant, it’s like getting into a debate with a forgetful and emotionless monkey paw. Skip the vibe coding, just let AI be a helper.
- huflungdung 3mo ago[dead]
- deadbabe 3mo agoAI as helper is basically a better google search, which is not much different than what we did before AI (copy paste from stack overflow)
- simondotau 3mo agoThat’s not been my experience. Not even remotely like that. I was never much of a stack overflow block copier. AI lets me do rapid refactoring without messy search and replace. AI lets me rip through logical pinch points without pulling out a whiteboard. And I couldn’t have ever “stack overflowed” my way to diving into a project in a brand new language.
- throwaway74628 3mo agoI anticipate and welcome the market price of slopware dropping to zero, given that it’s now in infinite supply. Too much talent has been cohabiting with SO copypasters, MBA idiots, and management dorks for too long, time to break up.
- avaer 3mo agoFor a hundred years software was inscrutable enough to normies that you could be an artisan. But most professions haven't had that luxury for a long, long time. Try making and selling pretty much anything else you built by hand. Now it's software people's turn to feel the pain of being a starving artist and watch as your attractive friends with no skills and a social media presence "make it" with their genius. We haven't even begun to feel the weight of it yet.
- atomicnumber3 3mo agoWhat doomerism. I really don't see it. Slop has always been cheap. Now it's even cheaper. But software that actually fucking works AND does what you want is still expensive as hell.
- nullstyle 3mo agoFurthermore, software runs the world. Never before have we had such a chance to break the chains.
- deadbabe 3mo agoNo it isn’t. If you don’t care about stuff like security or user friendliness you can do most of what you want through simple shell scripts probably.
- krackers 3mo ago>But software that actually fucking works AND does what you want is still expensive as hell. Skilled craftsmen said the same thing, and yet everyone seems to prefer $1 Temu slop that breaks in a year.
- gumby 3mo agoI remember the same at the advent of desktop publishing
- agentultra 3mo agoThere are cabinet makers who still make pieces by hand with hand tools. They charge whatever they want and do well. Not everything is Ikea.
- askmike 3mo agoThere has always been some level of misalignment between the (beauty of high) quality of products made by craftsmen and the value of these products by whoever consumes them. If you zoom out and look at other industries, we've seen this before many many times: Fast food completely commoditized the food industry. There are still extremely skilled people making the "highest quality" food. For example those at michelin star restaurants, these businesses typically don't make money by selling food anymore, they stay around for other reasons (hotel needs a fancy restaurant with a famous chef). We've seen the same when it comes to many other products: toys, furniture, most electronics, etc. Nobody can swim against the forces of capitalism here, just not enough people care about high quality hand crafted software (the only people that really do are people right here in this thread hand crafting software). Sure there will be some corners of the economy where people doing everything by hand will keep their head above the water. Think of it this way: back when people were sending letters to each others and responses took weeks, people (non professional writers) put a lot of thought into writing these letters. I'm sure if you show these people the average (non AI) emails we've been sending each other the last few decades they will complain about all the slop too (including how we all converse to each other right here). But you can definitely argue that this exponentially increased communication and sharing of ideas has outweighed our decreased ability to write properly (in self defense: I'm not a native english speaker). This obviously sucks for those who care about high quality hand crafted software, but this is going to open the floodgates in terms of the accessibility of software development. And it's yet to be seen whether this is going to take all our jobs away or not. What's very much true (like the article says) is that the future job of software dev is going to look different, and the change is coming fast.
- jchw 3mo agoI can't deny this is true, but it hasn't made me hate my job. More than anything, I'm trying to figure out how to thrive in a very different environment. I've definitely realized that sitting there and handcrafting my code to try to make it perfect isn't what my employer is going to want; they want a balanced trade-off. So, I need to find a good split in the middle where I can still add value by using my experience and skills to shape good quality, maintainable code, but I also am trying to use LLMs in places where they are doing a good job. The quality of the generated code, sans the unbelievably bad English prose, has gone up a fair bit, making me wince a bit less about it. But, the sentiment about drowning in slop, well. Yeah kind of. I am not sure the polite way to tell people they should be thinking for themselves rather than just repeating what an LLM told them. I absolutely use LLMs to assist in reviewing my own code as well as others, but I am always using my own judgment and speaking in my own voice. I will never copy-paste an LLM comment as if I wrote it, and I don't think even with a proper disclaimer that I'll ever copy-paste an LLM comment that I don't understand enough to confirm and rephrase on my own - instead, I use the LLM insights as a starting point. If I don't understand them, I dig deeper. If I disagree with the comment, I disregard it. And finally, if I understand it fully and agree with it, then I bring it up in code review, in my own voice. I'm a little more lax when it comes to LLM generated code. A lot of test suites are already kind of a bit pointless thanks to the flawed prioritization of code coverage as a metric (it isn't a bad one generally, but there are cases where it is tragically bad, like when the code you are testing is effectively a DSL and the assertions are restatements of the DSL's contents...) and even when it's not, LLMs are often useful for generating decent test suites. Still a good idea to read them, but I give LLM-generated tests less attention and manually exercising code more attention: it seems like a good tradeoff to get a productivity improvement from LLMs. To me the biggest sin is using LLMs or generative AI and pretending it is your own human expression. Please use your own words. If that's too much effort, I'm afraid I don't really want you working where I work or posting where I post, just for the sake of everyone's sanity. All of your LLM-assisted blog posts read like absolute shit and I'm tired of all of the excuses for it.
- adamtaylor_13 3mo agoWhy do some software engineers love AI and some hate it? I've got senior engineers (20+ yoe) who have never been having more fun and then some who feel like OP here. Why is it so decisive? There's no other tool (not even emacs) that's caused this sort of division.
- agentultra 3mo agoIt's not hard to observe what the tools and systems can do. It's impressive. But I suspect for some the trade-off is not worth it based on their principles. No amount of disbelief or encouragement will change that.
- andrekandre 3mo ago> Why do some software engineers love AI and some hate it? n=1 but i'd say 3 aspects for me: 1. its forced on me at $job; its just a tool so let me use it when i need it and stop making my work-life miserable with childish tokenmaxing leaderboards 2. co-workers who send low-effort low-quality pr's that introduce tons of complexity and waste everyone's time and that they cant answer basic questions about because they no longer know how it works 3. the absolute cult-like manic behavior with some people around "ai"... yes its fun and interesting and cool tech so please stop treating it like a religion ffs just my 3c
- DSMan195276 3mo agoI agree and would add to that from my experience: 1. Too many people think that having lots of text makes something impressive, really it's just inconsiderate and nobody is reading it all. 2. Helping people often feels pointless because I can tell I'm just getting a cut/paste AI response back.
- stiglitz 3mo agoIt's a Skinner box of productivity. Of course it's polarizing. My own enthusiasm varies wildly day to day. I've been sick of squinting at punctuation marks and opening sequences of of tabs to trace through annoying abstraction layers for a long time; so I'm really excited to see those activities effectively automated away. But the same tools enable some really bad behavior (in myself and others), which really gets me down.
- fzeroracer 3mo agoI'm sitting at about a decade of experience and it feels equally bad here. Honestly right now I'm mostly waiting for either AI to blow up and companies to scale back massively or for other engineers to deskill themselves into oblivion so that skilled engineers get the edge again. If neither gambit pay out then I'll just go find some other career and keep software as my hobby. I'm not going to let this billion dollar industry ruin the thing I enjoy.
- deleted 3mo ago[deleted]
- fusslo 3mo agoMy org has restructured to gear up for reducing engineers' necessary skills They've changed our job titles from 'Engineer' to 'Developer'. Power (in the form of talking to business owners, organizing work, setting engineering direction) has been centralized. We had 6 engineering managers now we have one 'Director'. I don't think I've solved a real problem in 8 months.
- georgehotz 3mo agoHow much of modern software was slop before AI? Is this really something new? I argue it's been happening in many companies since at least 2010. Made with good old fashioned humans and some help from ZIRP. Remember that time I worked at Twitter? SQLite is the most popular database in the world. It's maintained by 3 people. There's hope. AI is a great tool that's here to help you if you want, but at the end of the day, the output matters and it's quality not quantity. Don't work for people who don't agree.
- nunez 3mo agoWith all due respect, this is a bit disingenuous coming from you. GitHub's exponential growth in number of commits and PRs answers your question. Before AI, if you wanted to contribute to OSS, you had to have _some_ idea of what the code did. At least enough of an idea to compile it so that you could test your changes. That was the bar. Sure, lots of low quality PRs existed, but that gate kept the influx somewhat manageable. Also, the diffs were a lot smaller, as bigger diffs meant bigger effort, a risky gamble for a PR that might not get merged. You've lived that life, so you get it. Post AI (post Opus, really), any hooligan with $200/mo to burn can "land" a Heisenberg sized PR into any project with green tests without having the slightest bloomin' clue what their diff does or how the codebase they're integrating into works. That's impossible for humans to keep up with. For every SQLite cathedral, there are a hundred corporate projects whose employers are mandating 100% AI generation with manual PR/MR merges.
- georgehotz 3mo agoThe AI PRs are a bit annoying, but I've been learning new ways to see the signal and it's not that bad. Heisenberg sized PRs from new contributors never should have been merged even pre AI. AI is like a new version of the software engineering game came out and the meta shifted, but the new game is pretty cool!
- cognitiveinline 3mo agoSoftware is solved. Significant amount of code written (>90% of engineers) wrote slop. And it would get merged. Overall - both floor and ceiling of quality of software has definitely been raised. Just that it's had a labor scare and impact. Before it needed you to jailbreak a console. Today point frontier at a console, and it could also figure it out. The console folks also can do that before release and ensure it's unbreakable. Now that software is solved, we are faced with the philsophical necessity of our vocation.
- spicyusername 3mo agoIn another decade I expect the processes and procedures will catch up. We're at that awkward time where there is still an expectation to fill out JIRA tickets, but it is possible to ship multiple features at once in less time than the planning meeting takes. As the models improve, the slop will reduce. As the humans improve, the processes and procedures will change to match the new paradigm, whatever it becomes.
- pianopatrick 3mo agoI think this is just a moment in time. People are spending billions of dollars to figure out how to make this AI stuff work better. A lot of the smartest people in the world are working full time to improve things. Give AI a few years and see how you feel after people have made the AI and the tools to use AI even better.
- lightandlight 3mo ago> Good luck standing out universe filled with AI slop apps. This was written sarcastically, but I'm optimistic. The more crap that's out there, the more refereshing and noticeable it is when something is good.
- cws_ai_buddy 3mo ago[flagged]