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 responsible for developing and maintaining secure, updatable embedded Linux systems for IoT devices, focusing on low-level system components, boot mechanisms, and device security across various CPU architectures in a remote, collaborative environment.

Key Responsibilities

  • Design and implement software for various CPU architectures, including ARM, RISC-V, and X86
  • Develop and maintain boot mechanisms, bootloaders, storage partition layouts, device trees, kernel, and services
  • Write high-quality, tested code to create new features and fix system-level issues
  • Debug Linux system-level 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 with 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 design and implement software that runs on various CPU architectures such as ARM, RISC-V, and X86, including work on 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 potential for bonuses or commissions
Work from home with global travel 2 to 4 times a year for internal and external events
Distributed work environment with twice-yearly in-person team sprints
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

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