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?
We have shared expectations for all engineers, regardless of level or role. On top of that we have additional levels showing how a teammate’s impact, scope, execution, and teamwork varies by level.
- Impact: The tangible and positive difference made through one's contributions to the company’s mission.
- Scope: The breadth and depth of one’s technical and non-technical expertise, including how one maps business goals to technical solutions.
- Execution: The ability to consistently and efficiently translate plans into outcomes.
- Teamwork: The art of collaborating effectively with others, both within and outside the organization.
Expectations for a level add to the expectations of earlier levels. In addition, we expect engineers at all levels to exhibit our values.
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.
Successful engineers at Sourcegraph
In order to make the level descriptions below a bit more tangible, we also have the following document: Successful engineers at Sourcegraph.
When do I get promoted?
You are eligible for promotion when your manager can demonstrate that you’ve had at least one quarter of high performance at your current level and at least one quarter consistently performing at the next level. This includes having demonstrated impact consistent with the next level. Technical growth alone is not sufficient for promotion. See our documentation on impact reviews for more about the promotion and compensation process.
IC Levels
All Levels
Impact
- Directly contributes to achieving the company’s strategic goals and long term success.
Scope
- Has high productivity and output, with frequent and meaningful commits.
- Ships regularly.
- Writes high-quality, well-tested, well-documented, maintainable code that aligns with the style and practices of the codebase.
- Writes high-quality documentation in order to solicit and receive the best feedback on proposals.
Execution
- Seeks out work, rather than waiting for work.
- Applies diligence through the entire software lifecycle: planning, coding, documenting, shipping, demoing, supporting, and improving your software over time.
- Finds simple, correct solutions. Implements them in the expected time (or escalates early). Iterates as needed.
- Seeks out opportunities to simplify and streamline our current systems. Considerings the broader implications of changes.
- Enhances the maintainability, resilience, and performance of existing systems. Understands their importance to our business continuity.
- Can work remotely & async. Knows how to manage time, work, and communication.
Teamwork
- Escalates early and efficiently when blocked, stuck, overloaded, or sees a better way to achieve our goals.
- Does not gate-keep. Accelerates and unblocks colleagues.
- Communicates thoughtfully and proactively to keep stakeholders informed and identify risks.
IC1
Impact
- Delivers clearly defined projects of small to medium technical risk.
Scope
- Primarily focuses on their team’s code. Utilizes general software engineering knowledge.
Execution
- Defines work scope and identifies gaps such as missing requirements within that scope.
Teamwork
- Generally works with a handful of people, primarily engineers, PM, and design partners on their team.
IC2
Impact
- Clarifies project scope and delivers projects of medium to high technical risk.
Scope
- Primarily focuses on their team’s code and architecture. Pulls on broader knowledge of Sourcegraph. Strong generalist skill set. Starting to develop some areas of expertise.
Execution
- Identifies gaps in the overall project, not just the parts within their scope.
Teamwork
- Actively contributes to a collaborative and respectful team culture.
- Collaborates across teams, focused on their direct areas of work.