GitHub is the world’s leading platform for agentic software development. In this role, you will enhance the collaboration experience at GitHub by designing, prototyping, implementing, and supporting user experiences that millions of developers depend on.
Responsibilities:
- Design, develop, test and ship high-quality technical solutions that scale across multiple GitHub services and become intimately familiar with the systems you build and take pride in writing maintainable code
- Provide technical leadership, mentorship, pairing opportunities, and code reviews to encourage the growth of others; support teams in producing extensible and maintainable code, ensuring integration with downstream dependencies and adherence to quality standards
- Own and advocate for the health and quality of the systems that the team builds, including participating in on-call for first responder rotations and live incidents
- Write architecture briefs and proposals and carry out code experiments
- Design and implement APIs to facilitate seamless integration between software components
- Utilize CI/CD tools to set up automated pipelines for continuous integration and delivery
- Collaborate with cross-functional teams and partner with stakeholders and lead discussions for technical solutions, including design and cost considerations
- Create and guide others in 1) developing clear testing plans to assure solution quality, reliability, and performance; 2) defining success metrics; and 3) integrating customer feedback for continuous improvement - all while ensuring system architecture meets security and compliance standards
- Maintain executional and operational excellence within and potentially across teams/organizations
- Apply debugging tools and telemetry to verify assumptions, proactively resolve issues, and optimize code performance and maintainability
- Drive and support technical roadmap that aligns with product goals, ensuring that engineering efforts are strategically prioritized and incorporating the adoption of new technologies and methodologies where applicable
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, Go, Ruby, Rust, Python, JavaScript, C, C++, C#, Java
- 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, Go, Ruby, Rust, Python, JavaScript, C, C++, C#, Java
- 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, Go, Ruby, Rust, Python, JavaScript, C, C++, C#, Java
- 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, Go, Ruby, Rust, Python, JavaScript, C, C++, C#, Java
- 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, Go, Ruby, Rust, Python, JavaScript, C, C++, C#, Java
- OR equivalent experience
- Experience with designing a data strategy and leading the development of its core components by building and optimizing scalable data pipelines, integrations, and robust data models that solve complex business challenges
- Experience working closely with product management, design, and other engineering teams to drive cross-functional projects and deliver high-quality products
- Experience in one or more scripting languages (e.g., Bash, Python, or a similar language)
- Experience with cloud environments and/or Cloud Native Compute Foundation (CNCF) concepts
- Experience working with both relational (e.g. mysql) and most importantly non-relational datastores (e.g. Cosmos)
- Experience working with Azure resource such as Azure Storage (blob and table particularly), Azure Redis Cache, Azure Data Explorer Clusters
- Experience operating Cosmos DB clusters at scale