Pros: fabulous cafeteria and other facilties
Cons: (see review)
There are two rather serious problems at iDirect: (1) The managers have too many people to oversee (at least in my group - ~28 direct reports). Consequently, the managers are predictably always in meetings and inaccessible for questions/issues, and relegates them to being merely CALENDER managers rather than managing what they were hired to deliver (i.e., the CODE and supervising those producing it). Team leaders officially exist but are insufficiently empowered to take any real action, and in my case my mentor was himself a rather recent hire who often couldn't help me. [Presumably consequently...] (2): vast amounts of code, including the majority of entire files, are completely uncommented. In one amusing case, an 868-line header file had ONE comment: the name of the file on line #1. And it was wrong - it did NOT match the actual file name! Related issues: C++ classes are often inviolate of true O-O model: e.g., in many classes, developer gives up completely and just codes "public:" after the opening brace, and leaves it that way to the closing brace. Most classes are not const-correct, don't have correct copy constructor and/or assignment operators (or explicit suppressions of them), etc, etc. Many of them have multiple code and member declaration sections. And of course, also stemming from all the foregoing, code reviews are essentially a P-C rubber stamp process. Bottom-line is that it results in a highly phony job-security environment in which contractors must spent a huge amount of time deciphering the code base to figure out how anything really works. Oh, BTW, they're still using command-line CVS for their current release source code base, though the next one has moved to Git. Most debugging done via print statements. I was able to get a "contact" name who had a cross-debugger (gdb) for my target, but this was considered to be somewhat of a novelty there.