Pros
- Good food - Salary - Fitness classes - As a engineer get a experience how big company is managing product which is used by millions of user
Cons
- Not good engineering development opportunities - Too much hierarchy, sometime you will have to think twice before approaching other engineer - Keep fixing bugs or small feature portrayed as big thing as millions of user affected but agility is lost, as a engineer will not get job satisfaction. - Following is my experience in my team: Senior will show attitude, will not speak in person and communicate only online, which in a way block your work. - Code review system which require senior to approve your code will block you many time. Senior engineers will want you to implement things their own way, so you become just somebody's logic implementor. - NOT a team oriented environment, people are driven by individual contribution metrics, therefore you will see sometime seniors are not that collaborative. Again this depends on which team you are working with though. but this is happening and have seen other people suffering from it. - Didn't find middle management as employee friendly, my manager just talked to senior only. - Advice to not a senior engineer: you may be just dictated by manager, senior engineer, you may be just implementor, and will be lost under big hierarchy. So make sure before joining a team you know the team and people you will be working with.