12 hours ago

Junior Linux Kernel Engineer

Canonical

Hybrid
Full Time
$80,000
Hybrid

Job Overview

Job TitleJunior Linux Kernel Engineer
Job TypeFull Time
Offered Salary$80,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 and Ubuntu

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.

Canonical is founder-led, profitable, and growing.

The Role: Junior Linux Kernel Engineer

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 your ability to write high quality C and possibly Rust, and are ready to take the plunge to understand the inner workings of an OS, this would be a great place to pursue your next career stage. We are a global team working to ship the world's most widely used Linux kernel, across the very latest silicon and cloud, where you can apply and grow your software engineering skills.

The Canonical Kernel Team builds and maintains all supported Ubuntu Linux kernels for a variety of platforms and architectures, from small embedded devices to standard desktop/server systems to 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 select candidates who are recent university graduates or early career professionals enthusiastic about developing kernel-level software in multiple areas, including security updates, patching, and testing. The successful candidate will have a background in software engineering, be motivated to work in a distributed team, and 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 of a Junior Linux Kernel Engineer

As a Junior Linux Kernel Engineer, your role entails:

  • Collaborate regularly and proactively with a globally distributed team
  • Learn from senior mentors to demystify the inner workings of the Linux kernel and how it is distributed
  • Work closely with external silicon, cloud, or hardware manufacturer delivery teams on bleeding-edge platforms
  • Diagnose and resolve issues in the kernel reported by customers, the community, and discovered by your own rigorous testing
  • Take personal responsibility for the delivery of various flavors of the Ubuntu Linux kernel
  • Improve tooling and automation for delivery and test of Ubuntu Linux kernels
  • Submit, review, and apply kernel patches, working 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 We Offer Colleagues

Canonical values its team members and offers a comprehensive package:

  • 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

About Canonical - Our Culture

Canonical is a pioneering tech firm at the forefront of the global move to open source. 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 of software. We recruit on a global basis and set a very high standard for people joining the company. We expect excellence; in order to succeed, we need to be the best at what we do. Most colleagues at Canonical have worked from home since our inception in 2004. Working here is a step into the future and will challenge you to think differently, work smarter, learn new skills, and raise your game.

Canonical is an equal opportunity employer, fostering a workplace free from discrimination. Diversity of experience, perspectives, and background create a better work environment and better products. Whatever your identity, your application will receive fair consideration.

Key skills/competency

  • Linux Kernel Development
  • C Programming
  • Operating Systems Fundamentals
  • Git Version Control
  • Ubuntu/Debian
  • Device Drivers
  • System Engineering
  • Kernel Patching
  • Remote Collaboration
  • Open Source

Tags:

Linux Kernel Engineer
Linux kernel development
operating systems
C programming
driver integration
security hardening
exploit mitigation
kernel patching
debugging
automation
remote collaboration
Linux
Ubuntu
C
Rust
Git
Raspberry Pi
RISC-V
Debian
Bash
Python

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 engineering: Highlight C/Rust programming, OS fundamentals, Linux, and open-source contributions.
  • Prepare for technical interviews: Expect deep dives into kernel concepts, C programming, data structures, and algorithms.
  • Showcase open-source involvement: Demonstrate contributions to Linux or other open-source projects, especially kernel-related.
  • Emphasize remote work readiness: Highlight self-motivation, communication skills, and experience in distributed team environments.

Frequently Asked Questions

Find answers to common questions about this job opportunity

Explore similar opportunities that match your background