Pros
* Fairly easy to get hired - if its a bad time for the market or you lack experience and having a hard time getting a job - its better than nothing. * Offices are quite nice. * You work for other companies so you might create ties in those other companies and move there in the future. * While their projects are often the things other companies dont want to deal with (but not always), those are actual projects with a job to be done, and definitely more interesting than maintenance or legacy project jobs.
Kontras
* Deceptive job descriptions - they will describe the job however they like, both at the job description and at the interviewing process. But the actual job could be completely different, be it the actual thing you are building, the team composition, the working conditions. Be warned. * They count your working hours to the minute. Your salary will be reduced if you didnt work enough hours. Very not typical for high tech companies. * A lot of pointless meetings. Inefficient management. * Zero transparency about the state of things. * Only give you like 24 hours to sign the contract once you receive it. * Disorganized management and priorities.