Senior Software Engineer, Data Engineering
GitHub
Job Overview
Who's the hiring manager?
Sign up to PitchMeAI to discover the hiring manager's details for this job. We will also write them an intro email for you.

Job Description
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 States
Overview
As a Senior Software Engineer, Data Engineering at GitHub, you will enhance the collaboration experience at GitHub by working closely with a community of engineers and designers with a distributed, diverse and passionate team delivering the services that millions of developers depend on. In this role you will design, prototype, implement, ship and support highly performant and inspiring user experiences with your team.
We are looking for creative problem solvers and diverse thinkers, people who care about culture as well as customers and features. We believe that how we do things is as important as what we do. Big vision, a common purpose, passion for quality, curiosity, dedication, and investment in fun and collaboration are what lead to great results. Great products reflect the teams that build them.
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.
Qualifications
Required Qualifications:
- 6+ 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 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 Bachelor's Degree in Computer Science, Electrical Engineering, Electronics Engineering, Math, Physics, Computer Engineering, Computer Science, or related field AND 4+ 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 2+ 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.
- OR equivalent experience.
Preferred Qualifications:
- Experience with large-scale system architecture and design, particularly in cloud-based environments, with a strong understanding of distributed systems and microservices.
- 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.
Key skills/competency
- Software Engineering
- Data Engineering
- Distributed Systems
- Cloud Architecture
- Microservices
- API Design
- CI/CD
- Technical Leadership
- Azure
- Cosmos DB
How to Get Hired at GitHub
- Research GitHub's culture: Study their mission, values like 'Customer-obsessed' and 'Growth mindset,' recent news, and employee testimonials on LinkedIn and Glassdoor to align your application.
- Tailor your resume: Customize your resume to highlight experience in large-scale system architecture, cloud-based environments, distributed systems, and proficiency in relevant programming languages (Python, Java, Go).
- Prepare for technical interviews: Expect rigorous questions on data engineering principles, system design, coding challenges, distributed systems, microservices, and practical application of Azure services and Cosmos DB.
- Showcase collaboration skills: Emphasize your ability to work effectively with cross-functional teams, provide technical leadership, mentor peers, and contribute to shared success in a remote-first environment.
- Demonstrate problem-solving and ownership: Be ready to discuss specific examples where you designed, debugged, optimized, and took ownership of the health and quality of production systems, including on-call responsibilities.
Frequently Asked Questions
Find answers to common questions about this job opportunity
Explore similar opportunities that match your background