> like optimise some multithreaded C++ service. And often in our jobs these types of things do come up
What are the jobs where this kind of thing comes up? I've never had to do anything with multithreading or C++, and I'd estimate that the jobs where that stuff comes up is a tiny minority. I think it'd be cool to encounter these kinds of problems, but it just seems more like a niche thing to me these days.