Google — and its new parent company Alphabet — love their engineers.
So it’s not much of a surprise that engineers top the list of Google’s highest-paying positions.
But there’s a lot more to running Google than just programming. And Google is willing to pay top dollar for the best candidates, regardless of the field, according to annual salary data we pulled from Glassdoor.
Salary data on Glassdoor is an average based on anonymous reports that were voluntarily shared by both current and recent employees.
Note: All figures refer to base salaries and do not include bonuses. Salaries also vary based on experience. We also didn’t include some redundant or mislabeled entries on the list.
This is an update of a post originally written by Karyne Levy and Matt Lynley.
Google's technical program managers are tasked with ushering projects through their entire life cycle, which includes managing project schedules, identifying any risks involved, and communicating project goals to stakeholders.
When you're as large as Google, it's especially important to make sure the company's mission and statements are as clear and well-stated as possible. That's why the communications manager position is among Google's most well-compensated opportunities.
Designing the user experience behind a product is one of the most important jobs at any tech company, which is why Google is willing to pay top dollar for great designers. User experience designers are essentially tasked with making sure Google's products look nice and are easy to use.
This role involves overseeing Google's online sales strategies and revenue growth. And, at a company like Google where all of its services are based online, it's certainly an important role.
As the title implies, staff site reliability engineers must be crafty troubleshooters. When hiring for this job, Google will be looking to see whether or not you can fix issues with its services and if your web design skills are up to snuff, according to this Glassdoor post from a candidate that applied for the job.
A lead software engineer is generally responsible for the underlying architecture of a given program. Since 'lead' indicates this is a senior role, a lead software engineer is also likely responsible for managing other members of the team too.