Engineering Career Development

On this page

Individual Contribution vs. Management

Most important is the fork between purely technical work and managing teams. It's important that Engineering Managers self-select into that track and don't feel pressured. We believe that management is a craft like any other and requires dedication. We also believe that everyone deserves a manager that is passionate about their craft.

Once someone reaches a Senior-level role, and wants to progress, they will need to decide whether they want to remain purely technical or pursue managing technical teams. Their manager can provide opportunities to try tasks from both tracks if they wish. Staff-level roles and Engineering Manager roles are equivalent in terms of base compensation and prestige.

Roles

  Staff Developer Distinguished Developer Engineering Fellow
Junior Developer Intermediate Developer Senior Developer
Engineering Manager Director of Engineering VP of Engineering
 
 
  Staff Security Engineer
Security Engineer Senior Security Engineer
Security Engineering Manager Director of Security
 

Senior Developers

Note that we have a specific section for Senior Developer because it's an important step in the technical development for every engineer. But "Senior" can optionally be applied to any role here indicating superior performance. However, it's not required to pass through "senior" for roles other than Developer. Also note that we occasionally hire Junior Developers if they have demonstrated both aptitude and our values and we believe they will quickly develop into a Developer.

Senior developers typically receive fewer trivial comments on their merge requests. Attention to detail is very important to us. They also receive fewer major comments because they understand the application architecture and select from proven patterns. We also expect senior developers to come up with simpler solutions to complex problems. Managing complexity is key to their work.

Promotion

We strive to set the clearest possible expectations with regard to performance and promotions. Nevertheless, some aspects are qualitative. Examples of attributes that are hard to quantify are communication skills, mentorship ability, accountability, and positive contributions to company culture and the sense of psychological safety on teams. For these attributes we primarily rely on the experience of our managers and the performance review process (especially peer reviews). It's our belief that while a manager provides feedback and opportunities for improvement or development, that it's actually the team that elevates individuals.

Transfer Options

The following table outlines the lateral transfer options at any level of the role. Experience factor might differ per individual to determine leveling for each of the positions listed.

Starting Role Lateral Options
Frontend Engineer UX Designer
UX Designer Frontend Engineer
Developer Production Engineer
Production Engineer Developer
Developer Support Engineer
Support Engineer Developer
Support Engineer Solutions Architect
Support Engineer Implementation Specialist

Specific backend teams can also be looked at for a lateral transfer. Those teams include Build, Platform, CI/CD, Geo, Prometheus, Gitaly, etc.