Software Development Engineer II
Pros
Build systems that impact a lot of people and do huge things. If your team isn't making millions of dollars a year, you'll be on a new team soon. Coworkers who range from competent to excellent. Decent pay for the area.
Cons
If you're on a team with bad managers you will hate life. At least there is a new policy allowing you to transfer ASAP, which you should do. (- culture/values) Things are a bit too team dependent. I'm on a team I like. There are other teams that cannot retain people at all because their managers straight up suck at their jobs. (- senior management)(- culture/values) Comp is decent but not competitive with google/facebook/uber. (- comp rating) Crunch time is a management failure so you can expect to see it a few times a year. (- work/life)