At a Glance
- Tasks: Join GitHub's Elasticsearch team to optimise and manage large-scale search infrastructure.
- Company: GitHub, the leading platform for software development with a vibrant open-source community.
- Benefits: Remote work, competitive pay, generous learning opportunities, and excellent benefits.
- Why this job: Make a real impact on search technology while working with cutting-edge tools.
- Qualifications: 6+ years in infrastructure roles and experience with Elasticsearch at scale.
- Other info: Diverse and inclusive culture with strong growth potential.
The predicted salary is between 48000 - 72000 ÂŁ per year.
About GitHub
GitHub is the world’s leading platform for agentic software development — powered by Copilot to build, scale, and deliver secure software. Over 180 million developers, including more than 90% of the Fortune 100 companies, use GitHub to collaborate, and more than 77,000 organisations have adopted GitHub Copilot.
Locations: In this role you can work from Remote, United Kingdom.
Overview
The Elasticsearch team at GitHub owns the infrastructure and code that powers searching Issues, Pull Requests, Projects, Discussions and more. We’re responsible for the creation and management of large-scale Elasticsearch clusters (hundreds of terabytes of data serving multiple thousands of reads and writes per second). Our problem space also includes optimizing index creation, population, repair and reindex processes to ensure that indexes with billions or trillions of records are recoverable, correctly mapped, and can be restored quickly. At the same time we’re also focused on pushing the boundaries of cluster management, scale and availability. We’re looking for a senior search and data focused engineer to join the team and help us build the future of Search at GitHub. Our top priorities include scaling support for both agentic and human‑driven traffic, improving relevance tooling for teams that build search experiences, and building an API‑driven interface between our relational data and search indexes.
Responsibilities
- Infrastructure Development and Management: Builds and enhances the physical and/or virtual frameworks and tools that are used to manage and maintain the infrastructure. Helps create scalable and efficient systems, automates processes, and improves overall infrastructure performance. Participates in capacity planning and design initiatives. With minimal guidance, assesses infrastructure capacity needs, predicts growth trends, and plans for scalability. Ensures sufficient resources are allocated and infrastructure is properly scaled to handle increasing demands. Expands infrastructure/platform offerings to meet business and developer needs.
- Site Availability and Performance: Acts as the first point of contact for user issues in this area of responsibility. Engages with other teams to diagnose and respond to broad incidents. Solicits information from customers to form an understanding of the nature of the outage and identify potential troubleshooting steps. Ensures the security and compliance of the infrastructure. Collaborates with security teams to implement and maintain robust security measures, conduct vulnerability assessments, and adhere to relevant regulatory standards. Performs timely upgrades to applications/open‑source software (OSS)/operating systems used for operation of the infrastructure. Establishes appropriate observability and monitoring of infrastructure to proactively identify and address situations, including instructional playbooks. Researches and understands performance gaps or outages. Executes disaster recovery/failure test scenarios.
- Elasticsearch Infrastructure and Management: Identifies areas for optimization, implements innovative solutions, and drives initiatives to enhance system performance, reliability, and scalability. Stays updated with latest technologies, industry trends, and best practices in infrastructure engineering. Implements projects that incorporate these into GitHub platforms.
- Troubleshooting: Understands how to read and assess common errors to form accurate diagnoses and create or direct fixes. Remains on‑call to handle incidents and outages, investigating and resolving issues promptly to minimize the downtime and impact on services. Contributes to incident management processes, participates in incident report‑out, identifies root causes, and implements preventive measures to avoid similar incidents in the future.
- Collaboration: Contributes to open‑source projects. Collaborates with broader open‑source community to enhance existing tools, develop new features, and share best practices with other infrastructure engineers in the industry. Collaborates with software engineers and other infrastructure teams to troubleshoot issues and optimise infrastructure performance. Understands systems and writes technical design docs to drive shared understanding and alignment across partner teams and stakeholders. Collaborates with various teams to identify cross‑team opportunities for new features and improvement and able to approach every development task with a “How do I observe the impact of this” mindset and similarly approach Production incidents with a thought to “How could I have seen this earlier”.
Qualifications
- Required Qualifications: 6+ years technical and/or management experience in infrastructure domains (e.g., container orchestration engineering, platform engineering, database engineering, software engineering, network engineering, systems administration, or related field). OR Bachelor's Degree in Computer Science, Information Technology, or related field AND 4+ years technical experience in infrastructure domains. OR equivalent experience. 1+ year(s) technical leadership experience. 6+ years experience of Building, deploying and maintaining Elasticsearch at scale. 3+ years experience using general purpose programming languages (e.g., Go, Ruby, or Rust).
- Preferred Qualifications: 6+ years experience with Lucene/Apache based search engines such as Elasticsearch, Opensearch or Solr. 6+ years experience with Search Relevance, Scoring and building Search Experiences and with Infrastructure as code, configuration management and associated tooling such as Terraform, Puppet and Ansible. 3 years+ experience in one or more scripting languages (e.g., Bash, Python, or a similar language).
GitHub values:
- Customer‑obsessed
- Ship to learn
- Growth mindset
- Own the outcome
- Better together
- Diverse and inclusive
Manager fundamentals:
- Model
- Coach
- Care
Leadership principles:
- Create clarity
- Generate energy
- Deliver success
Who We Are
GitHub is the world’s leading AI‑powered developer platform with 150 million developers and counting. We’re also home to the biggest open‑source community on earth (and 99% of the world’s software has open‑source code in its DNA). Many of the apps and programs you use every day are built on GitHub. Our teams are dreamers, doers, and pioneers, leading the way in AI, driving humanitarian efforts around the globe, and even sending open source to Mars (and beyond!). At GitHub, our goal is to create the space you need to do your best work. We’re remote‑first and offer competitive pay, generous learning and growth opportunities, and excellent benefits to support you, wherever you are—because we know that people flourish when they can work on their own terms. Join us, and let’s change the world, together.
Equal Employment Opportunity
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!
Senior Software Engineer, Elasticsearch employer: GitHub, Inc.
Contact Detail:
GitHub, Inc. Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Senior Software Engineer, Elasticsearch
✨Tip Number 1
Network like a pro! Reach out to current or former GitHub employees on LinkedIn. A friendly chat can give you insider info and maybe even a referral, which can really boost your chances.
✨Tip Number 2
Prepare for the technical interview by brushing up on Elasticsearch and related technologies. We recommend setting up a mini-project to showcase your skills. It’s a great way to demonstrate your hands-on experience!
✨Tip Number 3
Don’t forget to show your passion for open-source! GitHub loves candidates who contribute to the community. Share your projects or contributions during interviews to highlight your commitment.
✨Tip Number 4
Apply through our website! It’s the best way to ensure your application gets seen. Plus, it shows you’re genuinely interested in being part of the GitHub family.
We think you need these skills to ace Senior Software Engineer, Elasticsearch
Some tips for your application 🫡
Tailor Your CV: Make sure your CV is tailored to the role of Senior Software Engineer, Elasticsearch. Highlight your experience with Elasticsearch and any relevant projects you've worked on. We want to see how your skills align with our needs!
Craft a Compelling Cover Letter: Your cover letter is your chance to shine! Use it to explain why you're passionate about search technologies and how you can contribute to GitHub's mission. Keep it engaging and personal – we love to see your personality come through.
Showcase Your Technical Skills: Don’t forget to highlight your technical skills in your application. Mention your experience with programming languages like Go or Ruby, and any tools you’ve used for infrastructure management. We’re looking for someone who can hit the ground running!
Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way to ensure your application gets into the right hands. Plus, it shows us that you’re serious about joining our team at GitHub!
How to prepare for a job interview at GitHub, Inc.
✨Know Your Elasticsearch Inside Out
Make sure you brush up on your Elasticsearch knowledge before the interview. Understand its architecture, how to scale it, and common performance issues. Be ready to discuss your past experiences with Elasticsearch, especially any large-scale implementations you've worked on.
✨Showcase Your Problem-Solving Skills
Prepare to share specific examples of how you've tackled complex infrastructure challenges in the past. Think about times when you optimised systems or resolved outages. GitHub values a proactive approach, so demonstrate how you can foresee potential issues and implement preventive measures.
✨Familiarise Yourself with GitHub's Culture
GitHub is all about collaboration and inclusivity. Research their values and think about how your personal values align with theirs. Be prepared to discuss how you can contribute to a diverse and inclusive environment, as well as how you can work effectively within teams.
✨Prepare Questions for Them
Interviews are a two-way street! Prepare thoughtful questions about the team, the projects you'll be working on, and how success is measured at GitHub. This shows your genuine interest in the role and helps you assess if it's the right fit for you.