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
Contact Detail:
GitHub 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. Practice coding challenges and system design questions that are relevant to the role. We want you to shine!
✨Tip Number 3
Show off your passion for open-source! Contributing to projects or sharing your own work can demonstrate your skills and commitment to the community. Plus, it’s a great conversation starter during interviews.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen. Plus, we love seeing candidates who take the initiative to engage directly with us.
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 work you've done with infrastructure as code tools. 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
✨Know Your Elasticsearch Inside Out
Make sure you brush up on your Elasticsearch knowledge before the interview. Understand its architecture, how it handles large-scale data, and be ready to discuss your experience with optimising search relevance and performance. This will show that you're not just familiar with the technology but can also contribute to GitHub's goals.
✨Showcase Your Problem-Solving Skills
Prepare to discuss specific challenges you've faced in previous roles, especially related to infrastructure management or troubleshooting. Use the STAR method (Situation, Task, Action, Result) to structure your answers, highlighting how you identified issues and implemented solutions effectively.
✨Demonstrate Collaboration Experience
GitHub values teamwork, so be ready to share examples of how you've collaborated with other teams or contributed to open-source projects. Discuss how you’ve worked with software engineers to optimise infrastructure performance or how you’ve engaged with the community to enhance existing tools.
✨Ask Insightful Questions
At the end of the interview, don’t forget to ask questions that show your interest in the role and the company. Inquire about the team’s current challenges with Elasticsearch or how they envision the future of search at GitHub. This not only demonstrates your enthusiasm but also helps you gauge if the role is the right fit for you.