Canonical logo
    C

    Ubuntu Linux Kernel Test Engineer

    Canonical
    Home Based - APAC; Office Based - Beijing, China; Office Based - Taipei, TaiwanHome Based - Worldwide
    Remote
    Mid Level
    Full Time
    14 days ago
    remotepythonlinuxkerneltestingci/cdautomation

    Requirements

    • Significant programming experience in Python
    • Experience with test frameworks such as LTP, kselftest, xfstests, stress-ng, fio, or similar
    • Experience designing and executing system-level tests: functional, stress, performance, or regression testing
    • Familiarity with CI/CD systems (Jenkins, GitHub CI, or similar)
    • Experience maintaining test suites over long periods, adapting to evolving software across multiple supported versions
    • 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
    • Well-organized, self-starting and able to deliver to fixed schedules
    • Professional written and spoken English with excellent communication skills
    • Ability to travel twice a year, for company events up to two weeks each

    What You'll Do

    • 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

    Nice to Have

    • Familiarity with kernel fuzzing tools and techniques (e.g. syzkaller, Trinity, AFL, or custom harnesses)
    • Experience with code coverage instrumentation (e.g. gcov, kcov, LLVM source-based coverage)
    • 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
    • Cloud infrastructure experience (AWS, GCP, Azure, or OpenStack)
    • Prior involvement with open source testing communities or projects

    Benefits

    • Fully remote working environment
    • Personal learning and development budget of 2,000USD per annum
    • Annual compensation review
    • Recognition rewards
    • Annual holiday leave
    • Parental Leave
    • Employee Assistance Programme
    • Opportunity to travel to new locations to meet colleagues at ‘sprints’
    • Priority Pass for travel and travel upgrades for long haul company events

    About Canonical

    Canonical, the publisher of Ubuntu, delivers trusted open source for everyone and provides security, support and services to enterprises.

    London, UK
    1000 - 5000
    Developer Tools