Call Your Headhunter
bartoszmilewski.com
bartoszmilewski.com
While the conference is usually dedicated to "progressive" software engineering topics (this year was Dev Ops; it's about 6 months behind the hype) the area is not a tech hot spot. There are some startups and dev shops doing cool stuff, but most of the attendees at a conference like this work at big boring Enterprise companies (banks or Fortune 500s).
Inevitably, the question comes up (usually several times): "My completely broken company won't let me use innovative technology X/methodology Y". There's some equivocation from the speakers about how you have to change from the bottom, keep pushing, blah blah blah.
I, on the other hand, get very annoyed. You want to work at a company that is more innovative? It's far easier to _quit your job_ and _go work at a better one_ that change the ossified organization you work for right now. I don't understand why people put up with it, with the job market like it is right now.
The key to a decent job is not working at a place where IT is a cost center. I will be the first to complain that there aren't many startups in the Twin Cities, but there are quite a few software companies and development shops. You can find cool jobs doing Java (or whatever you want to do) that pay roughly the same (or more) than the big companies that don't value software development.
Anyway, my point is: if your job sucks, try a new one! You'll probably get a raise for switching, and if you assess the new company well in the interview, I doubt it will be _worse_ than your old job.
I would suspect there's a lot of old C++ software that falls into this category. Especially if cross-platform compatibility was/is important.
(*Actually, it was often insinuated that the STL is _still_ not 100% compatible between Linux and these more exotic platforms. I have no idea if this is true.)
* Poor support in console environments, which often lag significantly behind their desktop equivalents (I'm not sure how relevant this is for PS3/X360/Wii, but it was definitely the case for the previous generation, and some things get deeply ingrained)
* Poor debug performance for some implementations
* Less control over low level implementation details, vs. rolling your own. Game developers stress out over this. STL is a general purpose library. Sometimes a special purpose library really is what you want.
Here's a relevant stackexchange discussion: http://gamedev.stackexchange.com/questions/268/stl-for-games...
And here's a paper discussing EA's STL replacement, with lots of justifications: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n227...
I'm a member of the Mil-Aero crowd, and my problem is that I'm not allowed to use C++. I have to do everything in ANSI C (this is for a high-performance, massively parallel Linux application, BTW). I try to write OO C as much as is sensible, but end up getting ribbed by the long-time program members as being "one of the OO guys". I'm surrounded by people who think the art and science of software development hasn't really advanced since 1994 or so. That, I think, was the core of Andrei's message: don't put up with crap like this, call your headhunter.