Roles on the Development team

This page lists the roles on our Development 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

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 processes.

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.

Refer to the section on transitioning from individual contributor to engineering manager for more information.

For switching to a role in another engineering team or other department, see the company-wide Applying for a new role in a new team page.