Junior Kernel Engineer

Company that publishes Ubuntu, pioneering open source technology for AI, IoT and cloud computing.
Embedded
Entry-Level Software Engineer
Remote
1,000 - 5,000 Employees
1+ year of experience
Enterprise SaaS · AI · IoT

Description For Junior Kernel Engineer

Canonical, the company behind Ubuntu, is seeking Junior Kernel Engineers to join their global team working on the world's most widely used Linux kernel. This role offers a unique opportunity for early-career professionals to dive deep into operating system development, working with cutting-edge technology across cloud, silicon, and embedded systems.

The position is perfect for recent graduates or professionals with 1-3 years of experience who have a strong foundation in C programming and potentially Rust. As part of the Canonical Kernel Team, you'll be responsible for building and maintaining Ubuntu Linux kernels across various platforms, from embedded devices to large-scale cloud environments.

Your work will have direct impact on millions of users worldwide, as you'll be involved in optimizing solutions for key partners, enabling Ubuntu on embedded systems, handling security hardening, and managing driver integration. The role offers significant learning opportunities through mentorship from senior engineers who will help you understand the intricacies of kernel development.

Working at Canonical means joining a remote-first company that values excellence and innovation. The company offers competitive compensation with annual reviews, a generous learning budget, and comprehensive benefits. You'll be part of a globally distributed team, with opportunities to travel twice yearly for company engineering events.

The ideal candidate should be self-motivated, possess strong communication skills, and have a solid understanding of operating system fundamentals. This role provides an excellent opportunity to grow your career in system-level software development while contributing to one of the most important open source projects in the world.

Last updated 14 days ago

Responsibilities For Junior Kernel Engineer

  • Collaborate with globally distributed team
  • Work with external silicon, cloud, and hardware manufacturer teams
  • Diagnose and resolve kernel issues
  • Take responsibility for Ubuntu Linux kernel delivery
  • Improve tooling and automation for kernel delivery and testing
  • Submit, review, and apply kernel patches
  • Work with internal and external upstream maintainers

Requirements For Junior Kernel Engineer

Linux
Rust
Python
  • Well-organized and self-motivated for remote work
  • Professional communication skills in English
  • Programming experience in C and/or Rust
  • Familiarity with git version control
  • Understanding of operating system kernel fundamentals
  • Ability to travel twice a year for company events
  • 1-3 years industry experience or recent graduate
  • Willingness to work in a distributed team

Benefits For Junior Kernel Engineer

Education Budget
Parental Leave
Mental Health Assistance
  • Home-based work environment
  • Personal learning and development budget of $2,000 per year
  • Annual compensation review
  • Recognition rewards
  • Annual holiday leave
  • Maternity and paternity leave
  • Employee Assistance Programme
  • Travel opportunities to meet colleagues
  • Priority Pass and travel upgrades for long haul company events

Interested in this job?

Jobs Related To Canonical Junior Kernel Engineer

Junior Kernel Engineer

Junior Kernel Engineer position at Canonical working on Ubuntu Linux kernel development and maintenance.

Junior Kernel Engineer

Junior Kernel Engineer position at Canonical working on Ubuntu Linux kernel development and maintenance.

Junior Kernel Engineer

Junior Kernel Engineer position at Canonical working on Ubuntu Linux kernel development and maintenance.

Junior Kernel Engineer

Junior Kernel Engineer position at Canonical working on Ubuntu Linux kernel development and maintenance.

Junior Kernel Engineer

Junior Kernel Engineer position at Canonical working on Ubuntu Linux kernel development and maintenance.