GitHub is the world’s leading platform for agentic software development, and they are seeking a Staff Software Engineer to join their Database Infrastructure team. The role focuses on ensuring the reliability and scalability of the databases that power GitHub, creating 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
Requirements:
- 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 Associate's Degree in Computer Science, Electrical Engineering, Electronics Engineering, Math, Physics, Computer Engineering, Computer Science, or related field AND 8+ 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 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 Master's Degree 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 Doctorate in Computer Science, Electrical Engineering, Electronics Engineering, Math, Physics, Computer Engineering, Computer Science, or related field AND 3+ 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
- 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)