It’s instead about different layers of abstraction. Which is the world we work in as programmers and one normal languages meant for communicating to other people is ill suited for and would be way more overly detailed.
He is disregarding how much effort and how many moving pieces are needed to have an employee with which you can order a sandwich and have it done the same way each time.
For starters you have to have ingredients ready, standard ways of storing them and much more. That is what Subway worked on for years to have standards and be able to hire someone to "make a sandwich".
OP disregards that people hired in McD or Subway get !detailed! instructions how to make a sandwich and which ingredients should be put in which type of sandwich. Then their workplace is optimized to do so.
List of ingredients is very limited as list of sandwiches you can order in Subway. List of ingredients in software is unlimited and there is no standard workplace and people imagination about what software to build is unlimited.
There is lots of magical thinking in OP comment. He would like to magically remove all those layers of abstraction and gives simplified example, that breaks down when you think about that example more than 1 minute.
I see a world where every single mobile app wraps a UITableView with a few changed properties.
You're trying to tell me that there are thousands of engineers out there designing cars with alternatives to gas pedals and steering wheels, and yet every car off the line still has the same gas pedal and the same steering wheel from 20 years ago. It just isn't reality. Almost all of this stuff is cloning existing stuff and tacking on some new feature. "But steering wheels today have so many more buttons!" Okay. Take a steering wheel, add some buttons to it. Is it really that alien from a steering wheel without buttons?
And yeah! That new feature, that nobody has ever done before? You'll need to describe it to hell and back. Because of course the computer won't know what you're talking about. But the point is to get you 80% or 90% of the way there using common language, from there you can hire developers to finish the feature themselves or you can write a design spec for the computer to build. And now that the computer knows the feature? Well, you can create derivative works off that stored knowledge, and you won't have to spend your time writing the boilerplate and scaffolding needed to support that feature.
I don't think I'm disregarding how complex the world is, I think you're disregarding how utterly predictable software is.
*Every social media app...* - I have worked on warehouse automation projects, worked on multiple "specialists help tools" where logout button or just putting a text box was negligible effort.
Building HN like site - for me solved problem - there is bunch of clones on GitHub you can "git pull" and have it running in minutes. With docker it is even faster.
There is Wordpress, Salesforce you name it, you don't need to have any code and no low code. Hosting providers let you setup whole blog/e-commerce site with a single click.
In MailChimp I can create landing page with working email form without even knowing that HTML exists.
Using any of the frameworks like Rails or Django gives you that 80% or 90% that you describe, login/logout for free no coding. So if you just want to put some buttons and text boxes it is all solved already.
What developers are busy is filling in those 10% gaps that you point out, because it is still complicated and one has to understand things from multiple angles.