Software Engineering Director
Canonical
Job Overview
Who's the hiring manager?
Sign up to PitchMeAI to discover the hiring manager's details for this job. We will also write them an intro email for you.

Job Description
Software Engineering Director at Canonical
This is the general track for Software Engineering Director at Canonical, an opportunity to run projects spanning multiple teams and time zones, focusing on hiring and managing engineering managers and staff engineers.
Canonical’s largest software products are built collaboratively by multiple teams under a single director of engineering. After the initial interview rounds, specific software products aligning with your interests will be discussed.
Our Vision
Canonical believes open source is revolutionizing the tech sector and enterprise compute. Our mission is to make open source easier, more reliable, and more secure for deployment and development, striving to be the premier provider of software to most companies. We carefully select engineers globally for their brilliance and motivation to advance open source.
Your Role and Impact
As an Engineering Director, you will set the pace and direction, empowering teams to achieve beyond their expectations and take pride in their work. Despite being a senior management position, managing managers, we expect Software Engineering Directors to be outstanding developers capable of leading by example across all team activities. You must understand what constitutes excellent code in your product’s language and genre, whether it's a web service, system daemon, desktop application, or distributed system. You will drive testing and benchmarking to enhance clarity around quality and performance, and confidently uphold high expectations for work ethic, consistency, focus, and continuous learning.
Engineering Domains
Canonical has director-level roles across diverse engineering domains, including but not limited to:
- Python and Golang
- C / C++ / Rust
- Data infrastructure
- HTML / CSS / JavaScript / Typescript / React
- Flutter
- Distro packaging and systems
- SAAS and web microservices
- Kernel
- Servers
- Graphics, Browser and Desktop
- Silicon enablement and embedded devices
- Product Security
If your domain of expertise is not listed but relevant to Canonical, we encourage you to apply; you will be routed to the most suitable team.
Key Responsibilities
- Lead multiple engineering teams, from graduate to senior levels.
- Develop engineering managers and uphold Canonical’s culture.
- Hire staff level engineers for specialized roles like performance and quality.
- Coach, mentor, and provide career development feedback.
- Identify and measure team health and productivity indicators.
- Ensure comprehensive delivery, including community participation and documentation.
- Implement and defend disciplined engineering processes.
- Set and monitor progress against benchmark goals for speed and efficiency.
- Represent your product to stakeholders, partners, and customers.
- Develop and advocate for excellent engineering and organizational practices.
- Plan and manage progress on agreed goals and projects.
- Actively participate in the leadership team, collaborating with other leaders.
- Collaborate with leads for related or dependent products.
What We Look For
- Exceptional academic track record from high school and university.
- Undergraduate degree in Computer Science or STEM, or a compelling alternative path.
- Extensive management experience with confidence to set high expectations.
- Outstanding Linux-based software engineering track record.
- Strong drive and a history of exceeding expectations.
- Excellent verbal and written English communication skills.
- Public speaking and presentation skills.
- A passion for developing and growing people, with a proven track record.
- Experience leading, coaching, and mentoring software developers.
- Organized and capable of ensuring timely, high-quality team deliverables.
- Well-organized, self-starting, and able to deliver to schedule.
- Professional demeanor interacting with colleagues, partners, and the community.
- Advanced expertise in your specific domain.
- Knowledgeable and passionate about software development.
- Solid experience in an agile development environment.
- Demonstrated drive for continual learning.
- Builds trust, relationships, and confidence.
- Results-oriented, with personal drive to meet commitments.
- Ability to travel twice a year for company events, up to two weeks each.
Valued Additional Skills
- Experience in a developer advocacy or community role.
- Open source community engagement and leadership.
- Ops and system administration experience.
- Performance engineering and security experience.
What Canonical Offers
Compensation is determined by geographical location, experience, and performance, reviewed annually to recognize outstanding contributions. In addition to base pay, we offer a performance-driven annual bonus and benefits that reflect our values and global fairness.
- Distributed work environment with twice-yearly in-person team sprints.
- Personal learning and development budget of USD 2,000 per year.
- Annual compensation review.
- Recognition rewards.
- Annual holiday leave.
- Maternity and paternity leave.
- Employee Assistance Programme.
- Opportunity to travel to new locations to meet colleagues.
- Priority Pass and travel upgrades for long-haul company events.
Key skills/competency
- Engineering Leadership
- Software Development
- Team Management
- Open Source
- Linux Systems
- Agile Methodologies
- Technical Strategy
- Talent Development
- Performance Optimization
- Stakeholder Management
How to Get Hired at Canonical
- Research Canonical's mission: Understand their commitment to open source, Ubuntu, AI, IoT, and cloud, as well as their remote-first culture.
- Highlight Linux and open source expertise: Tailor your resume to showcase extensive experience with Linux-based software engineering and open source contributions.
- Emphasize leadership and development: Provide specific examples of leading multiple engineering teams, developing managers, and fostering talent.
- Demonstrate technical depth: Be prepared to discuss your understanding of great code, testing, benchmarking, and specific engineering domains.
- Prepare for behavioral questions: Canonical values drive, communication, and a professional manner; practice articulating your leadership philosophy and impact.
Frequently Asked Questions
Find answers to common questions about this job opportunity
Explore similar opportunities that match your background