GitHub is the home for software development, where developers collaborate to build some of the world’s most important software. The scale of data that comes from that collaboration is immense -- 34M+ developers, 2M+ organizations, 100M+ repositories, 1.1B+ contributions, and 200M+ pull requests in 2018.
Helping developers navigate and understand all of that data is a core part of GitHub’s mission, and an area with potential we’ve only begun to realize. We have high aspirations for how we can help developers understand and navigate code, and for making collaboration more seamless. The foundation for these efforts is Search.
Search at GitHub, a feature used by millions, is a vital piece of the puzzle, and one which has been underserved over recent years. We are currently reinventing the way that developers can search on the platform -- re-thinking everything from the experience to the system architecture supporting it.
Engineers on the search team will work on challenges of scale, flexibility, and algorithm design to create novel systems to support a new search experience. One that makes development more powerful and more accessible to the increasing population of people taking part in software development.
- You’ll get to work on challenging problems like building the distributed systems that handle search for the world’s largest source code host
- You’ll play a major role in the design and implementation of our new search platform
- Users have some very strong opinions about GitHub search -- You’ll have a chance to make a bunch of developers’ lives better!
- Writing robust, maintainable code for distributed backend search systems
- Building the backend components needed to allow users to search across a variety of content types
- Working with monitoring and automation tools to ensure the availability of our Search systems
- Providing feedback and code reviews to your peers in a sensible and empathetic way
- Proficiency in Go
- Experience building, scaling, and maintaining distributed systems
- Experience making technical decisions accounting for trade-offs
- Strong communication skills - you speak, and write, your mind well. We’re a distributed team so we’re extra mindful about communication
- Experience working remotely in a distributed company
- Experience building and scaling distributed services in Java, Go or C++
- Experience working in Ruby
- Experience working on a dedicated Search team
- Experience in information retrieval systems for source code
- Knowledge of operations practices: monitoring, alerting, metrics, and automation
- Experience diagnosing and resolving performance problems in complex software systems
Who We Are:
GitHub is the developer company. Over 40 million people use GitHub to build amazing things together across 100 million repositories. We make it easier for developers to be developers: to work together, to solve challenging problems, to create the world’s most important technologies. We foster a collaborative community that can come together—as individuals and in teams—to create the future of software and make a difference in the world.
- Customer Obsessed
- Trust by Default
- Ship to Learn
- Own the Outcome
- Growth Mindset
- Global Product, Global Team
- Anything is Possible
- Practice Kindness
Why You Should Join:
At GitHub, we constantly strive to create an environment that allows our employees (Hubbers) to do the best work of their lives. We've designed one of the coolest workspaces in San Francisco (HQ), where over half of our Hubbers work, snack, and create daily. The other half of our Hubbers work remotely in 18 countries across the globe.
We are also committed to keeping Hubbers healthy, motivated, focused and creative. We've designed our top-notch benefits program with these goals in mind. In a nutshell, we've built a place where we truly love working, we think you will too.
GitHub is made up of people from a wide variety of backgrounds and lifestyles. We embrace diversity and invite applications from people of all walks of life. We don't discriminate against employees or applicants based on gender identity or expression, sexual orientation, race, religion, age, national origin, citizenship, disability, pregnancy status, veteran status, or any other differences. Also, if you have a disability, please let us know if there's any way we can make the interview process better for you; we're happy to accommodate!
Please note that benefits vary by country, if you have any questions, please don't hesitate to ask your Talent Partner.