Pros
- They have a system to encourage you to learn new technologies. - There's a nice culture promoted by camaraderie among developers. - Somewhat competitive salary.
Cons
- Poor work/life balance. They say the care about your wellbeing but this isn't remotely true. You have to endure all the hardships imposed by the client, and if by any chance you decide to not work the "extra mile"... you will be perceived as lazy or uncooperative. - They make you believe they have a flat structure in their organization but in reality, there's a lot of hierarchy going on behind the scenes. If you do not satisfy certain people's criteria, there's a good chance you will end up being fired. - If you end up without project, they will put you in a "talent pool", if you end up not being attractive to their clients, do not expect lasting too much in the company.