Senior Software Engineer, Client Apps Platform
Role details
Job location
Tech stack
Job description
You'll join the Client Apps Platform team, the connective tissue between GitHub's client applications (gh-CLI, Desktop, Mobile) and feature-owning backend teams. You'll build and operate Ruby and Go services, drive architecture and cross team design, and identify opportunities to extract shared platform capabilities to accelerate client teams. This role offers deep exposure to distributed systems, cross-surface architecture, and influencing technical direction across organizational boundaries., * Maintain, extend, and operate production level Ruby and Go services powering first party client apps; write readable, testable, and maintainable code integrated with downstream dependencies.
- Lead and facilitate technical design and architecture discussions across product, client app engineers, and domain service teams; propose, validate, and document architectural tradeoffs.
- Translate client requirements into platform solutions; identify and drive extraction of common functionality from apps into shared platform components.
- Collaborate with domain teams to extend or integrate with GitHub's Ruby on Rails monolith when additional domain bandwidth or migrations are required.
- Define testing strategies, success metrics, SLOs, and safe rollout/rollback plans; monitor telemetry and service health to drive data informed decisions.
- Serve on rotation as on-call/first-responder, lead incident response and postmortems, and implement long-term reliability improvements.
- Mentor engineers, participate in code reviews, and champion engineering excellence, automation, and observability across the platform.
- Identify cross team dependencies, coordinate workstreams, and resolve conflicts to ensure solutions meet security, performance, and scalability needs.
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 PythonOR 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.
- Demonstrated experience in software and system design for scalable, reliable services.
- Strong written and verbal communication skills with experience facilitating cross-team technical discussions.
- Proven experience maintaining and operating live services, including monitoring, debugging, and incident response., * Hands-on experience with Go and/or Ruby (Ruby on Rails) in production.
- Familiarity with GraphQL and RPC frameworks such as Twirp.
- Experience building platforms or infrastructure that support multiple client surfaces (mobile, desktop, CLI).
- Experience extracting shared libraries/platforms from application codebases and driving adoption.
- Proven ability to work within and extend large existing codebases (e.g., monoliths).
- Experience defining SLOs, telemetry, and observability tooling.
Benefits & conditions
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
About the company
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.