By the way junior C++ developer is an euphemism because no company will hire a junior C++ developer. It's the most difficult programming languages that can take years of practices/studying to be able to use.
And there are a lot of foot guns around... ;-)
Why were excellent C++ skills sometimes harmful?
Also, it did in our case take you away so far from the bare metal, that the code was elegant, but slow. It did not play well with our static allocators and allocated/deallocated way too much, especially temporaries.
You might i.e. check out talks like [0].
Maybe it could be that he didn't know all the requirements up front and his mediocre colleague accidentally wrote code that better suited the company's unstated requirements (e.g. portability to niche systems). But that's hardly the most likely explanation.
I feel that it's rare that companies choose the second road so usually they pay a premium.
- embedded systems programmers, meaning people who know real-time systems, have good C/C++ knowledge, know their way around the Linux kernel and are also able to do basic things with a scope.
- good(!) C++ programmers in general
- people who know devops and software development infrastructure
C++ might not be sexy, but there's a vast amount of legacy software out there which is not going away anytime soon.