Software Engineer — Code Insights — Backend (Remote - Global)
San Francisco /
The code insights team is looking for an experienced backend engineer with deep knowledge of building scalable distributed systems, and an interest in delivering time-series-based insights about source code across hundreds of thousands of repositories. You will play the primary role in building and designing the backend architecture for an entirely new product area that is fully user-validated and heavily requested by our customers. Code insights is the first feature in Sourcegraph that provides high-level information about code, building atop all Sourcegraph’s other features and even external data sources.
We’re building an autonomous, international, full-stack team.
The code insights team is building at the forefront of developer knowledge and code analysis using lean, user-focused methods – and everything we’ve built so far makes both our customers and our coworkers react with delight and surprise.
Why this job is exciting
- You will be one of the founding engineers for this team. You will have a large, immediate impact on the shape and direction of code insights.
- Despite its early stage, code insights is a heavily requested and fully user-validated feature: multiple Fortune-1000 companies have specifically requested early access to try working prototypes.
- Extremely interesting challenges and opportunities in making code insights scalable to hundreds of thousands of repositories, while also making it more powerful with filter capabilities, actionable insights, custom data sources – and much more.
- In addition to serving all of Sourcegraph's existing developer users, code insights is the first feature we're building to serve engineering and product leaders at the director-or-above-level.
- Sourcegraph's users all have deeply technical backgrounds, meaning we can focus on the innovation and power of code insights rather than get caught up in product education. Immediately upon joining, your contributions will make their way to developers and engineering directors who love Sourcegraph and the idea of Code Insights, giving you an exciting and direct feedback loop on your work.
- Code insights will shape how all the top engineering-first companies build, organize, and evaluate themselves.
- You have practice 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, as well as taking the time to do things right when appropriate.
- You communicate clearly and empathetically, especially in writing and documentation.
- You share our values, and work in accordance with those values.
- You have a desire to make distributed systems observable (logging, metrics, tracing, etc.) and ensure they are scalable (load tests, etc.)
- You have an interest in learning about time-series databases and the challenges of high cardinality data.
- Work closely with frontend engineers, our Product Manager and Product Designer to implement a scalable, performant backend for code insights using Go.
- Actively shape the direction and participate in the planning of the features we're going to build, e.g. by writing and reviewing RFCs.
- Collaborate with frontend engineers, and sometimes with our customers, to define the ideal APIs needed to deliver on the desired user experience.
- Collaborate with other product teams like search, code intelligence and campaigns to figure out integration points with other Sourcegraph features.
- Solid understanding of Go fundamentals (e.g., dealing with concurrency, error handling, testing).
- Skilled at designing, building, testing (e.g., unit, integration, end-to-end), and debugging high performance distributed systems.
- Good knowledge of Git in particular and other version control systems more generally.
- Experience using SQL and Postgres.
- Experience in designing APIs to be consumed by Single Page Applications collaboratively with frontend engineers or as a full-stack engineer.
- Experience with GraphQL.
- Experience with time-series databases.
- 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.
- Developer platform/tool industry experience.
- Experience in backends for the space of data visualization, dashboards, analytics or similar.
- Interest in measuring code and engineering best practices.
- You apply here.
- The Hiring Manager (Felix Becker) reviews all the information you provided on your application to determine if you meet our qualifications for this role (if there is another open role we think you would be better qualified for, we will let you know).
- A Recruiter sets 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.
- We set up a 45 minutes interview with the Hiring Manager, who will tell you more about the available role in the team. They will ask you about your past work experience, accomplishments and assess your suitability for the role and alignment with Sourcegraph's values.
- You complete a 2-hour coding exercise in Go that we designed to measure your understanding of concurrency and error handling. It will be reviewed by 2 engineers of this list: Joe Chen / Ryan Slade / Asdine El Hrychy / Thorsten Ball.
- We schedule additional interviews across multiple days:
- 1h Technical experience: We ask you about your past work and accomplishments in depth, how you worked with others, decisions you made, and what you'd do differently today. You will interview with two teammates from the following list: Tomás Senart / Ryan Slade / Alex Russell-Saw / Thorsten Ball.
- 1h Architecture: We give you an open problem statement and you walk us through how you would solve the problem. You will interview with Stephen Gutekanst and one of the following list: Thorsten Ball / Eric Fritz / Ryan Slade / Alan Harris / Stefan Hengl
- 1h Team collaboration: We ask you about how you work and communicate in a team setting, and how you handle tricky situations. You will interview with all 3 of the following list: Joel Kwartler (Product Manager), Alicja Suska (Product Designer), Jean du Plessis (Engineering Manager).
- 30m VP Engineering.
- 30m CTO.
- We check your references.
- We make you a job offer.
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.
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.
Go back to the careers page for all open positions.