Opinion The End of Software - "Majoring in computer science today will be like majoring in journalism in the late 90’s"

Link 1 | Link 2 | Archive 1 | Archive 2

To understand how software will change, we can benefit from studying how technology has changed other industries. History tends to rhyme, if you listen.

Before the internet, media behaved very differently—it was expensive to create. You had to pay people to make content, edit it, and distribute it. Because content was expensive to create, it had to make money. And consumers paid—newspapers, magazines, books, cable, and pay per view. Warren Buffett famously loved newspapers—and who wouldn’t love a predictable subscription business with local monopolistic dynamics?

When the internet happened, media companies viewed it as a way to reach broader audiences and reduce their distribution costs. But what no one saw coming was that the internet not only reduced distribution costs to zero, but it also drove the cost of creating content to zero. User generated content flourished, and when content doesn’t cost anything to create, it no longer has to make money. How does content behave when it no longer has to make money? The relaxation of this economic constraint led to a Cambrian explosion–you can take a picture of a cup of coffee, post it to a million views or none at all and the market clearing price is still met. This produced a deluge of content that none of us could reasonably consume. This necessitated products to direct attention, merchandise this content, and route us effectively–we understand these now as user-generated content platforms.

These platforms completely T-boned media companies. As a media company, you were competing for the same attention of users, but with a strictly higher COGS. The more people you had on your payroll that were creating content, the more exposed you were to being flanked by user-generated content platforms. Structurally, investing in media has been a losing value proposition ever since and value creation has shifted entirely to the platforms that control distribution.

Software is expensive to create. You have to pay people to create it, maintain it, and distribute it. Because software is expensive to create, it has to make money. And we pay for it–software licenses, SaaS, per seat pricing, etc. Software margins have historically been an architectural envy–90+% margins and zero marginal cost of distribution.

Software is expensive because developers are expensive. They are skilled translators–they translate human language into computer language and vice-versa. LLMs have proven themselves to be remarkably efficient at this and will drive the cost of creating software to zero. What happens when software no longer has to make money? We will experience a Cambrian explosion of software, the same way we did with content.

Vogue wasn’t replaced by another fashion media company, it was replaced by 10,000 influencers. Salesforce will not be replaced by another monolithic CRM. It will be replaced by a constellation of things that dynamically serve the same intent and pain points. Software companies will be replaced the same way media companies were, giving rise to a new set of platforms that control distribution.

SaaS, ARR, magic numbers–these are all shorthand to understand the old model of business building in software, one where the expense associated with creating software was a moat. The invisible hand has been stayed in software for a long time, but LLMs will usher in its swift, familiar corrective force. Majoring in computer science today will be like majoring in journalism in the late 90’s.
 
Coding is more like manufacturing than journalism. It's much cheaper to get Ranjeet, Chang or Oleg to write code while living 25 to a room in a shithole than it is to use white nerds.
Sort of correct, but having worked on major software projects, I've seen them fuck important things up. You can hire a foreigner to do boring routine shit, but any more than that, you'll really pay for it, and I'd still rather hire a local to give him a foot in the door, be able to train him and keep him on as he learns more. One particular project I was on was with a Fortune 500 pharmacy/retail chain, working on their mobile app. Anything tech-related was run by Pajeets because my boss's boss was one of those guys who got brought on during the Y2K panic, got his green card, then proceeded to bring his whole village into the company, gradually replacing every American in the office by the time I got there ~15 years later. Opening the Android and iOS projects in the IDE, I was greeted with over 1,000 warnings and ~20 errors, though since the errors were in a Maven or Cocoapod dependency, the main project still compiled. The project manager said we used our own in-house payment system because they simply did not want Apple's or Google's, but I think the truth was we didn't meet certain standards to use those payment plans. Millions of people probably put their credit card information and home address into that thing.

I would say the better analogy is that coding is more akin to a trade at the lower levels, craftsmanship at the middle levels, and engineering or architecture only at the highest levels on large projects. It's not for everyone and I strongly oppose the idea that everyone should code or even be required to take a single class in it. It's just one more thing that we vacillate between "IT'S THE BIG THING, EVERYONE NEEDS TO GET ON THIS OR YOU HAVE NO FUTURE" to "the end of thing"..
 
