Pros
- Flexible working hours - Nice office building - Nice perks - Opportunity to go to conferencies (it's not counted as working time tho) - Table tennis, table soccer, etc. - Alot of team/company building event which is sponsored by the company. - Friendly people
Cons
- CAE is about 15-20 years behind the C++ industry - They prefer alot of programmers over less, but competent ones. - Only C++98 - ScrumBut (it's not even close to scrum) - The coding guideline was written by C++ novices, but it's mandatory to follow it. - Unreadable codebases. - Overcomplicated product - Hierarchical company structure - Low salary (if you want an increase, you have to fight for it) - No challange - Terrible, sloppy inner tools and libs. - High buracracy You can't have any impact. The management invest crapload of money on creating problems, but rarely on things which could make an impact. (like useful, modern tools, switching from bad inner tools to open source, good alternates etc) - The sites don't like each other, because they "steal" the work from each other. - Cross-site teams: there is not a single product which fully owned by the site. Every decisions has to go through Montreal buracracy. Communication is sloppy. (6hr time-lag) - Really accurate work tracking (bosses want to now for every minute what are you worked on. :o) In reality it's 9-10+ hours work per day. People have to track breaks and alot of times you have nothing to do. You just can't say that, so sometimes there is nothing to track. Even tho it's not your fault, sometimes you ending up tracking nothing. - Fluctuacion is high. - The management don't delegate any decision to lower level programmers, they can push you from one team to another without even asking you. - The management is not trustworthy, they keep back informations from their people and from their bosses. - Management only care about numbers, but 99% of the metrics doesn't make any sense. It's frustrating. - They don't do anything with your problems before you quit. (But then it's way too late)