GitHub is the world’s leading platform for agentic software development, and they are seeking a Principal Engineering Manager to join the Data Engineering team. This role focuses on improving GitHub’s engineering processes, systems, and architecture while providing guidance to engineering leadership and the organization.
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
- Collaborating with other Engineering Managers 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
Requirements:
- 11+ 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 10+ 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 or related field AND 9+ 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 7+ 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 PhD 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 equivalent experience
- 5+ years people management experience
- Experience with managing and 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
- Experience in one or more scripting languages (e.g., Bash, Python, or a similar language)
- 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) as well as operating Cosmos DB clusters at scale
- Experience working with Azure resourcing such as Azure Storage (blob and table particularly), Azure Redis Cache, Azure Data Explorer Clusters