For what it's worth: in my experience reading blog posts and listening to talks by experienced programmers (i.e. engine programmers at naughty dog, insomniac, ubisoft, etc.) the topics are usually about data-oriented design, cache efficiency, dislike of C++/STL and its implementation, absolutely no exceptions, a _very strong_ hate against OOP and "modern design". Engine programmers seem to prefer old school approaches: plain C language, plain data structs and functions, circular and fixed-size arrays for everything.
You should qualify that with 'some engine programmers' and even then these things come with qualifiers.
For example C++ is fine, no one really has a problem with it as a core, what people dislike is things covered in 'typical C++ bullshit' type talks which go directly against data orientated design considerations - but the language itself is no more disliked than any other language out there.
The Standard Template Library tends to be a love/hate thing - the ideas are sound but lack of memory control is a problem (which on consoles is a real consideration), and the code is general which might not have the performance of hand tuned stuff. ('might' being the keyword; some years past now someone here benchmarked the Vs.Net 2002 Std containers vs Quake3's handrolled ones and found they were much faster). That also tends to be legacy due to existing code bases - some places are considering switching for some things now. There is also a deep distrust of template code which may or may not be 100% justified again depending on the situation.
Exceptions are a two fold thing; historical because of poor implementations and overhead (certainly on older systems) and simply a case of 'not needed' because games tend not to run into real exceptional cases which aren't already allowed for in the code flow. Largely a performance thing because the same people can/will use exceptions in code.
The hate for 'OOP' isn't about OOP but about the 'classes for everything!' over engineered Java trained bullshit which is spat out by graduates these days; OOP in the right place and with the right considerations is fine but it's knowing the right time and place to do things. A Vector might be an object and you are still dealing with it as an object but that doesn't mean you forget everything else. This is more an anti-bullshit sentiment than an anti-OOP (and C can do OOP just as much as C++, you just have to hand roll things).
"Modern design" is also gaining traction because a lot of 'modern design' is simply common sense; things like smart pointers have existed in engine code bases for a long time already so much of this isn't new. The difference tends to be handed rolled things and a lack of fear about using raw pointers when it is the correct time to do so. Even containers are common, just tend to be handed rolled.
You'll find plenty of engine devs who use C++, and are even using C++11 features (auto, lambdas, move operators to name 3) as the compilers support them and those people will also use POD structures, free functions when it makes sense (both globally and in namespaces), fixed sized arrays for the right thing and circular buffers when it is correct.
The truly great engine programmers do not tie themselves to old dogma, they continue to evolve and improve their knowledge and their methods, learning from mistakes and improving their practises as data suggests they should.
I speak from experience as an engine programmer on AAA games.