3.3 Career progression
⚠ This section only applies to big companies. At startups, hierarchies are flat and levels are not well-defined. ⚠
For each offer, you should also look at the level. Most companies have well-defined levels for their software engineering roles that encompass ML roles. Higher levels suggest higher compensations, more decision-making power, and more responsibilities.
Major tech companies follow very different ladders. For example, engineering roles at Google have levels from L3 to L10, while Facebook E3 to E9, Microsoft from 59 to 80. These levels also map to a more standardized ladder which includes:
- entry level (associate/junior) engineer
- engineer
- senior engineer
- staff engineer
- principal engineer
- distinguished engineer
Usually, recent college graduates start at the lowest level, master graduates at the level above, and Ph.D. graduates at the next level. There’s not much variance in the base salary for the same level at the same company, as the base salary is usually capped for each level. But there’s a lot more variance in equity grants which can change significantly through negotiation.
It’s not uncommon to see strong candidates being offered levels higher than their peers. Sometimes, a company might up your level to give you a higher base salary to match another offer you might have. However, companies might be reluctant to level up a new hire, as the higher level means higher expectations, which, many argue, can negatively affect their ability to succeed at the company.
Few companies put levels in their offer letters. If you ask, recruiters should tell you, since you’ll find out if you join anyway. It’s fashionable for people in tech to say things like “titles don’t matter”, but they do. In the absence of a perfect method to evaluate someone’s actual professional ability, society responds well to titles. Having a higher level means not only higher compensation but also more freedom in deciding what to work on and more negotiating power if you want to change jobs.
In theory, companies should put a lot of thought into designing their levels, and employees should be able to find out what’s expected at each level and what they can do to go up the ladder. If you don’t know, talk to your manager. You can put it as simple as: “I want to build my career here and take on more responsibilities at the company. What do you need to see from me to consider me for the next level?”
For more information on engineering levels, checkout Things to know about engineering levels (Charity Majors, 2020).