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. The role involves building and operating Ruby and Go services, driving architecture and design, and collaborating with various teams to enhance client applications.
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