Specialists in, for example, psychiatry don't need to understand how mitosis works, etc...
The same is also true in finance. People who do model equity index volatility don't remember at all how to derive the equation for put-call parity.
In each of these fields there are people who study each of the fundamentals, and then there are people who do more routine "code monkey" work in a narrow area - think chiropractor or vanilla stock trade execution.
Programming is not unique.
A psychiatrist has to obtain an MD degree before they can start to study their chosen specialty. There's a reason for that: before you can treat a psychiatric illness, you have to be able to eliminate all other possible causes for the condition. I for one would not want to be treated by a psychiatrist that couldn't distinguish bipolar disorder from brain cancer.
I'm not sure that this example is making the point you wanted to make. There's a reason we have Docotors/Pharmacists/Physios and don't reply on Chiropractory / Homeopathy. It's because we want to get better.
I got serious doubts about this. It seems we are constantly changing the cement formula.
> but *figuring out that formula* has already happened.
Me
> It seems we are *constantly changing* the cement formula.
You
> doesn't change anything
Really?
OP makes the classic error to assume that A) physical engineering isn't changing; B) computer world is analogous to physical.
When issues do arise during the project, an expert is brought in/consulted. Standard cement formula's might change over time, for varied reasons, but it's not the bricklayers that keep themselves busy with that.
The same hold true for most IT projects.
The truth is, is that programming languages themselves have evolved far enough that knowing exactly what's running underneath the hood isn't needed anymore, outside of niche specialist cases. Most people don't even need to worry about seeing a single 'index out of range' issue, or worry about CPU cycles. And it's only going to become easier and easier.
I'd compare it to bricklaying. Yes, you need to use the correct formula for the cement you use, but figuring out that formula has already happened. For niche cases that require special cement, you go to the cement specialists that know the ins and outs of it.