This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
As a Principal Software Engineer at GitHub, you will enhance the collaboration experience at GitHub by working closely with a community of engineers and designers with 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 and inspiring user experiences with your team.
Job Responsibility:
Design, develop, test and ship high-quality technical solutions that scale across multiple GitHub services and become intimately familiar with the systems you build and take pride in writing maintainable code
Provide technical leadership, mentorship, pairing opportunities, and code reviews to encourage the growth of others
support teams in producing extensible and maintainable code, ensuring integration with downstream dependencies and adherence to quality standards
Own and advocate for the health and quality of the systems that the team builds, including participating in on-call for first responder rotations and live incidents
Write architecture briefs and proposals and carry out code experiments
Design and implement APIs to facilitate seamless integration between software components
Utilize CI/CD tools to set up automated pipelines for continuous integration and delivery
Collaborate with cross-functional teams and partner with stakeholders and lead discussions for technical solutions, including design and cost considerations
Create and guide others in 1) developing clear testing plans to assure solution quality, reliability, and performance
2) defining success metrics
and 3) integrating customer feedback for continuous improvement - all while ensuring system architecture meets security and compliance standards
Maintain executional and operational excellence within and potentially across teams/organizations
Apply debugging tools and telemetry to verify assumptions, proactively resolve issues, and optimize code performance and maintainability
Drive and support technical roadmap that aligns with product goals, ensuring that engineering efforts are strategically prioritized and incorporating the adoption of new technologies and methodologies where applicable
Requirements:
Bachelor's Degree in Computer Science or related technical discipline with proven experience maintaining and delivering production software coding in languages including, but not limited to, Go, Ruby, Rust, Python, JavaScript, C, C++, C#, Java
Experience with designing a data strategy and leading the development of its core components by building and optimizing scalable data pipelines, integrations, and robust data models that solve complex business challenges
Experience working closely with product management, design, and other engineering teams to drive cross-functional projects and deliver high-quality products
Nice to have:
Experience with cloud environments and/or Cloud Native Compute Foundation (CNCF) concepts
Experience working with both relational (e.g. mysql) and most importantly non-relational datastores (e.g. Cosmos)
Experience working with Azure resource such as Azure Storage (blob and table particularly), Azure Redis Cache, Azure Data Explorer Clusters