As an outsourcing company, your work depends a lot on the client/project you are allocated.
Also it's hard to professionally ascend (for example from a developer to a tech lead) since the clients normally don't contract outsourcing for higher positions.
The salary is good and keeps up with the market, but it lacks benefits like healthcare.