Great article!
I have a different point of view.
There are two assumptions I disagree:
Assumption 1: No-code will not benefit from code learnings (or do some equivalent progress)
Probably, because the nature of domain (code vs GUI), the solutions may be different, but it's possible to attack the same problems.
many no-code tools have some type of versioning plus real time sync
many no-code tools have some type of abstraction level extensibility with plugins
...
Assumption 2: Software development is mainly solving complex problems
The other force no-code in the no-code side is, as software industry gets more mature, more patterns are discovered.
Just look how much boilerplate is in each company or unnecessary rework with bad abstractions.
Most of companies doing software today are just rearranging things on screen, or creating some simple pipelines.
Even though RAD, low-code, model driven, etc.. is not a new thing, time has a important role here:
Also as software is getting more popular in last decade, we saw a lot of space for "almost the same" solutions to coexist, allowing more of the production process to be "productized"
This can be different to silicon valley style startups, but most of the market is solving the same old problems everyday.
Full disclosure, I actually have a no-code/low-code startup (https://abstra.app) hence I'm very biased!