GitHub is the world’s leading platform for agentic software development, and they are seeking a Senior Software Engineer for their Client Apps Platform team. In this role, you will build and operate Ruby and Go services, drive architecture and cross-team design, and enhance shared platform capabilities to support client teams.
Responsibilities:
- 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 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
- 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