5 ms·
People are absolutely insane with their takes on AI replacement theory. The complexity of our stacks has grown exponentially since the 70s. Very few people actu
by toprerules 2y ago
People are absolutely insane with their takes on AI replacement theory. The complexity of our stacks has grown exponentially since the 70s. Very few people actually comprehend how many layers of indirection, performance, caching, etc. are between their CRUD web app and bare metal these days.
AI is going to increase the rate of complexity 10 fold by spitting out enormous amounts of code. This is where the job market is for developers. Unless you 100% solve the problem of feeding every single third party monitoring tool, logging, compiler output, system stats down to the temperature of RAM, and then make it actually understand how to fix said enormous system (it can't do this even if you did give it the context by the way), then AI will only increase the amount of engineers you need.
- theGnuMe 2y agoI wonder if anyone is applying AI to cobol…
- Blackthorn 2y agoThere's no readily available Stack Overflow answers for Cobol, so it'll do about as good there as it does digital signal processing.
- stray 2y agoI think IBM is using LLM to rewrite COBOL code into Java.
- bigbones 2y agoI expect pretty much the opposite to happen: it makes sense for languages, stacks and interfaces to become more amenable to interfacing with AI. If a machine can act more reliably by simplifying its inputs at a fraction of the cost of the equivalent human labour, the system has always adjusted to accommodate the machine. The most obvious example of this already happening is in how function calling interfaces are defined for existing models. It's not hard to imagine that principle applied more generally, until human intervention to get a desired result is the exception rather than the rule as it is today. I spent most of the past 2 years in "AI cope" mode and wouldn't consider myself a maximalist, but it's impossible not to see already from the nascent tooling we have that workflow automation is going to improve at a rapid and steady rate for the foreseeable future.
- dmix 2y agoI wonder if AI is going to reduce the amount of JS UIs. AI bots can navigate simple HTML forms much easier than crazy React code with 10 layers of divs for a single input. It's either that or people create APIs for everything and document how they are related and interact with documentation.
- baq 2y agoClaude is so good at react the amount of UIs will increase.
- toprerules 2y agoYou're missing the point, there are specific reasons why these stacks have grown in complexity - even if you introduce "API for AI interface" as a requirement, you still have to balance that with performance, reliability, interfacing with other systems, and providing all of the information necessary to debug when AI gets it wrong. All of the same things that humans need apply to AI - the claim for AI isn't that it deterministically solve every problem it can comprehend. So now we're looking at a good several decades of us even getting our human interfacing systems to amend themselves to AI will still requiring all the current complexity they already have. The end result is more complexity not less.
- bigbones 2y agoBased on what I've seen so far, I'm thinking a timeline more like 5-10 years where anything involving at least frontend has all but evaporated. What value is there in having a giant app team grind for 2 years on the perfect Android app when a user can simply ask for the display they want, and 5 variants of it until they are happy, all in a couple of seconds while sitting in the back of a car. What happens to all the hundreds of UI frameworks when a system as a widespread as Android adopts a technology approach like this? Backend is significantly murkier, there are many tasks it seems unlikely an AI will accomplish any time soon (my toy example so far is inventing and finalizing the next video compression standard). But a lot of the complexity in backend derives from supporting human teams with human styles of work, and only exists due to the steady cashflow generated by organizations extracting tremendous premiums to solve problems in their particular style. I have no good way to explain this - what value is a $500 accounting system backend if models get good enough at reliably spitting out bespoke $15 systems with infinite customizations in a few seconds for a non-developer user, and what of all the technologies whose maintenance was supported by the cashflows generated by that $500 system?
- plagiarist 2y agoI agree they cannot handle a complex codebase at all at this moment in time. But I think I would rather just end my career instead of transitioning into fixing enormous codebases written by LLMs.
- jarsin 2y agoI honestly always thought fixing large codebases was the vast majority of SE careers. I used to dream about starting a company from scratch and spent a good amount of time trying to manipulate management to let me start codebases over.
- hn_throwaway_99 2y ago> AI is going to increase the rate of complexity 10 fold by spitting out enormous amounts of code. This is true, and I am (sadly, I'd say) guilty of it. In the past, for example, I'd be much more wary about having too much duplication. I was working on a Go project where I needed to have multiple levels of object mapping (e.g. entity objects to DTOs, etc.), and with LLMs it just spit out the answer in seconds (correct I'd add), even though it was lots and lots of code where in the past I would have written a more generic solution to prevent me from having to write so much boilerplate. I see where the evolution of coding is going, and as a late middle aged developer it has made me look for the exits. I don't disagree with the business rationale of the direction, and I certainly have found a ton of value in AI (e.g. I think it makes learning a new language a lot easier). But I think it makes programming so much less enjoyable for me personally. I feel like it's transformed the job more to "editor" from "author", and for me, the nitty gritty details of programming were fun. Note I'm not making any broad statement about the profession generally, I'm just stating with some sadness that I don't enjoy where the day-to-day of programming is heading, and I just feel lucky that I've saved up enough in the earlier part of my career to get out now.
- outside1234 2y agoReally? I sort of feel the opposite. I am a mid-career as well and HIGHLY TIRED of writing yet another set of boilerplate to do a thing or chase down some syntax error in the code and the fact that AI will now do this for me has given me a lot more energy to focus on the higher level thinking about how it all fits together.
- codr7 2y agoSo instead of being creative and finding ways to avoid duplication, you look for a way to make copies faster. That's one way to solve the problem. Not the way I'm looking for when hiring.
- AnimalMuppet 2y agoThis has happened before. When we went from assembler to compilers, this logic would have said, "So instead of being creative and finding ways to avoid hand-coding loops, you look for a way to spit out copies of loops faster." And the answer is, "Yeah, I do! I want the compiler to write the loop for me and get all the jumps right so I don't have to worry about it! Getting the jumps for the loop right is incidental to what I'm actually trying to write; I've got better things to spend my time on." Note well: I am not arguing that AI will produce good code rather than multiple layers of garbage. I am merely saying that this particular argument is weak.
- voidhorse 2y agoI do not look forward to the amount of incompetence and noise that increasing adoption of these tools will usher in. I've already had to deal with a codebase in which it was clear that the author fundamentally misunderstood what a trie data structure was. I was also having an difficult time trying to talk to them about the implementation and their misconceptions. lo and behold I eventually find out the reason they chose this data structure was because they asked ChatGPT what to do and they never actually understood, conceptually, what they were doing or using. This made the whole engagement with the code and process of fixing things way harder. Not only did I now have to fix the bunk code, I also had to spend significant time disabusing the author of their own misunderstandings...
- CGamesPlay 2y agoSo, AI created a job opportunity for you?
- voidhorse 2y agoI suppose that's one way to look at it. But it's a sort of "bs" unproductive job, fixing up poor outcomes, and overall a less efficient scenario that experts doing it right in the first place. Worse, there was already a readily available implementation that could have been used here rather than a hand-rolled, half-baked AI output. In that respect, the code itself was pure noise and the whole activity was predominantly a waste of my time.
- gregw2 2y agoSounds like outsourcing/offshoring!
- marcosdumay 2y ago> But it's a sort of "bs" unproductive job, fixing up poor outcomes, and overall a less efficient scenario that experts doing it right in the first place. I expect this theme to repeat all the time from now on. And also I expect it to crimp the growth of several people, because the AI solves the simplest problems and then they face an insurmountable wall trying to learn every concept at the same time when they need a small increment in code realism. Software development will probably become extremely profitable for the people that can do it properly on the next couple of decades.
- JTyQZSnP3cQGa8B 2y agoThe complexity has grown but not the quality. We went from writing ADA code with contracts and all sorts of protections with well thought architectures, to random crap written in ReactJS in web sites that now weigh more than a full install of Windows 95. I’m really ashamed of what SWE has become and AI will increase that tenfold as you say. We shouldn’t cheer up on that, especially if I will have to debug all that crap. And if it increases the number of engineers, they won’t be good due to a lack of education (I already experience this at work). But anyway I don’t believe it, managers will not waste more money on us, that would go against modern capitalism.
- toprerules 2y agoOh yes, I'm with you. I didn't say I liked it. I am a low level munger and I like it that way - the lowest layers/oldest layers of the stack tend to be the pieces that are well written and stand the test of time. Where I see AI hitting is at the upper, devil may care, layers of application stack that will be an absolutely hellscape to deal with as a competent engineer.
- perrygeo 2y agoI've yet to see an LLM response or an LLM generated diff that suggests removing or refactoring code. Every AI solution is additive; new functions, new abstractions added in every step. Increased complexity is all but baked into the system. Software engineering jobs involve working in a much wider solution space - writing new code is but one intervention among many. I hope the people blindly following LLM advice realize their lack of attention to detail and "throw new code at it" attitude comes across as ignorant and foolish, not hyper-productive.
- 4b11b4 2y agoAsk for a refactor... Ask for multiple refactors and their trade-offs
- outside1234 2y agoAdd it as an option when you ask it and see what happens
- perrygeo 2y agoAnd how would a new developer know to ask for a refactor? That's my point.