Software Engineer - Backend

We are looking for backend engineers who know how to design and build performance-sensitive distributed systems. You will innovate key systems (e.g., code search, syntax highlighting, auth, code host integrations) to make Universal Code Search more powerful and scale to our customers with the largest codebases in the world.

The following engineering teams are currently hiring for this role:

  1. Search
  2. Cloud

Qualifications

  • Solid understanding of Go fundamentals (e.g., dealing with concurrency, error handling, unit testing).
  • Skilled at designing, building, testing (e.g., unit, integration, end-to-end), and debugging high performance distributed systems.
  • Ability to communicate clearly and empathetically, especially in writing and documentation.
  • Practiced at creating high quality software balanced with a pragmatic understanding of how to make appropriate tradeoffs (e.g., cut scope) to ship quickly and iterate when necessary.
  • Good knowledge of Git in particular and other version control systems more generally.

Nice-to-haves

  • Experience making distributed systems observable (e.g., logging, Prometheus metrics, request tracing).
  • Experience using Postgres and Redis.
  • Experience load testing distributed systems.
  • Experience writing high performance Go code and benchmarks.
  • Large and/or numerous contributions to open source projects.
  • Published blog posts and/or tech talks about your work.
  • Experience working on small high-performing teams, preferably tech startups.

Learn more about us

To create a product that serves the needs of all developers, we are building a diverse all-remote team that is distributed across the world. Sourcegraph is an equal opportunity workplace; we welcome people from all backgrounds and communities.

We provide competitive compensation and practical benefits to keep you happy and healthy so that you can do your best work.

Learn more about what it is like to work at Sourcegraph by reading our handbook.

Interview process

  1. You apply here.
  2. We schedule a 1 hour Technical experience interview with the hiring manager of one of the teams you expressed preference for. You’ll talk about your past work and accomplishments in depth, how you worked with others, decisions you made and what you’d do differently today.
    • Read through our handbook to learn more about how we operate and to find answers to common questions that you might have. We leave 10 minutes at the end of this interview for you to ask any additional questions.
  3. You complete a 2-hour coding exercise in Go that we designed to measure your understanding of concurrency and error handling.
    • Will be reviewed by 2 engineers chosen by the hiring manager of the team you expressed preference for.
  4. We schedule additional interviews across multiple days.
  5. We check your references.
  6. We make you a job offer.

We want to ensure Sourcegraph is an environment that suits your working style and empowers you to do your best work, so we are eager to answer any questions that you have about us at any point in the interview process.

Click here to apply

Go back to the careers page for all open positions.