The joke lately in the software world is that AI stands for "Anonymous Indians" since so many "AI" companies are just pajeet mechanical turk operations carefully hidden behind a flashy corporate memphis homepage.
Funniest part of Amazon’s automated walk out grocery store (run by thousands of Indians) was that the Amazon department running it was literally called Mechanical Turk.
 
Good.
Custom and critical parts will still go to British, Scandinavian and North American staff because the pajeets, gooks and slav doesn't have mentality to do a good job. Just like engineering manufacturing.
Even stuff like aeronautical engineering is going towards assorted mudpeople now because the number must always go up. I would never board a jet airliner powered by anything other than Rolls-Royce, GE or CFM engines but in 20 years time we might see subhuman designed and built critical parts. Boeing deathtraps are already falling apart because of cost-cutting and they will face no real consequences for it.
 
sound like pretty big cope to me

just because “educated” journalists were replaced by people taking pictures of coffee cups doesn’t mean people who build/maintain infrastructure will be

business owners do not want to be the ones on the hook for maintaining/fixing software required for running their business. even if AI could program perfectly, you still need someone to make changes, do testing, manage distributions and payment, etc
 
Even stuff like aeronautical engineering is going towards assorted mudpeople now because the number must always go up. I would never board a jet airliner powered by anything other than Rolls-Royce, GE or CFM engines but in 20 years time we might see subhuman designed and built critical parts. Boeing deathtraps are already falling apart because of cost-cutting and they will face no real consequences for it.
I'm not from Derbyshire but good call on Rolls Royce, I hope their small nuclear reactors find political favour soon
 
As some one in software development and likes to use AI as a fun little tool to bang around with the big thing about AI is that it lies. For simple stuff it works great. I love using it for writing a quick regex, a javascript example to modify and plug in, etc. But for harder and more complex question the AI made up stuff multiple times. At one point it was giving me code examples for stuff that did not exist at all but looked like it would work at first glance.

Between AI and Stack Overflow companies better have a bunch of white guys on staff for when the pajeets try to bang together a solution that just do not work at all.
 
I kinda agree, but not because of AI. When everyone had elementary-level access to the internet, anyone could break news and disseminate it. Once we embrace the FOSS, worship the lord, and revere his child Richard Stallman, we will realize that if Anyone Can Code (TM), why pay for a dedicated team?

Companies already do this in a limited fashion. A lot of the interest to move to open source collaboration, is corporations are no longer held liable for each individual CVE. As long as they can prove their implementation was secure, and they appropriately lent the project internal resources when required.
 
sound like pretty big cope to me

just because “educated” journalists were replaced by people taking pictures of coffee cups doesn’t mean people who build/maintain infrastructure will be

business owners do not want to be the ones on the hook for maintaining/fixing software required for running their business. even if AI could program perfectly, you still need someone to make changes, do testing, manage distributions and payment, etc
Nah there is 100% an oversaturation of CS majors, many of whom have no idea what the fuck they are doing because they went through school copying all of their coding assignments off Github and Stack Exchange.
 
Almost every single story is just feed shit that startups can use to get some nice cash, or looking for investment, etc. Its just advertising and trying to drum up interest, most of what they say is shite and not true at all.
 
We should be worried about the people who are relying on AI as a crutch.
Definitely. I've been trapped in CRUD hell for about 6 years and have ended up working in frotend again. ChatGPT has been very useful to get my bearings with VUE 3 and Typescript and get me going with my monkey tier questions. But even then it has lied to me a few times (though a couple of those it did get me on track).

It's a very helpful tool, but it's still basically just using a search engine that will give you more personalized infornation but at a much greater risk of getting it wrong the less specific and defined it is. Also god forbid you ask it about anything with lots of major versions with constant deprecations since it will spew random stuff.

All of these tools are great for people starting out on something new or to speed up busywork (generate object class from json), but if it's their only source of knowledge, shit goes south at max speed.

