Pros
This has been both one of the best and worst companies I've worked for. If you have none or little experience, then this company is very good, because they use state-of-the-art technologies, it has its own private cloud and everyone learns a lot, both about last technologies and about software development in general. Salary is very competitive for the region, if you dare to ask for a good amount from the very beginning (otherwise it is very hard to get a raise).
Cons
There's no company culture. There's no thing such as a carreer plan. Working environment is not the best one, though it depends on your specific team (the company is quite big). Office-like hours, no work from home culture. If you belong to a particular race/religious community/nation, you have twice the chance to be promoted. Management sucks incredibly. Too many teams, too many managers, too many directors and horizontal positions with unclear resposibilities. Management is broken, there are no clear architecture guidelines, different teams develop the same component with different technologies, different products are different worlds (eg. hotels vs flights), everyone loves to reinvent the wheel many times in all conceivable ways. You get credit not for your work or work quality, but for the amount of time you dedicate to work, no matter its quality. Unprofessional engineering, eg. no unit testing. Every two or three years, they decide to drop all projects and start over all projects again, which is absolutely ridiculous. Neither culture nor common sense for the use of resources (specifically, hardware). The culture is to program as if resources were infinite, mainly due to broken management and absence of architectural guidelines. If you have experience, the company expects you to work both on office-like hours and from home, and they expect you to take increasing responsibilities, but they never pay for it (they even have this speech: first take more work, then the money will come, but it never comes). Your work and carreer are at the sole discretion of your project manager, who is very likely to micro-manage you. Gossip is usual and it's the best way to get a promotion.