GitHub is the world’s leading platform for agentic software development, and they are seeking a Senior Software Engineer to join their iOS team. In this role, you will enhance the developer experience by designing, prototyping, implementing, and supporting user-facing features for the GitHub iOS app, ensuring high performance and reliability for millions of users.
Responsibilities:
- Pick up work autonomously and code solutions, working to unblock yourself when stuck either by reaching out for help or finding other solutions in an asynchronous, remote, distributed culture
- Write clear documentation, tests, and recommendations for technical problems
- Collaboratively define, scope, prioritize, and estimate work
- Drive helpful conversations around technical issues and engineering practices, suggesting improvements and ideas as you see fit
- Review code and provide thoughtful, constructive feedback during code reviews
- Triage, reproduce, and debug issues reported for our area of responsibility
- Give and receive feedback to grow yourself and the team
- Provide compassionate technical mentorship, pairing opportunities, and code reviews to encourage the growth of others
- Deliver complex code/features with quality and supportability
Requirements:
- 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
- 4+ years of demonstrated proficiency in iOS app development, building and maintaining large-scale, highly scalable iOS applications in Swift, and experience developing modern iOS features using UIKit and/or SwiftUI
- A deep understanding of mobile design patterns, including consistency, reliability, and performance at scale
- Experience with participating in on-call rotations and Apple App Store deployments, including triaging production issues, conducting root cause analysis, and contributing to postmortems
- Experience in one or more scripting languages (e.g., Bash, Python, or a similar language) to streamline CI/CD pipelines and local development workflows
- Deep expertise with Apple's Human Interface Guidelines and iOS best practices
- Experience supporting iOS accessibility frameworks and design patterns
- Experience with Apollo GraphQL, including designing API models and implementing resolvers
- Experience with federated GraphQL architectures and API design strategies
- Familiarity with service health indicators (SLOs, SLIs), observability tooling, and data-driven decision making for prioritizing reliability improvements
- Experience driving efforts to reduce incident volume and improve system resilience through proactive monitoring and alerting