Performance Engineer - Open Source
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
About Canonical and Ubuntu
Canonical is a leading provider of open source software and operating systems, widely recognized for Ubuntu. This platform is pivotal in breakthrough enterprise initiatives across public cloud, data science, AI, engineering innovation, and IoT. Serving global leaders in public cloud, silicon, and various industries, Canonical is a pioneer in global distributed collaboration, with over 1000 colleagues in 70+ countries and minimal office-based roles. Teams meet globally two to four times annually to align on strategy. Canonical is founder-led, profitable, and growing.
The Performance Engineer - Open Source Role
Canonical is establishing a new career path for Performance Engineers focused on bringing exceptional clarity to software performance, correctness, and efficiency. These roles are being integrated into every engineering team, from kernel to server and desktop applications, and web. The goal is to drive performance engineering skills, tools, culture, and insights across Canonical's entire product range.
A central performance engineering team provides shared tools, dashboarding, measurement frameworks, and analytical capabilities. This focus, termed 'percorr', emphasizes that deep insights into performance also enhance correctness. Understanding the application, runtime, compiler, and system down to the CPU allows engineers to creatively identify key measurements and verify correctness, often improving complex test harnesses and uncovering 'dark' aspects of work.
Additionally, teams collaborate with major silicon vendors and cloud providers to optimize the entire stack for specific architectures, CPU families, or hypervisors. The objective is to ensure Ubuntu users experience best-in-class performance and efficiency from kernel to codec, regardless of their chosen platform.
Performance and correctness engineers have the opportunity to move between products every two years, fostering skill development and bringing fresh perspectives to different teams. Leads in this area are expected to be exceptional individuals and confident leaders, driving change, sharing insights, and running initiatives to evolve the codebase and the teams behind it.
This career path is ideal for perfectionists and precision artists. Whether your expertise is in C, C++, Rust, Golang, Python, Java, or Flutter-Dart, or you have a passion for kernel, hardware, or CPU instruction sets, this role allows you to contribute to perceived user experience through performance or optimize data center efficiency to reduce carbon footprint. It's an opportunity to apply rigour, insight, and drive at Canonical.
Key Responsibilities
- Drive software performance and correctness within a specific project.
- Collaborate with colleagues and the open-source community globally.
- Contribute to shared tools and infrastructure for performance measurement, analysis, and reporting.
- Educate, train, and develop performance culture and design skills within your team.
- Strengthen test capabilities, harnesses, and pipelines.
- Analyze systems and code to identify performance and scalability improvements.
- Resolve problems directly or through influence, leadership, and skill development.
- Review code and technical designs for performance implications.
What Canonical is Looking For
- Exceptional academic track record from high school and university.
- Undergraduate degree in Computer Science, Mathematics, or Physics.
- Demonstrable personal initiatives in measuring and improving code performance, efficiency, and correctness.
- Confidence to respectfully provide feedback and share ideas.
- Proven track record of exceeding expectations for outstanding results.
- Leadership and commitment to skills development and mentorship.
- Passion for technology evidenced by personal projects.
- Strong work ethic and confidence in a motivated environment.
- Professional written and spoken English with excellent presentation skills.
- Experience with Linux (Debian or Ubuntu preferred).
- Excellent interpersonal skills, curiosity, flexibility, and accountability.
- Appreciation for diversity and effective communication in a multi-cultural organization.
- Thoughtfulness, self-motivation, and results-orientation.
- Ability to travel internationally twice a year for company events (up to two weeks).
Nice-to-Have Skills
- Low-level CPU insights and assembly language (cache, registers, vectorization, memory).
- Kernel performance insights (scheduling, context switching, hardware acceleration).
- Distributed systems performance insights (tracing, debugging).
- Compiler level performance insights (profile guided optimization, inlining, assembler).
- Runtime performance insights (Golang, Python, JVM, NodeJS).
- Database performance evaluation (plans, indexing, data modelling, tracing, monitoring).
- Web browser performance insights (JS, web frameworks, tracing, CSS).
- Performance measurement tooling (profiling, eBPF, D-Trace, flamegraphs).
- Benchmarks and performance measurement tools (Phoronix Test Suite).
- Test harnesses and capabilities in C, C++, Rust, Python, Golang, NodeJS, JavaScript.
What Canonical Offers
Canonical offers a compensation package that considers geographical location, experience, and performance, reviewed annually. This includes a performance-driven annual bonus or commission, along with additional benefits reflecting company values.
- Distributed work environment with twice-yearly team sprints in person.
- 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 for international travel to meet colleagues.
- Priority Pass and travel upgrades for long-haul company events.
Key skills/competency
- Software Performance Optimization
- Open Source Contribution
- Systems Programming
- Low-Level Optimization
- Test Automation
- Distributed Systems
- Linux Kernel
- Data Analysis
- Problem Solving
- Technical Leadership
How to Get Hired at Canonical
- Research Canonical's culture: Study their open-source mission, distributed work model, and Ubuntu's impact.
- Tailor your resume for performance: Highlight projects demonstrating code optimization, efficiency improvements, and correctness validation.
- Showcase open-source contributions: Emphasize any work on Linux, specific programming languages, or performance tools.
- Prepare for technical depth: Expect questions on low-level systems, compiler behavior, kernel performance, and measurement tools.
- Demonstrate leadership and collaboration: Be ready to discuss how you've mentored, influenced, and worked in diverse global teams.
Frequently Asked Questions
Find answers to common questions about this job opportunity
Explore similar opportunities that match your background