
Principal Software Engineer, Database Infrastructure
GitHub · United States
- Hybrid
- Full-time
- $425,000 / year
- United States
Job highlights
- Design and scale GitHub's database infrastructure.
- Be a MySQL expert and administration lead.
- Develop and maintain database operating tooling.
- Work remotely with a distributed team.
- Ensure system reliability and disaster recovery.
About the role
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.
Overview
GitHub is looking for a Principal Software Engineer to join our Database Infrastructure team. We're a team that focuses on ensuring the reliability and scalability of the databases that power GitHub. The Database platform is home to hundreds of terabytes of unique data, serving over 20 million queries per second on average across our fleet. We create self-service infrastructure to empower engineers across the organization.
Responsibilities
- Design and build a core part of GitHub’s infrastructure, work to scale our database solution.
- Be a subject matter expert on MySQL and database administration within GitHub.
- Cultivate open source projects developed at GitHub and build things you are proud to share.
- Design, develop and maintain tooling for operating database systems and self-service tooling for GitHub developers.
- Write technical documentation on how to use internal tooling and best practices for leveraging MySQL.
- Escalate risks and advocate for the health and quality of the systems that the team builds.
- Participate in an on-call rotation and respond to incidents as needed.
- Develop and design plans for disaster recovery and systems failovers.
The team is highly distributed across geographies and timezones, and you will thrive in an environment of remote work and asynchronous communication.
Qualifications
Required Qualifications:
- 11+ years experience in Software Engineering, Computer Science, or related technical discipline with proven experience maintaining and delivering production software coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, Go, Ruby, Rust, or Python.
- OR Associate’s Degree in Computer Science, Electrical Engineering, Electronics Engineering, Math, Physics, Computer Engineering, Computer Science, or related field AND 10+ years experience in Software Engineering, Computer Science, or related technical discipline with proven experience maintaining and delivering production software coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, Go, Ruby, Rust, or Python.
- OR Bachelor's Degree in Computer Science or related field AND 9+ years experience in Software Engineering, Computer Science, or related technical discipline with proven experience maintaining and delivering production software coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, Go, Ruby, Rust, or Python.
- OR Master's Degree in Computer Science, Electrical Engineering, Electronics Engineering, Math, Physics, Computer Engineering, Computer Science, or related field AND 7+ years experience in Software Engineering, Computer Science, or related technical discipline with proven experience maintaining and delivering production software coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, Go, Ruby, Rust, or Python.
- OR Doctorate in Computer Science, Electrical Engineering, Electronics Engineering, Math, Physics, Computer Engineering, Computer Science, or related field AND 5+ years experience in Software Engineering, Computer Science, or related technical discipline with proven experience maintaining and delivering production software coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, Go, Ruby, Rust, or Python.
- OR equivalent experience.
- 3+ years experience in using monitoring tooling to diagnose performance or availability issues.
Preferred Qualifications:
- Excitement about building, operating, and maintaining resilient, scalable systems that impact a global community of users with the ability to break down complex systems into manageable components.
- Drive for observability to understand performance and be able to diagnose problems.
- Effective communication skills and willingness to pair on problems, brainstorm in public, and enthusiastically engage with your teammates in group problem solving.
- Experience writing design docs and getting consensus on technical decisions from a broader group.
- Familiarity with database internals and experience with change management (especially database migrations).
Compensation Range
The base salary range for this job is USD $160,200.00 - USD $425,000.00 /Yr.
These pay ranges are intended to cover roles based across the United States. An individual's base pay depends on various factors including geographical location and review of experience, knowledge, skills, abilities of the applicant. At GitHub certain roles are eligible for benefits and additional rewards, including annual bonus and stock. These rewards are allocated based on individual impact in role. In addition, certain roles also have the opportunity to earn sales incentives based on revenue or utilization, depending on the terms of the plan and the employee's role.
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.
EEO Statement
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!
Key skills/competency
- Database Infrastructure
- Principal Software Engineer
- MySQL
- Scalability
- Reliability
- Production Software
- Software Engineering
- System Design
- Disaster Recovery
- Monitoring Tools
Skills & topics
- Principal Software Engineer
- Database Infrastructure
- Software Engineering
- MySQL
- Database Administration
- Scalability
- Reliability
- System Design
- Remote
- Production Software
How to get hired
- Tailor your resume: Highlight your 11+ years of experience in software engineering and production software delivery, emphasizing MySQL and database administration skills.
- Showcase your expertise: Detail your experience with monitoring tools, system design, and building scalable, resilient infrastructure in your application.
- Prepare for technical deep dives: Be ready to discuss your experience with database internals, disaster recovery planning, and developing operational tooling.
- Demonstrate collaborative skills: Emphasize your ability to communicate effectively, write design docs, and work with a distributed, remote team.
- Research GitHub's values: Align your application and interview responses with GitHub's customer-obsessed, growth mindset, and collaborative culture.
Technical preparation
Behavioral questions
Frequently asked questions
- What are the main responsibilities of a Principal Software Engineer, Database Infrastructure at GitHub?
- As a Principal Software Engineer on the Database Infrastructure team at GitHub, you will be responsible for designing and scaling core infrastructure, acting as a subject matter expert on MySQL and database administration, developing operational and self-service tooling, and contributing to disaster recovery and failover planning. You will also document best practices and participate in an on-call rotation.
- What technical skills and experience are essential for this Principal Software Engineer role at GitHub?
- The role requires at least 9 years of experience in Software Engineering with a Bachelor's degree (or equivalent experience), and a strong background in maintaining and delivering production software. Specific expertise in MySQL, database internals, system design, monitoring tools for performance diagnostics, and experience with disaster recovery planning are highly preferred.
- Can I work remotely in this Principal Software Engineer position at GitHub?
- Yes, this Principal Software Engineer role is a remote position within the United States. GitHub is a remote-first company, and this team is highly distributed across geographies and timezones, emphasizing asynchronous communication.
- What is the compensation range for the Principal Software Engineer, Database Infrastructure role at GitHub?
- The base salary range for this position in the United States is $160,200.00 to $425,000.00 annually. Actual compensation will depend on factors like location, experience, and skills. Additional benefits, bonuses, and stock options may also be available.
- How does GitHub support professional growth for Principal Software Engineers?
- GitHub is committed to professional development, offering generous learning and growth opportunities. As a Principal Engineer, you'll have the chance to work on core infrastructure, contribute to open-source projects, and develop skills in a remote-first, collaborative environment.
- What is GitHub's approach to diversity and inclusion for this Principal Software Engineer role?
- GitHub is dedicated to building a diverse and inclusive workforce and invites applications from all backgrounds. They actively work to avoid discrimination and are happy to provide accommodations during the interview process for candidates with disabilities.
- What are the preferred qualifications for the Principal Software Engineer, Database Infrastructure at GitHub?