Canonical logo

Ubuntu Core Software Engineer

Canonical
Remote
Full Time
Posted September 18, 2025
Apply Now

Application opens on company website

Job Description

A Software Engineer role focused on developing and maintaining secure, updatable embedded Linux systems for IoT devices, involving low-level system programming, kernel work, and collaboration within a distributed team at Canonical.

Key Responsibilities

  • Design and implement software for Ubuntu Core on various CPU architectures
  • Develop and maintain boot mechanisms, bootloaders, storage partition layouts, device trees, kernels, and services
  • Write high-quality, tested code to create new features and fix system-level issues
  • Debug Linux system issues and produce solutions
  • Collaborate with a distributed team to review code, discuss ideas, and find solutions
  • Integrate diverse bootloaders and maintain gadget snaps

Requirements

  • A Bachelor’s or equivalent degree in Computer Science, STEM, or a similar field
  • Experience with C or Golang programming languages
  • Experience with Shell scripting
  • A solid understanding of Linux and a modern GNU Linux distribution, with Debian or Ubuntu preferred
  • Personal or professional experience with Linux-capable devices such as Raspberry Pi
  • Interest in learning or experience in low-level systems and security facilities such as Bootloaders in ARM and X86, including piboot, uboot, grub-uefi
  • Knowledge of system components such as Systemd and units, udev, initrd, graphics OS level firmware daemons, and CLI applications
  • Experience or knowledge of Linux security implementations such as TPM, FDE, LUKS, HSM, etc.
  • Ability to write high quality code with unit tests to create new features
  • Ability to debug Linux system level issues and produce high quality code to fix them
  • Experience collaborating proactively with a distributed team, reviewing code produced by other engineers, discussing ideas, and collaborating on solutions
  • Experience integrating diverse bootloaders and maintaining gadget snaps
  • Willingness to work from home with the possibility of global travel 2 to 4 times a year for internal and external events
  • Ability to work on designing and implementing software that runs on various CPU architectures, such as ARM, RISC-V, and X86, including boot mechanisms, bootloaders, storage partition layout, device trees, kernel, and services

Benefits & Perks

Compensation is based on geographical location, experience, and performance, with annual reviews and recognition rewards
Performance-driven annual bonus or commission
Distributed work environment with remote work and in-person team sprints twice a year
Personal learning and development budget of USD 2,000 per year
Annual compensation review
Annual holiday leave
Maternity and paternity leave
Team Member Assistance Program
Wellness Platform
Opportunity to travel to new locations to meet colleagues
Travel upgrades and Priority Pass for long-haul company events

Ready to Apply?

Join Canonical and make an impact in renewable energy

Stay Updated on Sustainability Jobs

Get the latest renewable energy jobs and career tips delivered to your inbox.

More jobs at Canonical

Canonical logo

Usability Engineer - User Science

Canonical
Remote
Full Time
6d
Canonical logo

Senior Design Researcher - User Science

Canonical
Remote
Full Time
6d
Canonical logo

Ubuntu Engineering Manager

Canonical
Remote
Full Time
Jan 8

More jobs in Remote

Planet logo

Account Executive APJ

Planet
NEW
Remote
Full Time
13h
Planet logo

Account Executive NATO

Planet
NEW
Remote
Full Time
13h
Planet logo

Account Executive NATO

Planet
NEW
Remote
Full Time
13h