Software Engineer - Graph

Sourcegraph
Summary
Join Sourcegraph, a leading software company, as a Software Engineer on the Graph team. You will play a crucial role in enhancing how developers understand and navigate complex codebases by building advanced compiler-type indexers and robust backend APIs and services. This position demands expertise in distributed systems, end-to-end development, database optimization, and programming language specifics. You will be part of a small, high-impact team, working on cutting-edge technology and making a real difference in the software development community. Sourcegraph offers above-average salaries, equity, and generous perks and benefits. The role requires working hours that overlap with UTC+8 for at least 8 hours per week, with preferred locations in the European timezone.
Requirements
- Strong background in software engineering with a particular interest in compilers, databases, and distributed systems
- Experience with or willingness to learn Go, and a demonstrated ability to become proficient in new technologies
- Working hours must overlap with UTC +8 for at least 8 hours/week
Responsibilities
- Actively drive bug fixes and small enhancements in both our code indexer and backend APIs
- Embed in the teams processes and partner with team members to learn and make immediate impact
- Develop and maintain compiler integrations and distributed systems primarily using Go, focusing on scalability and reliability across multiple programming languages
- Actively shape the direction and participate in the planning of the features we're going to build
- Driving significant features such as cross-language precise navigation, dependency graph analysis or auto-inference of how to build and compile customer projects automatically
- Make a significant impact by being a key contributor and help us improve our existing engineering practices
- Feel confident working more autonomously, leaning into our values, especially customer-driven, teamwork and high agency
Preferred Qualifications
- Prior involvement with small teams that manage a wide surface area of functionality is highly desirable
- Appreciation for deep dives into specific technical silos, with the capability to contribute effectively to broad architectural discussions and decisions
- Exposure to distributed system design and a solid understanding of its challenges and intricacies
- Familiarity with compiler construction or integration is a significant plus
Benefits
- Above-average salary
- Equity
- Generous perks & benefits