Pros
Mostly laid back atmosphere. No need to come to offices. Good work - life balance.
Cons
No long term planning - Assignments are simply dropped on your head out of the blue. Ok for a strart-up, not a massive enterprise. Unprofessional - Many teams work with old technologies, or technologies that are unsuited for the job. Bugs are overlooked instead of simply being solved by senior engineers, which then cause massive hard to debug issues that effect other teams. Coordination between different teams is terrible. Many employees are unhappy and feel the same way, which gives a very poor atmosphere in the office. Many people write code without it being reviewed, simply because they don't have anyone in their team who know the tech (Thought about getting someone from a different team?!) Endless bureaucracy about EVERYTHING. Also, there is a different portal for every different action you need to make. Endless meetings about everything. The daily meeting in my team takes 45 minutes, out of which the team lead speaks 30. Poor stock performance compared to other tech companies. HR is unprofessional. Recruitment and on-boarding process were terrible. A friend who was interviewed and passed all the professional interviews was given an offer by the HR to be a contractor without notifying him in advance that he will not be an official company employee. Welfare is almost non-existent. There are no happy-hours, no happiness, barely an annual event, and offices are emptier than Chernobyl.