Pros
* Work-life balance * Wide range of bonuses * Great company culture * Latest technologies (depends on project you are working on) * Options to work on different projects with different technologies * Meaningfull work for top clients around the world * Challenging work * Good agile development processes * Never ending pushing on improvements and innovations * Various internal and external tech events you can visit * Engineering teams with highly-skilled professionals
Cons
* Sometimes you have to work with really legacy code but its common for many IT companies. * It is slightly complicated to change or improve something bigger especially when you need a budget for that. You need bunch of people to approve your proposals and it is a long process to go through. * Because of some legacy parts, the building pipeline of bigger projects is fragile and can take long time to have all builds successful.