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
The GitHub iOS team is changing the way that developers across the world collaborate on GitHub. Launched in March 2020, GitHub iOS is one of our fastest growing products with over 3.5 million downloads across both apps and a 4.8-star rating on the App Store. The team is looking for someone who is passionate about the iOS platform and who will help us build a world-class app in design, performance, and accessibility.
Come join the team and influence the future of GitHub for mobile!
Stack: The iOS app is built with Swift and UIKit. Our networking primarily uses Apollo to communicate with GitHub GraphQL APIs.
As a Senior Software Engineer on the iOS team at GitHub, you will enhance the developer experience by working closely with a community of engineers and designers on 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 user facing features with your team.
The iOS team is a subteam of the broader GitHub Client Apps Team within the Core Productivity engineering organization. Our core strategy is to invest in making the iOS app a reliable, fast and flexible solution that scales with the growth of our user base. We are a product team, which means our customers are the millions of developers who use the GitHub iOS app daily. We measure our success by service level objectives and customer feedback on reliability and performance.
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
- 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
Qualifications
Required/Minimum 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.
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
Preferred Qualifications:
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
Compensation Range
The base salary range for this job is USD $124,000.00 - USD $329,200.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.
GitHub values
- Customer-obsessed
- Ship to learn
- Growth mindset
- Own the outcome
- Better together
- Diverse and inclusive
Manager fundamentals
- Model
- Coach
- Care
Leadership principles
- Create clarity
- Generate energy
- Deliver success
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!