You will always work for the same client and in their facilities.
The conditions in which you work are awful: you have no proper room to eat your lunch, the “kitchen” has one microwave which is never clean as well as the fridge, WC are not clean and sometimes the smell gets to the room in which you are working, in the summer temperature can get to 40 degrees and you have no working AC, desks are probably more than 20 years old and full of dust as well as the rest of the room.
You never have the time you need to develop, no matter the estimation you give your manager. There is never the opportunity to improve applications, because you never have time. You’re blessed if you can convince your manager to give you time to do some refactoring or automated tests.
Client requests come at any time and are always met regardless the amount of people available, so prepare to work more than 8 hours and yet, they won’t be enough.
The tech stack is rigid, if you’re “lucky” you’ll get to work with java 7/8 with spring, if you’re not you’ll most likely do some bug fixing on java 5 applets probably 10/15 years old.
No tech training is given, only some soft skill related ones. If you get out of the company in less than 2 years they will charge you the amount they spent with you, even if you didn’t ask for any of those trainings. This is not in your signed contract, only on a document that they give you after you sign the contract.