Software Design Engineer • Current Employee
Pros: Top company.
Good health benefits.
Work-life balance is good.
Opportunity to work with some of the top people in the industry and learn a lot.
Plenty of teams within and many interesting projects to work on.
Internal transfer between teams is allowed (compensation and level won't change even though you have the experience), so you can get diverse experience (server-side stuff, devices, etc.).
As long as you have the skills, you can also try out different roles like SDE, SDET, and PM.
Some of the teams have excellent software engineering practices.
It is easy to find rental accommodation closer to the company, which is an upside for me.
Great for junior and college hires.
Cons: Middle-level candidates (4-6 years of experience) usually don't get the compensation and level they deserve.
Many times, new college hires earn more than experienced candidates. When joining, please do your homework and negotiate a proper level and compensation. Once you are in, it is almost impossible to reach your expected level.
Even though management says promotions are based on contributions and not on the time served in the company, in practice, it is actually the opposite. Yearly performance reviews are an absolute waste of time.
Many of the first-level managers (leads) are horrible. They do not have the technical or management experience, and experienced ICs have a hard time working for them.
Not so nice weather in the Seattle area.