Senior Software Engineer
Role details
Job location
Tech stack
Job description
As a Senior Software Engineer on the Issues Platform team at GitHub, you will enhance the collaboration 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 systems with your team.
The Issues Platform team is a subteam of the broader GitHub Issues team within the Core Productivity engineering organization. Our core strategy is to invest in making Issues a reliable, fast and flexible solution that scales with the growth of our user base. We are a platform team, which means our customers are both the millions of developers who use GitHub Issues daily and the internal product teams who build features on top of our platform. We measure our success by service level objectives, the ability of partner teams to iterate rapidly on new features, and customer feedback on reliability and performance.
Our work is organized around three pillars: Reliability (ensuring GitHub Issues is always available and resilient), Scalability (building extensible architecture and consistent performance at scale), and Developer Experience (providing clear service boundaries and reusable building blocks for partner teams). You will contribute to projects across these pillars, from maintaining and extending our Ruby on Rails application to building new Go services that power our GraphQL APIs and REST endpoints.
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.
GitHub is the world's leading AI-powered developer platform. Our values guide how we work: Customer-obsessed, Ship to learn, Growth mindset, Own the outcome, Better together, and Diverse and inclusive. We create clarity, generate energy, and deliver success. Responsibilities:
- Design, develop, test and ship high-quality technical solutions that scale across multiple GitHub services
- Collaborate with cross-functional teams to define and implement innovative solutions
- Provide technical leadership, mentorship, pairing opportunities, and code reviews to encourage the growth of others
- Own and advocate for the health and quality of the systems that the team builds, including participating in on-call and first responder rotations
- Write architecture briefs and proposals, carry out code experiments, and build prototypes to learn how we can achieve planetary scale with our systems
- Design and implement GraphQL APIs and REST endpoints that serve as building blocks for product teams to build new features
- Maintain and extend Ruby on Rails applications while contributing to new Go services
- Drive improvements to service reliability through instrumentation, monitoring, and SLO management
- Lead discussions for technical solutions within the team's area of responsibility and create proposals for architecture
- Drive identification of dependencies during the design of products, applications, services, or platforms
- Participate in incident response, conduct root cause analysis, and contribute to postmortems
- Drive efforts to integrate instrumentation for gathering telemetry data on system behavior such as performance, reliability, availability, and usage
- Utilize CI/CD tools to set up automated pipelines for continuous integration and delivery
- Become intimately familiar with the systems you build and take pride in writing maintainable code
Requirements
Do you have experience in Web services?, Do you have a Master's degree?, * 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 proficiency in Ruby and Ruby on Rails, with experience building and maintaining large-scale web applications
- Experience with building highly scalable API, backend and web services in Go is highly valued as we are increasingly building new systems and services in Go
- A deep understanding of large-scale distributed systems, including consistency, reliability, and performance at scale
- Experience with participating in on-call rotations and incident response, including triaging production issues, conducting root cause analysis, and contributing to postmortems, * Minimum 2 years experience in one or more scripting languages (e.g., Bash, Python, or a similar language)
- Minimum 2 years experience using general purpose programming languages (e.g., Go, Ruby, or a similar language)
- Minimum 3 years experience with cloud environments and/or Cloud Native Compute Foundation (CNCF) concepts
- Experience working with distributed systems, including service-oriented architectures, data replication, eventual consistency, and strategies for handling failures gracefully
- Experience with database optimization, query performance tuning, and working with both relational databases and search technologies
- Experience with GraphQL, including designing schemas, implementing resolvers, and operating services that expose GraphQL APIs at scale
- Experience with federated GraphQL architectures, subgraph development, 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
GitHub Leadership Principles:
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