For many places, there are clearly no alternative to C.
The humongous open codebase of high quality C code, exceeding every other language, is also not going anywhere.
The situation is, shortly speaking, "no alternative to doing it in C, but we cannot do it in C because of some purely non-technical constraint." And the situation is very common I feel.
Chipmakers with billions of cash free to throw on RnD can't make any passable Linux kernel work. Google Chrome team must be employing best C++ hackers on the market, and yet.... and the story goes on like this.
The relative overabundance of webdev/java people hides the the fact that we are not only not gaining developers in conventional programming, but losing them fast to age, career change, or them returning back to home countries in case of labour migrants.
Likewise those Webdevs might just brush up their skills for WebAssembly.
At the end of the day it doesn't matter if one is using D, Rust, Swift, Java, C#, Rust, C++, Zig, FreePascal, CUDA, Open... instead of C.
The system programming concepts are the same, and it all boils down to education.
As for lousy candidates, I get them in any language.
When it come to CS fundamentals, algorithmics, most were better than me, who never studied CS academically. This was the reason we ever took interest in them.
It's just you cannot compensate for training, and experience with overall feel of skill. You can hire an ACM olympian, and the guy will still loose it unless he did C professionally for 3-4 years.
Someone lousy in low level coding won't go through such a curriculum,
https://www.di.fct.unl.pt/en/education/integrated-master-com...
Again, a matter of teaching quality.
Azure Sphere, Microsoft's paragon of IoT security, only allows for C.
Those expensive MSc/PhD should just complain to their universities for not providing a proper systems programming classes.