Roles on the Engineering team

This page lists the roles on our engineering team.

Software Engineer

Software engineers build our product and infrastructure.

Responsibilities

  • Model and apply our company values and our guiding engineering principles throughout all your interactions and work.
  • Iteratively create, ship, and maintain high quality architecture, code, tests, and documentation that aligns with team goals.
  • Document and share your progress in relevant locations at least once a week (for example: in GitHub issues, team slack channel, #progress, CHANGELOG.md).
  • Prioritize unblocking and supporting your teammates (for example: sharing knowledge, answering questions, providing feedback).
  • Help build a great team by referring people who you would like to work with, interviewing candidates, and suggesting improvements to our hiring process.

Engineering Manager

Engineering managers lead, grow, and develop teams of software engineers.

Responsibilities

  • Facilitate and sustain a healthy, inclusive team culture where everyone is set up to do their best work (examples: retrospectives, team events, compensation).
  • Model, teach, and apply our values and our guiding engineering principles.
  • Ensure the team has clear incremental goals that are documented and are always up-to-date (example: PM – EM partnership responsibilities).
  • Regularly communicate the team’s progress toward their goals as well as changes in team goals to appropriate stakeholders (examples: presenting a slide at company meeting, weekly updates)
  • Support and coach teammates to grow in their careers and fulfill their responsibilities (examples: 1-1s, [retrospectives](), review cycles, compensation)
  • Grow the team in a sustainable way so that the team can accomplish more over time (examples: define open roles, maintain a hiring plan over time, source candidates with help from our talent org, define efficient and effective interview process, make hiring decisions).

Director of Engineering

Directors lead, grow, and develop multiple teams in Engineering.

Responsibilities

  • Lead, organize, and support the work of multiple engineering teams to deliver on key initiatives that are critical to the success of Sourcegraph.
  • Recruit, hire, and grow excellent engineers and engineering managers to create a diverse team.
  • Model, teach, and apply our values in everyday interactions.
  • Facilitate and sustain a healthy, inclusive team culture where everyone is set up to do their best work.

VP Engineering

The VP of Engineering ensures that we have an effective engineering organization at Sourcegraph.

Responsibilities

  • Ensure that we have excellent people on our engineering team who are inspired and motivated.
  • Ensure that we have the right plans/priorities, and we are delivering on those plans quickly/reliably.
  • Ensure that we are making the right technical investments for the long term success of our product and team.
  • Ensure that we have excellent culture, organization, and processess.

Switching roles

Switching between an individual contributor role and a people management role (or vice versa) is a role change (not a promotion or a demotion). Each role requires a different set of skills. Generally we expect people managers to have experience doing the role of their direct reports. If you wish to change roles, start a conversation with your manager and they will help come up with a personalized plan that makes sense for you and the team’s situation.