GitHub Senior Software Engineer - Search Technologies

Posted on April 10th, 2019

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.

Opportunities

  • You’ll get to work on search throughout GitHub on a variety of data types - code, issues, pull requests, users, repositories to name a few.
  • You’ll get to work on the challenging problems that arise in indexing and searching the world’s largest source code host.
  • You’ll get to partner with teams working on semantic code analysis to make code search richer and more relevant.
  • You’ll have the opportunity to experiment with and validate search techniques with real world users.
  • Users have some very strong opinions about GitHub search -- You’ll have a chance to make a bunch of developer’s lives better!

Responsibilities

  • Writing robust, maintainable backend code and developing APIs to offer high performance access to our search systems.
  • Evaluating, benchmarking and improving the performance and scalability of our Search systems.
  • Researching and implementing state of the art search algorithms beyond full-text search.
  • 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.

Minimum Qualifications

  • Proficiency in one or more high-level static languages such as Java, Go or C++.
  • Experience with search and information retrieval systems, either custom or commercial (Elasticsearch, Solr).
  • An understanding of the core algorithms and techniques behind information retrieval at scale.
  • Experience making technical decisions when some future requirements are still unknown.
  • Strong communication skills - you speak, and write, your mind well. We’re a distributed team so we’re extra mindful about communication.

Preferred Qualifications

  • Experience working remotely in a distributed company.
  • Experience building and scaling distributed services in Java, Go or C++.
  • 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 31 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.

What We Value:

Collaboration: We believe the best work is done together. 
Empathy: We believe in putting people first. 
Quality: We believe in setting the standard for excellence. 
Positive Impact: We believe in making the world a better place through our work. 
Shipping: We believe in creating things for the people using them.

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. Here is a complete list of where we can hire!

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!

Where We Can Hire

Please note that benefits vary by country, if you have any questions, please don't hesitate to ask your Talent Partner. 

 

#LI-POST

Apply for this Position