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.
Required Qualifications:
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
Manager fundamentals
Leadership principles

Cambridge Mobile Telematics

NVIDIA

Cority

8th Light

Parexel

GitHub

GitHub

GitHub