I can fully admit as a "google search engine and syack overflow developer" that I'm worse than anybody that had to properly study and didn't have an IDE abstracting everything for them. I can only shudder what an LLC based developer would do.
Sort of correct, but having worked on major software projects, I've seen them fuck important things up.
Imagine your corpo decided to subcontract all of your core tools to pajeets and almost a decade later notice that may not be the best idea and are trying to get real developers to make heads or tails of it. It's as bad as it sounds.
Llms are what they actually are. Ai is a bullshit marketing term.
Pretty much, my corpo though is all in on "AI" as the future that will save it and I can only sigh at how deeper they will sink themselves into a gutter following fads without understanding shit.
 
I'll ignore Free Software in this comment, but that's something else of which the author is clearly ignorant.

There are already systems in place to automate programming, and these are called metaprogramming systems. Believe me when I tell you that one man alone could replace the entire programming staffs of many large corporations. I believe Google employs over one hundred thousand people and, while most of them aren't programmers, even a company like Google could get away with far fewer than one thousand programmers in its employ.

Now, the question is why don't companies do this? As an acquaintance of mine put it, businesses don't want efficient employees, they want fungible employees. If a business employs a single Lisp programmer who maintains the entire infrastructure in tens of thousands rather than tens of millions of lines of code, he can't be fired willy-nilly and he can't be treated like shit. Businesses would much rather have one thousand employees they can treat like shit and fire on a whim.

Keep this in mind when reading future bullshit about programming employment.
 
LLMs have proven themselves to be remarkably efficient at this and will drive the cost of creating software to zero
No they haven't and no they won't. They have if anything proven the exact opposite. AI will never be producing apps of anything remotely resembling good quality or useful. They're never going to be able to build a copy of facebook, build something as complicated as a game let alone an mmo, build a useful development tool or anything else worth mentioning

The only people who write these kinds of articles, let alone believe them are idiots who don't understand anything about programming or how it works, nor anything about 'AI'
 
The whole point of developing software is to make something new or better than what exists. To make things that are custom. AI can only copy things that already exist. If you just want a basic bitch website Sqaurespace has existed for years. If you want a calendar app there are thousands of open source ones out there... The dev comes in when you need the calendar app baked into your marketing site and it needs to authorize in and call 5 different services to handle bookings, payments...etc. At this time the AI cannot consume or keep straight enough context to build anything bigger than a small component of the project per prompt and all these components need to be reviewed, standardized and integrated together by someone who can actually read them.

Sure you can prompt it to write bits and pieces of your application (nothing bigger than a small class) but you have to describe them to the machine with specifics like a dev ("write me a method that returns an account record, it takes three arguments one is an ID, another is a search string which could be null, and a boolean for showing disabled accounts that defaults to false...") and you have to fix them when they are wrong and wire them up together, rename and reconcile bullshit the AI introduced, etc. You can't say "give me a car!" you have to say "give me a cam shaft with the following lobe dimensions..." The whole purpose of developer is to be autisticly specific, someone needs to tell the machine what you actually want. Just think about how big a white paper just describing an apps functionality is and how long it would take to write.

So yeah the robot can paint a wall but you have zero it in and calibrate it, tape off all the molding, change the roller, carefully mix the shade of paint and load it into the machine, fix it when it gets jammed and then come in and sand out and retouch all the bubbles and streaks. If you expect it to do the whole house without prep while you are lunch, you will come back to a Jackson Pollack.

ML will replace Jr devs who do nothing but data formatting and cut/paste from Stack Overflow and it makes the rest of the devs marginally faster by removing some tedious tasks. I will never write regex from scratch again, I let it generate my test data, take first passes at object mappings, etc. Convert code from one languages to another... Sometimes I will take a completed barebones function and then tell it "expand this to include basic validation and to handle null value errors." but it makes mistakes and needs a handler at all times. It's a sheep dog not a shepherd.

TLDR: VC funding and interest rates are what is putting devs out of work, not AI.
 
LLMs are good at creating things that superficially resemble other things that the model has seen, without any actual understanding of the things.
This pretty much nails it. LLMs are good for a 0th iteration of code but if I want it GPT to use a less popular library or generate a solution for my concrete problem, it just goes off the rails. Doesn't give a crap about API docs or correctness or anything. Using a LLM is like the next stage of copying shit from stackoverflow until it works.
 
Back