Logo for GitHub

Software Engineer III

Roles & Responsibilities

  • 4+ years of experience in Software Engineering, Computer Science, or related technical discipline with proven experience maintaining and delivering production software in languages such as C, C++, C#, JavaScript, Go, Ruby, Rust, or Python
  • Or an Associate’s Degree in Computer Science, Electrical/Electronics Engineering, Math, Physics, Computer Engineering, or related field with 3+ years of experience coding in the listed languages
  • Or a Bachelor's Degree in Computer Science, Electrical/Electronics Engineering, Math, Physics, Computer Engineering, or related field with 2+ years of experience coding in the listed languages
  • Or a Master's Degree in Computer Science, Electrical/Electronics Engineering, Math, Physics, Computer Engineering, or related field, or equivalent experience

Requirements:

  • Understand requirements by collaborating with stakeholders to determine feature needs, incorporate feedback from multiple channels, and interpret customer needs from data and bugs
  • Design and architecture: contribute to architecture proposals, draft design documents, select technologies, and plan testing, scalability, and security considerations
  • Coding and quality: develop, review, and maintain code for features; ensure code is diagnosable, reliable, and maintainable; participate in code reviews and debugging
  • Development lifecycle and deployment: plan project plans and estimates, break down work items, manage dependencies, run experiments, and ensure safe deployments with monitoring and rollback plans

Job description

About GitHub: 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, Germany
Overview:

GitHub Copilot has changed the way software is built, and we have a unique opportunity to look further ahead to identify how software development can be faster, safer, easier, and more accessible. We’re looking for a talented and experienced Software Engineer to join us in this mission! 

 

GitHub Copilot Agent Services owns the platform that expands Copilot's abilities with powerful AI agents in a rich ecosystem of developer tools and services as part of our industry-leading experiences.

 

As a Software Engineer on the Copilot MCP Core Team, you will work closely with a distributed, diverse, and passionate team of engineers and product managers with multiple teams across GitHub and Microsoft to improve and maintain our platform that integrators depend on in their software development cycle. Together, we are dedicated to shaping the future of software development by continuously enhancing AI-powered capabilities in GitHub and beyond.

 

The Copilot team is highly distributed and you will thrive in an environment of remote work and asynchronous communication. You're expected to have strong written communication skills and be able to develop working relationships with coworkers in locations around the globe. As an engineer at GitHub you'll always be challenged to solve interesting and novel problems that have real impact on how the world builds software.

 

Responsibilities:

Understand Requirements 

  • Works with appropriate stakeholders (e.g., project manager, technical lead) to determine requirements for a set of features or a scenario. Begins to leverage a variety of feedback channels to incorporate insights into future designs or solution fixes. Models understanding of customer need via data interpretation (e.g., metrics, bugs, customer feedback) provided and may align with a stakeholder for incorporation into services/features/products. 

 

Design

  •  Contributes to processes for the technical solutions of a product/feature within team's area of responsibility and helps to create proposals for architecture by testing design hypotheses and helping to refine code plans, with technical leadership from others. Provides initial reactions and input to architects. Begins to own solutions for architecting of solutions, following technical leadership as applicable. Contributes to the development of design documents for designs with oversight from senior colleagues, determines the technology that will be leveraged, and how that technology will interact. Escalates and shares findings from investigations with the team and owns some design decisions. Helps to ensure system architecture meets security and compliance requirements and expectations. 

  • Creates a clear and articulated plan for testing and assuring quality of solutions, and defines success metrics for quality. Independently acquires, reviews, and integrates moderately complex internal/external customer feedback into necessary changes to ensure a quality customer experience. Draft proposed plans for the availability and scalability of features and changes in production with consideration for server health. Monitors the health of the services to make data driven projections on scalability and develops a rollback plan. Independently ensures safe deployments and monitors impacts to minimize disruptions, derisk rollouts, and develop rollback plans when needed. 

  • Contributes to the identification of dependencies during the design of a product area with little oversight. Helps to identify other teams and technologies that will be leveraged, how they will interact, and when one's system may provide support to others. Contributes to determining back-end dependencies associated with product, application, service, or platform functionality for product features. Understands downstream effects of solutions and work provided. Helps to identify areas of dependency and overlap with other teams or team members and drives coordination. 

Coding 

  • Creates and implements code for a product, service, or feature, reusing code as applicable. Writes and learns to create code that is extensible and maintainable. Considers diagnosability, reliability, and maintainability with few defects, and understands when the code is ready to be shared and delivered. Applies coding patterns and best practices to write code. 

  • Supports efforts to apply debugging tools and examines logs, telemetry, and other methods to verify assumptions proactively before issues occur and reactively as issues occur for product features. Conducts retrospective debugging of solutions to identify root causes of problems.

  •  Reviews code of a product feature to ensure it meets the team's and GitHub's quality standards, is reliable and accurate and is appropriate for the scale of the product feature. Applies feedback to current and future iterations. Participates in code reviews to ensure coding standards are followed. Considers diagnosability, reliability, and maintainability when reviewing code and understands when code is ready to be shared or delivered. Applies and screens for coding patterns and best practices in reviews. Understands the impact of the reviewed code on the assigned Service Area, with guidance from senior colleagues.

 Development/Project Lifecycle 

  • Reviews work items to deepen knowledge of product features in partnership with appropriate stakeholders (e.g., project managers) and executes project plans, release plans, and work items. Contributes to efforts to break down larger work items into smaller work items and provides estimation. Escalates any issues that would cause a delay. Notes and escalates dependencies in product/feature/service improvements and supports collaborations with peer teams. Independently drafts estimates of resources, timeline, risks, dependencies needed for project success. Supports efforts to gain approval of project plan from Engineering, Product, and Design (EPD) Leadership, Engineering Managers (EMs), and/or Project Managers (PMs). May reach out to related teams to gather information for dependencies in resourcing. 

  • Conducts and creates experimentation to determine the effectiveness of changes for prototyping and testing features, and applies findings back into development. 

  • Learns about and considers the impact of build deployments on both users and other services. Learns about best practices for the deployment of features safely. Learns about and adheres to GitHub deployment standards. 

