Sourcegraph

Fullstack Engineer Batch Changes

Sourcegraph

Remote job description

Who we are

Our mission at Sourcegraph is to make it so that everyone can code, not just ~0.1% of the population. We help developers and companies with billions of lines of code create the software you use every day. In enabling more people to code, we believe we will create economic opportunity across the world and will drive progress that benefits everyone.

It's an exciting time to join Sourcegraph. Our company is growing rapidly: we've experienced 4x year-over-year revenue growth and our recent $125M Series D from Andreessen Horowitz and $50M Series C from Sequoia have given us the opportunity to make big ambitious bets on our future. We have a huge market (every company that builds software) and massive opportunity (most developers haven't even heard of code search yet, but once you've used it, you can't live without it?"just like Google web search). By continuing to hire exceptional people, we have the opportunity to make Sourcegraph one of the biggest technology companies in the world.

Why this job is exciting

The Batch Changes team is looking for an experienced engineer to help us build a new product that will define how our industry accomplishes large scale code changes. Batch Changes enable developers to make changes across many repositories and code hosts, using code. This is a full-stack role, but will likely involve more backend than frontend work.

We're a small, autonomous, international, full stack team. So we contribute in a lot of different ways: frontend/backend coding, technical writing, QA, supporting our customers, and working closely with Product and Design. If it matters to our users, then it's part of the job.

We work together, laugh a lot, and are always learning.

  • Batch Changes solve a very real and painful problem that our customers want solved. Our team is totally focused on this concrete need. Since our customers provide ample feedback and are eager to test new features, continuously shipping to provide them value is highly rewarding.
  • We're in the early stages of creating this product, and have a lot of autonomy and agency. As a result, we all have significant impact on the shape and direction of Batch Changes. We can see our own fingerprints all over, making it all the more delightful when customers love our work.
  • We have all sorts of interesting challenges and opportunities for growth. Frontend and backend coding, architecture and design, authoring RFCs, testing, demoing to customers, collecting and incorporating feedback, supporting our customers... we do it all.
  • Our technical challenges are varied and fun: from git diff parsing to TypeScript, to efficiently querying REST/GraphQL APIs without overloading a code host, to building a distributed system that runs user-provided code to create changes, to designing the DSL that is our batch spec, to building a great editor experience on the web, it does not get dull around here.
  • We have so many exciting ideas on our roadmap! As we finish up server-side execution of batch changes, there are so many new opportunities that are unlocked. (We don't even know what they all are! You could help us with this.) We are still at the beginning of this journey, with so much cool work in front of us.
  • We're a team full of funny, highly-skilled, empathetic developers who are all great communicators. Especially the manager, who is just all-around wonderful (and, it should be noted, is the one writing this).

About you

You are a full-stack engineer who has strong fundamentals in good software development techniques and best practices, and who has built and deployed production-ready software that delivered value to customers.

Most of all, you're an engineer with whole-product concern and accountability. Someone who understands that success is measured by our customers, and that everything that impacts customer satisfaction is part of your job. If working directly with sales, marketing, support, and our customers feels like "that's not my job," then this is not your job. On the other hand, if you've shipped a product, beginning to end (for work or on the side, software or otherwise), we want to hear from you!

Beyond that, we're looking for the following:

  • Significant experience programming in Go or another typed, compiled language.
  • Experience creating single page applications using React or similar component-based frontend frameworks.
  • Skilled at writing clean, reusable CSS and semantic HTML to implement visual designs.
  • Familiarity with TypeScript or a different typed programming language.
  • Experience building and testing end-to-end applications (e.g. unit, integration, and e2e testing).
  • Good knowledge of Git in particular and other version control systems in general.
  • Experience in SQL, Postgres or other transactional, relational databases. Able to model and design schemas.
  • Have worked with containers in production environments.
  • ?'?'Your working hours overlap with 3p-5p CET Mon/Wed/Fri and 3p-7p CET Tue/Thu so we have time to collaborate synchronously when necessary. (In Eastern Time, that's 9a-11a and 9a-1p.)

Interview process

  1. You apply.
  2. [30 min] Recruiter screen
  3. [60 min] Hiring Manager screen
  4. In-depth Interview stage:
    1. [45 min] Code walkthrough
    2. [60 min] Architecture
    3. [60 min] Pairing session
    4. [60 min] Cross-functional Team Collaboration Interview
    5. [30 min] Values interview
  5. [30 min] Leadership Interview - Director of Engineering, Code Graph
  6. [15 min] Leadership Interview - CTO
  7. Any other informal conversations with people who you would be working closely with but didn't get to meet during the interview process.
  8. We check references & make you an offer

Not sure if this is you?

We want a diverse, global team, with a broad range of experience and perspectives. If you don't meet 100% of the above qualifications, you should still seriously consider applying. Studies show that you can still be considered for a role if you meet just 50% of the role's requirements. We carefully consider every application, and will either move forward with you, find another team that might be a better fit, keep in touch for future opportunities, or thank you for your time.

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.




Summary
Company name: Sourcegraph
Remote job title: Fullstack Engineer Batch Changes
Job tags: Version Control Systems, SQL, TypeScript

Share or copy

Job alerts