Transparent and respectful team and project management, stable projects with some variety when it comes to technologies used
Cons
There are projects which have poor customer-side management and run in constant emergency mode, while on the other hand there are also projects which are in deep maintenance and don't provide opportunities for developing new skills