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
Document test methodologies, results, and coverage gaps What we are looking for in you
Requirements
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
Significant programming experience in Python •
Experience with test frameworks such as LTP, kselftest, xfstests, stress-ng, fio, or similar •
Familiarity with CI/CD systems (Jenkins, GitHub CI, or similar) •
Familiarity with Linux (Ubuntu or Debian preferred but not required), Linux kernel internals and subsystems •
Experience with Linux systems administration and automation
Solid background with git
Familiarity with kernel fuzzing tools and techniques (e.g. syzkaller, Trinity, AFL, or custom harnesses) •
Knowledge of kernel tracing and observability tools (e.g. ftrace, perf, bpftrace, eBPF)
Familiarity with static analysis tools (e.g. sparse, smatch, Coccinelle) as part of a testing workflow •
Experience with fault injection frameworks (e.g. failslab, fail_make_request) for reliability testing Prior
experience with test infrastructure at scale (provisioning, orchestration, result aggregation) •
Experience with Ubuntu/Debian packaging or Snap
Knowledge of virtualization technologies (KVM, QEMU) and container runtimes
experience (AWS, GCP, Azure, or OpenStack)
As the company that publishes Ubuntu, one of the most important open source projects and the platform for AI, IoT and the cloud, we are changing the world on a daily basis.
Benefits
Your base pay will depend on various factors including your geographical location, level of experience, knowledge and skills. In addition to the
benefits and rewards including annual bonuses and sales incentives based on revenue or utilisation. Our compensation philosophy is to ensure equity right across our global workforce.
In addition to a competitive base pay, we provide all team members with additional benefits, which reflect our values and ideals. Please note that additional
Personal learning and development budget of 2,000USD per annum
Annual compensation review Recognition rewards
Annual holiday leave Parental Leave
Additional details
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.
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.
Contribute to upstream test suites and testing frameworks
Experience designing and executing system-level tests: functional, stress, performance, or regression testing
Experience maintaining test suites over long periods, adapting to evolving software across multiple supported versions
Well-organized, self-starting and able to deliver to fixed schedules