
Ubuntu Linux Kernel Test Engineer
Canonical Ltd.Ubuntu is the most widely used Linux distribution in the world, delivering kernels across a vast matrix of versions, architectures, and configurations – with up to 15 years of security and maintenance commitments for Long Term Support (LTS) releases. Ensuring the quality and reliability of these kernels demands a dedicated, systematic approach to testing at scale.
The Canonical Kernel Team is looking for a Test Engineer to take ownership of our kernel testing strategy and infrastructure. You will design and maintain test plans covering functional correctness, stability, performance, and security. You will build and evolve automated test frameworks – including stress testing, fuzzing, code coverage analysis, and regression detection – that not only must remain effective across many concurrently supported kernel versions spanning years of maintenance, but must be able to scale with the high demand for Ubuntu kernels (currently more than 160 under active support).
The successful candidate will bring strong Python skills, familiarity with Linux kernel internals, and experience building test infrastructure that scales. You will work closely with kernel engineers to catch regressions early, validate fixes, and ensure every kernel we ship meets the highest standards of reliability.
Location: This role will be based remotely in the APAC region, except for Taipei, Taiwan, and Beijing, China, which are office-based locations.
What your day will look like
- Design, develop, and maintain comprehensive test plans covering functional correctness, stability, performance, and security for Ubuntu Linux kernels
- Build and improve automated test infrastructure for continuous kernel quality validation across multiple kernel versions and architectures
- Maintain long-lived test suites that evolve alongside Ubuntu’s many concurrently supported kernel versions spanning years of maintenance
- Develop and maintain CI/CD pipelines for continuous kernel quality validation
- Conduct performance benchmarking and regression detection across kernel releases
- Measure and improve kernel code coverage, identifying gaps in test coverage and creating tests to address them
- Execute and analyze stress tests covering CPU scheduling, memory management, I/O subsystems, networking, and filesystem workloads
- Develop and maintain fuzzing harnesses to discover kernel vulnerabilities and reliability issues using tools such as syzkaller, Trinity, or custom fuzzers
- Collaborate regularly and proactively with a globally distributed team
- Contribute to upstream test suites and testing frameworks
- Document test methodologies, results, and coverage gaps
What we are looking for in you
- Significant programming experience in Python
- Experience with test frameworks such as LTP, kselftest, xfstests, stress-ng, fio, or similar
- Exp
Opens the company's application page
Listed via
Jobicy
jobicy.com
Similar roles
Design & Tech
Related reads from TCHNX

The Quiet Revolution in Local-First Software
As major platforms face outages and data breaches, a new generation of developers is building applications that prioritise local data storage and peer-to-peer sync, challenging the cloud-first orthodoxy that's dominated tech for two decades.

The Quiet Revolution in Edge AI: Why Your Next Computer Might Not Need the Cloud
As neural processing units become standard in consumer devices, we're witnessing a fundamental shift in how AI applications work. Local processing is no longer a fallback; it's becoming the preferred architecture.

The Rise of AI-Assisted Code Generation 2: Are Developers Becoming Prompt Engineers?
As AI coding assistants reshape software development, the industry grapples with a fundamental question: is writing code giving way to writing prompts? We examine how London's tech scene is adapting to this seismic shift.

