Description

Overview

 

GitHub is seeking Principal Software Engineers to join our Engineering team. This role is focused on wide-reaching, cross-team work to improve GitHub’s engineering processes, systems, and architecture. Principal Software Engineers are focused on the most impactful work in engineering and provide guidance to engineering leadership and the organization to help build, scale, and maintain GitHub as the home for all developers. 


Responsibilities

 

Drive department-wide conversations around technical issues and engineering practices, suggesting improvements and ideas as you see them

Ensure the team builds software that is architecturally consistent and of high quality, establishing patterns and best practices for the organization

Coordinate with engineering and product leads to define, prioritize, and task projects that help us meet business objectives

Provide technical leadership, mentorship, pairing opportunities, and code reviews to encourage the growth of others

Help cultivate an environment where team members are empowered and demonstrate a strong sense of ownership and belonging

A week in the life of a Principal Engineer might consist of:

Collaborating with other Principal Engineers to define the future of GitHub engineering and working together to implement that vision

Collaborating with design, analytics, support, and product management to understand the problems we want to solve and exploring how we can solve them

Digging in to the most important issues the department is tackling by asking questions, creating plans, recognizing pitfalls, and raising concerns

Discussing and collaboratively solving engineering and product problems with engineering collaborators in Slack or Zoom

Supporting company-wide initiatives

Bringing key plans and execution ideas to the management team

Mentoring other engineers at all experience levels

Responding to issues and review requests from other teams at GitHub

Reviewing your teammates' Pull Requests and providing helpful feedback

Serve as an engineering representative for critical customer conversations to discover what they love and what their pain points are

Embedding in a squad periodically to enable others to tackle challenges and stretch assignments

  • As a part of Engineering technical leadership, advising on key initiatives, gaps, and technical blind spots


Qualifications

 

Required Qualifications:

Several years of experience designing, developing, shipping, and maintaining high quality software at scale.

Expert in Ruby, Go, .NET, JavaScript, TypeScript, or other modern programming language

Troubleshooting skills across network, application, caching, queuing, load-balancing, storage and distributed services layers.

Experience effectively contributing to technical strategy and roadmaps

  • Bachelor's degree or equivalent experience

Preferred Qualifications:

  • Experience with Git and GitHub

Ability to think critically about both system design and software engineering concepts and blend those perspectives pragmatically based on project needs

Understanding of production system monitoring and observability

Passionate about fostering good engineering practices and processes

Excellent analytical skills as well as both verbal and written communication skills. We’re a distributed team so strong (asynchronous) communication is critical.

Passionate about mentoring and helping your peers, both inside and outside of your team, to grow

Experience working asynchronously on a remote, distributed (does not have to be professional experience)

Education

Any Graduate