Sourcegraph engineering career development framework
Our career development framework is here to help you understand the expectations of your role, and to provide a common language for you and your manager to discuss and plan your career growth. It is also an important part of our larger goal of ensuring everyone is equitably recognized for the impact they have at work, and to reduce bias in promotions and hiring.
What are the expectations of my role?
There are currently seven levels for software engineers at Sourcegraph. A level is composed of three categories, each with a summary statement and several example behaviors. These categories are:
- Proficiency
- Execution
- Teamwork
It’s important to understand that what is listed in the level descriptions are example behaviors, and not checkboxes for promotion. Doing everything listed there is neither necessary nor sufficient for a promotion. The expectation is that you demonstrate a level of impact consistent with each of the category descriptions for your level. The magnitude of your impact is ultimately the measure of your career growth.
In most cases, a level builds on the expectations from the preceding levels: someone at level 2 must also meet the level 1 expectations. In addition to what is listed there, we expect engineers at all levels to exhibit our values.
Rather than precede each bullet point with “Consistently”, we leave it as implicit.
The level descriptions correspond to the start of the level, so that if an IC has a level N impact in all categories, they should then be promoted to level N (and not before). Or to put it another way, the level descriptions state the minimum expectations.
These are the expectations for ICs after they have completed their onboarding. Some of these expectations (such as around communication) would start on day 1, but others (such as expertise in the codebase) would not be expected until they are fully ramped up.
In line with our continuously grow company value, we expect every engineer to eventually reach at least level 3. It is the responsibility of your manager to track this, and to ensure that you are given the support and opportunities needed for career growth.
When do I get promoted?
When your manager can make the case that you’ve had at least one quarter of high performance at your current level, and one quarter performing at the next level, in all three of the categories. It takes time to demonstrate the “consistently” implicit in the expectations, and we don’t want to promote anyone to a level in which they will struggle.
Promotions from one level to another are considered in our quarterly talent review. An in-band compensation increase (while staying at the same level) can happen at any time, in recognition of exceeding expectations in your current level without having yet met the expectations of the next level.
To learn more, see “Considerations for promotion” in our talent review process.
Levels
Level | Proficiency | Execution | Teamwork |
---|---|---|---|
IC1 | An engineer focused on learning, growth, and establishing themselves as a contributing teammate. | ||
Possesses and demonstrates core technical skills, while focusing on learning and improving in everything they do.
|
Able to achieve positive outcomes on small well defined problems.
|
An engaged member of their team.
|
|
|
|
|
|
IC2 | A solid and autonomous contributor, executor, and collaborator. | ||
A solid technical contributor who produces high-quality code.
|
Autonomously executes on the team’s short-term goals and actively contributes to project planning.
|
A solid communicator and proactive collaborator.
|
|
|
|
|
|
IC3 | An experienced, strong individual contributor (Seniorequivalent). |
||
An experienced, versatile technical contributor who demonstrates foresight in technical decision making.
|
Independently scopes and implements solutions to complex, loosely-defined problems.
|
A strong, clear communicator, making collaboration happen where it should to move their team forward and a particularly valuable contributor to discussions.
|
|
|
|
|
|
IC4 |
A particularly experienced, impactful contributor. IC4 is the highest level that an engineer can get to based solely on their impact. The availability of positions beyond IC4 is based on both impact and business need. |
||
An engineer whose technical expertise benefits their entire team.
|
Supports the EM and PM in ensuring that the team is always working on the right problems with the right scope given higher level goals, and that the team is reliably delivering on time.
|
A very strong communicator who drives cross-functional collaboration efforts and the long-term direction of their team.
|
|
|
|
|
|
IC5 |
IC5 is a different role from levels 1–4. What impact looks like at this level varies between individuals. |
||
Rather than being solely defined through proficiency, execution and teamwork, IC5 is differentiated from levels 1-4 by a specific business need for the role. The creation of an IC5 role is contingent on the existence of this business need, and the business need will bring an associated set of expectations for proficiency, execution and teamwork. To acknowledge this specificity, the level is defined through the profiles of IC5 roles at Sourcegraph today. |
|||
IC6 |
We haven’t yet finalized the descriptions of these levels at Sourcegraph. Like IC5, these are different roles than the levels preceding it based not only on performance, but also business need, and (like IC5) what impact at this level looks like may vary more from person to person than at preceding levels. |
||
IC7 |