Post a job
Back

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, campaigns, 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. Read our product roadmap to see the challenges that we are working on today and in the near future.

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 set up a 30-minute call to learn more about what you are looking for, tell you about Sourcegraph, and answer any questions that you have.
  3. You complete a 2-hour coding exercise in Go that we designed to measure your understanding of concurrency and error handling.
  4. We schedule 4 hours of remote interviews over video chat across multiple days.
    • Architecture: We give you an open problem statement and you walk us through how you would solve the problem.
    • Technical experience: We ask you about your past work and accomplishments.
    • Team collaboration: We ask you about how you work and communicate in a team setting, and how you handle tricky situations.
    • CEO/CTO: We ask you about what motivates you to do your best work, and we tell you more about the vision for the company.
  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.

If you're interested in Sourcegraph but aren't yet ready to apply, we are still happy to connect and answer any questions that you might have: DM us on Twitter or email hiring@sourcegraph.com.

Posted on Wednesday, March 25, 2020
Apply Now
Notice anything wrong with this job post?

Is this job not remote?
Does this job not accept Asian timezones?
Had a bad experience?

Let us know

Sourcegraph

Sourcegraph makes code search universal so developers can focus on solving problems instead of struggling to find and understand code.
Browse all jobs at Sourcegraph Apply Now