Software Engineer - Search Suite
ALL SOURCEGRAPH ROLES ARE FULLY REMOTE
Who we are
Our mission at Sourcegraph is to make it so that everyone can code, not just ~0.1% of the population. Our code graph powers Cody, the most powerful and accurate AI coding assistant, as well as our Code Search product, which helps devs explore their entire codebase and make large-scale migrations and security fixes. We’re building software that builds software, and in doing so we’re making devs more productive and preparing for a world where a lot more code gets written.
It’s an exciting time to join Sourcegraph. AI has taken over the world, and we’ve spent the last 10 years building infrastructure that’s integral to making AI generated code more powerful and accurate. Our customers include 4/5 FAANG companies, 4 of the top 10 banks, government organizations, Uber, Plaid, and many other companies building the software that pushes the world forward. We’ve raised $225M at a $2.625B valuation from Andreessen Horowitz, Sequoia, Redpoint, Craft and others. We’re making ambitious bets on our future and we’re looking to hire exceptional people to join our team as we make Sourcegraph one of the biggest and most influential companies in the world.
🌎 Given that we are an all-remote company and hire almost anywhere in the world, we don’t have a particular time-zone preference for this role. However, you may need to be available for non-recurring urgent meetings outside of working hours.
Why this job is exciting
Sourcegraph Code Search is an advanced, user-friendly code search and navigation tool designed to help developers efficiently understand, navigate, and review the software they're working on, irrespective of its size or complexity. It offers a web-based, universal code search capability across various repositories, branches, and languages, enabling quick and accurate search results with context. It also provides features such as semantic code search, syntax highlighting, hover tooltips, and real-time code insights, significantly reducing the time spent understanding codebases or hunting for specific logic. With integrations into popular version control systems and code editors, Sourcegraph Code Search aids in code exploration, bug squashing, and feature development, making it an indispensable tool for modern development teams.
The Code Search team is aimed at growing the Code Search product into a 100+ million dollar product that is an integral part of every Fortune-500 company’s workflow. As a senior software engineer on the Code Search team, you will contribute to the direction of Sourcegraph’s Code Search product. With your expertise, you will be in the thick of maintaining, expanding, and shaping the future of the product, ensuring it meets the needs of our largest enterprise customers. Search engine experience is not required.
📅 Within one month, you will…
- Onboard onto the Sourcegraph codebase, architecture, tooling, and development workflow.
- Build a solid understanding of the team’s areas of ownership, technical challenges, and problems the team solves for our customers, and know how all of these align with the top-level company goals.
- Actively participate in team meetings, sharing ideas and insights to contribute to the overall team goals.
- Work closely with your team members, asking questions and seeking feedback to ensure alignment and clear understanding of tasks.
- Begin making meaningful contributions to ongoing projects, demonstrating a clear understanding of our coding standards and methodologies.
📅 Within three months, you will…
- Demonstrate a comprehensive understanding of the Code Search product, its underlying technologies, and its integration within the Sourcegraph ecosystem.
- Begin to take ownership of specific areas of the product, showcasing expertise and problem-solving capabilities.
- Regularly participate in code reviews, providing constructive feedback to peers and upholding our high standards of code quality.
- Engage in team discussions on architectural design, scalability, and other higher-level aspects, bringing clarity and forward momentum to such conversations.
- Mentor and provide guidance to junior team members, fostering their growth and development within the Code Search team.
- Lead or co-lead smaller projects, showcasing strong scoping, implementation, and delivery skills.
- Proactively identify potential challenges in projects and work towards mitigating risks and ensuring smooth execution.
📅 Within six months, you will…
- Act as a go-to expert within your domain, helping to address complex challenges, guide the team through intricate issues, and define best practices.
- Proactively dive into unfamiliar areas of the codebase, suggesting improvements, and ensuring that our technical infrastructure remains robust and forward-looking.
- Have a significant influence on the team’s roadmap, proposing new features, optimizations, and refactors based on customer needs, technical debt, and industry best practices.
- Lead larger projects from conception to deployment, ensuring that they align with our strategic objectives and adhere to our quality standards.
- Play a pivotal role in shaping the team's culture, ensuring that it remains collaborative, innovative, and focused on continuous growth.
- Actively mentor junior team members and collaborate with other senior engineers, ensuring their success within their teams.
- You are a passionate Full-stack Software Engineer with 4-6 years of hands-on experience, eagerly seeking a challenging role that allows you to leverage your technical skills while also offering opportunities for learning and growth. Your coding skills are solid, and you are proficient in your primary focus area, yet you remain open and excited to dive into different parts of the technology stack.
- You are eager to continue building your track record of excellence, autonomy, and the expertise to solve complex software engineering challenges.
- You are comfortable with the full-stack spectrum, from pixel-perfect front-end implementations to robust and scalable back-end architectures.
- You are aligned with and willing to contribute to our values. You enjoy working on challenging problems and care deeply about the product's end-user experience.
- While you are task-oriented and able to follow directions, you are also demonstrating a growing sense of independence in your work. You are self-sufficient, capable of delivering results with minimal guidance, and unafraid to take the lead on small and mid-sized projects.
- You have a good understanding of software engineering principles, architecture design, and scalability. You have a track record of delivering high-quality, efficient, and maintainable code.
- Your problem-solving skills are top-notch; you are able to detect issues in requirements and actively engage in discussions to find the best resolution. You manage your time effectively, ensuring that you deliver reliable results without compromising on quality. You are not daunted by unfamiliar code; instead, you see it as an opportunity to learn and grow.
- You are adaptable, thriving in a fast-paced, dynamic environment. You take ownership of your work, you are self-motivated, and you exhibit a strong sense of accountability and responsibility for the success of the product.
- You tend to deliver work incrementally to get feedback and iterate over solutions.
- You take pride in helping others, whether that’s through onboarding new team members, mentoring junior engineers, or adding documentation to aid collective understanding. You understand the value of feedback and are adept at both giving and receiving it constructively.
- You enjoy working on highly collaborative, dynamic, and remote teams in a startup environment.
- Overall, you are a proactive, collaborative, and skilled software engineer building a track record in crafting scalable software and services, including distributed systems. You have a clear understanding of software engineering principles, and a customer-centric approach. Adaptable and self-motivated, you thrive in a fast-paced, collaborative startup environment, delivering high-quality code and prioritizing the end-user experience while embracing feedback and taking ownership of tasks.
- You are proficient in Go, with exposure to scaling and concurrency.
- You have some knowledge of GraphQL.
- You are comfortable with Docker and Kubernetes.
- You are comfortable interacting with relational databases; PostgreSQL experience is a plus.
- You are comfortable with the command-line interface and bash scripting.
- You are comfortable in a multi-service environment.
- You can utilize Bazel as a build tool.
- You are familiar with macOS and Linux platforms.
📊 This job is an IC2. You can read more about our job leveling philosophy in our Handbook.
💸 We pay you an above-average salary because we want to hire the best people who are fully focused on helping Sourcegraph succeed, not worried about paying bills. You will have the flexibility to work and live anywhere in the world (unless specified otherwise in the job description), and we’ll never take your location or current/past salary information into account when determining your compensation. As an open and transparent company that values equitable and competitive compensation for everyone, our compensation ranges are visible to every single Sourcegraph Teammate. To determine your salary, we use a number of market and data-driven salary sources and target the high-end of the range, ensuring that we’re always paying above market regardless of where you live in the world.
💰 The target compensation for this role is $141,500 USD base.
📈 In addition to our cash compensation, we offer equity (because when we succeed as a company, we want you to succeed, too) and generous perks & benefits.
Below is the interview process you can expect for this role (you can read more about the types of interviews in our Handbook). It may look like a lot of steps, but rest assured that we move quickly and the steps are designed to help you get the information needed to determine if we’re the right fit for you… Interviewing is a two-way street, after all!
We expect the interview process to take 5.5 hours in total.
👋 Introduction Stage - we have initial conversations to get to know you better…
🧑💻 Team Interview Stage - we then delve into your experience in more depth and introduce you to members of the team, including cross-functional partners…
- [60m] Code walkthrough with Vova Kulikov and Jason Harris
- [60m] Pairing exercise with Felix Kling and Bolaji Olajide
- [60m] Cross-functional team collaboration / Values with Rob Rhyne
🎉 Final Interview Stage - we move you to our final round, where you gain a better understanding of our business and values holistically…
- [30m - 60m] Hiring Manager screen with Peter Guy
- [30m] Leadership Interview with Quinn Slack or Beyang Liu
- We check references and conduct your background check
Please note - you are welcome to request additional conversations with anyone you would like to meet, but didn’t get to meet during the interview process.
Not sure if this is you?
We want a diverse, global team, with a broad range of experience and perspectives. If this job sounds great, but you’re not sure if you qualify, apply anyway! 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.
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.
Sourcegraph participates in E-Verify for U.S. Employees