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.
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.
Make the internal transfer process easy. Allow level and compensation changes as long as the candidate has the skills and contributes effectively.
Make the annual performance review really meaningful.
Hire good first-level managers (SDE and SDET leads).
There were many interviewers, each providing a few coding questions. They were not too easy, nor too difficult. It was very fair, and the interviewers were fun to talk with.
1. My recruiter submitted my resume to the hiring manager. 2. The hiring manager scheduled an interview after receiving my resume two days prior. 3. The day after I got the interview, my recruiter informed me about feedback and the next steps in the
The interview was filled with lots of programming questions. It was not nearly as challenging as Google's, which ultimately led me to the conclusion that I didn't want to work there. The folks who interviewed me were pretty friendly, though.
There were many interviewers, each providing a few coding questions. They were not too easy, nor too difficult. It was very fair, and the interviewers were fun to talk with.
1. My recruiter submitted my resume to the hiring manager. 2. The hiring manager scheduled an interview after receiving my resume two days prior. 3. The day after I got the interview, my recruiter informed me about feedback and the next steps in the
The interview was filled with lots of programming questions. It was not nearly as challenging as Google's, which ultimately led me to the conclusion that I didn't want to work there. The folks who interviewed me were pretty friendly, though.