Reliability and Supportability 

  • Maintains operations of live service as issues arise on a rotational, on-call basis. Identifies solutions and mitigations to simple issues and complex issues when applicable impacting performance or functionality of Live Site services and escalates as necessary. Monitors existing, examines reported signals, files reports for escalation as needed, and mitigates issues impacting system health, with minimal review. Reviews, maintains, and evaluates scorecards to determine if scores are met to measure service health. Acts upon improvement areas within scorecard to meet expected metrics and guides team to do the same. 

  • Acts as a First Responder working on call to monitor system/product feature/service for degradation, downtime, or interruptions. Alerts stakeholders as to the status and gains approval to restore system/product/service for simple problems. Responds within Service Level Objectives (SLO) timeframe. Escalates issues to appropriate owners. Monitors alerts, investigates issues, and resolves issues. Escalates for resolution if needed. 

  • Identifies areas to efforts to integrate instrumentation for gathering telemetry data on system behavior such as performance, reliability, availability, usage, and safety mechanisms. Contributes to sustaining feedback loops from telemetry resulting in subsequent designs. Helps to create outputs of telemetry such as notifications or dashboards. May collaborate with product teams to ensure successful feature performance and review feature data (e.g., funnel analysis) to feed into product revisions. Begins to determine effective measures of success in collaboration with product teams. Ships feature and reviews customer feedback.

  • Contributes to efforts to collect, classify, and analyze data with little oversight on a range of metrics (e.g., health of the system, where bugs might be occurring). Contributes to the refinement of product features by escalating findings from analyses to inform decisions regarding the engineering of products. 

Engineering Excellence 

  • Builds knowledge, shares new ideas, and shares pinpoints of engineering tool gaps to improve software developer tools to support other programs, tools, and applications to create, debug, and maintain code for complex product features. Uses open source when possible. Develops higher-level awareness of other kinds of tools outside areas of expertise. Helps to identify internal tools and creates tools that will be useful for creating the product, determining if methods are still applicable for the current solution. 

  • Contributes to the development of automation within production and deployment of a complex product feature. Runs code in simulated, or other non-production environments to confirm functionality and error-free runtime for products with little to no oversight. 

  • Contributes to efforts to ensure the correct processes are followed to achieve a high degree of security, privacy, safety, and accessibility. Checks for visible evidence (e.g., audit logs, system reports, security compliance) to demonstrate compliance for product areas. Develops and holds an understanding of the implications of onboarding new technologies following expectations of compliance at GitHub. 

  • Remains current in skills by investing time and effort into staying abreast of current developments that will improve the availability, reliability, efficiency, observability, and performance of products while also driving consistency in monitoring and operations at scale. 

  • Applies best practices to reliably build code that is based on well-established methods while also applying best practices for new code development. Demonstrates and maintains an up-to-date understanding of both global and local regulations for technologies and system applications to ensure regulations are met. Follows best practices for product development and scaling to customer requirements, and applies best practices for meeting scaling needs and performance expectations. 

  • Maintains communication with key partners across the GitHub ecosystem of engineers. Considers partners across teams and their end goals for products to drive and achieve desirable user experiences and fitting the dynamic needs of partners/customers through product development. Escalates situations to team lead or manager for resolution of blockers as needed.

Qualifications:

Required Qualifications:

  • 4+ years experience in Software Engineering, Computer Science, or related technical discipline with proven experience maintaining and delivering production software languages including, but not limited to, C, C++, C#, JavaScript, Go, Ruby, Rust, or Python
    • o OR Associate’s Degree in Computer Science, Electrical Engineering, Electronics Engineering, Math, Physics, Computer Engineering, Computer Science, or related field AND 3+ years experience
    • o OR Bachelor's Degree in Computer Science, Electrical Engineering, Electronics Engineering, Math, Physics, Computer Engineering, Computer Science, or related field AND 2+ years experience in Computer Science, or related technical discipline with proven experience coding in languages including, but not limited to, C, C++, C#, JavaScript, Go, Ruby, Rust, or Python
    • o OR Master's Degree in Computer Science, Electrical Engineering, Electronics Engineering, Math, Physics, Computer Engineering, Computer Science, or related field
    • o OR equivalent experience.

Preferred Qualifications

  • Professional experience coding in Go, TypeScript, Ruby, Rust, or Python.

  • Interest or experience working with modern AI and agentic platforms, including MCP integrations, and Skills-based architectures for building AI solutions.

  • Experience with distributed systems at global scale.

  • Experience working with a remote, distributed team.

  • Excellent written and verbal communication skills.

  • Passionate about fostering good API Design practices and processes.

 

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
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!

Software Engineer Related jobs

Other jobs at GitHub

We help you get seen. Not ignored.

We help you get seen faster — by the right people.

🚀

Auto-Apply

We apply for you — automatically and instantly.

Save time, skip forms, and stay on top of every opportunity. Because you can't get seen if you're not in the race.

AI Match Feedback

Know your real match before you apply.

Get a detailed AI assessment of your profile against each job posting. Because getting seen starts with passing the filters.

Upgrade to Premium. Apply smarter and get noticed.

Upgrade to Premium

Join thousands of professionals who got noticed and hired faster.