6 hours ago

Junior Linux Kernel Engineer - Ubuntu

Canonical

Hybrid
Full Time
$65,000
Hybrid

Job Overview

Job TitleJunior Linux Kernel Engineer - Ubuntu
Job TypeFull Time
CategoryCommerce
Experience5 Years
DegreeMaster
Offered Salary$65,000
LocationHybrid

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.

Uncover Hiring Manager

Job Description

About Canonical

Canonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is very widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation, and IoT. Our customers include the world's leading public cloud and silicon providers, and industry leaders in many sectors. The company is a pioneer of global distributed collaboration, with 1200+ colleagues in 75+ countries and very few office-based roles. Teams meet two to four times yearly in person, in interesting locations around the world, to align on strategy and execution.

The company is founder-led, profitable, and growing.

The Junior Linux Kernel Engineer - Ubuntu Role

Every year, Canonical selects new junior professionals into its Kernel Team to work on the Linux kernel for Ubuntu. If you've enjoyed operating systems in your coursework or current role, are confident in writing high-quality C and potentially Rust, and are ready to delve into how it all works, this is an excellent opportunity to advance your career. We are a global team dedicated to shipping the world's most widely used Linux kernel across the latest silicon and cloud platforms, where you can apply and grow your software engineering skills.

The Canonical Kernel Team builds and maintains all supported Ubuntu Linux kernels for diverse platforms and architectures, from small embedded devices to standard desktop/server systems and large-scale cloud environments. In your first year, you will tackle serious initiatives, including but not limited to:

  • Optimized solutions for key Silicon and Cloud partner platforms
  • Developer platforms such as Raspberry Pi and RISC-V
  • Enabling Ubuntu on a wide range of embedded systems
  • Security hardening and exploit mitigation
  • Third-party driver integration and distribution, such as graphics
  • Expanded driver support for bleeding-edge PC platforms

We seek recent university graduates or early career professionals enthusiastic about developing kernel-level software in areas like security updates, patching, and testing. Successful candidates will have a software engineering background, be motivated to work in a distributed team, and be willing and able to travel globally twice a year for company engineering events.

These are full-time positions available to prospective or recently graduated students.

Responsibilities

As a Junior Linux Kernel Engineer - Ubuntu, your role will entail:

  • Collaborating regularly and proactively with a globally distributed team
  • Learning from senior mentors to demystify the inner workings of the Linux kernel and its distribution
  • Working closely with external silicon, cloud, or hardware manufacturer delivery teams on bleeding-edge platforms
  • Diagnosing and resolving issues in the kernel reported by customers, the community, and discovered through rigorous testing
  • Taking personal responsibility for the delivery of various flavors of the Ubuntu Linux kernel
  • Improving tooling and automation for the delivery and testing of Ubuntu Linux kernels
  • Submitting, reviewing, and applying kernel patches, engaging with both internal and external upstream maintainers

What We Are Looking For

  • Well-organized and motivated self-starter able to thrive in a remote work environment
  • Professional manner with colleagues, business partners, and the open-source community
  • Ability to communicate effectively in English, both written and verbal
  • Programming experience in C and/or Rust
  • Familiarity with version control practices, ideally with git
  • Understanding of operating system kernel fundamentals
  • Ability to travel twice a year for company events of up to two weeks length

Nice-to-have Skills

  • Interest and experience in Rust
  • Python and Bash scripting ability
  • Prior experience with Ubuntu/Debian/Snap packaging
  • Demonstrated experience with kernel patching and debugging
  • Strong grasp of device drivers, BSP’s, and other low-level system engineering

What Canonical Offers Colleagues

Canonical considers geographical location, experience, and performance in shaping compensation worldwide. Compensation is revisited annually (and more often for graduates and associates) to ensure recognition of outstanding performance. In addition to base pay, a performance-driven annual bonus or commission is offered. All team members receive additional benefits reflecting Canonical's values and ideals, balancing local needs and global fairness.

  • 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
  • Team Member Assistance Program & Wellness Platform
  • Opportunity to travel to new locations to meet colleagues
  • Priority Pass and travel upgrades for long-haul company events

Key skills/competency

  • Linux Kernel Development
  • C Programming
  • Rust Programming
  • Operating Systems Fundamentals
  • Git Version Control
  • Ubuntu
  • Debugging
  • Patch Management
  • Embedded Systems
  • Cloud Platforms

Tags:

Linux Kernel
Ubuntu
C
Rust
Operating Systems
Embedded Systems
Cloud Computing
Security
Git
Device Drivers

Share Job:

How to Get Hired at Canonical

  • Research Canonical's culture: Study their mission, values, recent news, and employee testimonials on LinkedIn and Glassdoor.
  • Tailor your resume for kernel roles: Highlight C/Rust expertise, operating system coursework, and open-source contributions.
  • Showcase Linux kernel understanding: Prepare to discuss kernel fundamentals, debugging, and patch workflows during interviews.
  • Emphasize remote collaboration: Demonstrate strong communication and self-motivation for a globally distributed team environment.
  • Highlight problem-solving skills: Be ready to present examples of diagnosing and resolving complex technical issues effectively.

Frequently Asked Questions

Find answers to common questions about this job opportunity

Explore similar opportunities that match your background