← All jobs

Linux Devices Software Engineer at Canonical

Confirmed open

Develop Ubuntu and Ubuntu Core for connected and embedded devices across hardware architectures in a remote engineering track.

Canonical logoCanonical

Search jobs by company: Canonical

Location
Remote
Advertised region
Home based - Worldwide; Office Based - Taipei, Taiwan
Work arrangement
remote
Technologies
Python, C++, Linux, Go
See how to apply

Save job — free account Saved jobs

Create a free application profile — Keep your skills and projects in a reusable profile. Private by default; you choose when to share. Apply for this job directly with the employer.

We’ll email you a sign-in code. Upload your CV after sign-in.

By continuing, you agree to processing needed to manage your account and profile. Privacy policy

Role overview

This general hiring track covers Canonical teams building low-level Linux technology for connected devices on x86, ARM and RISC-V. The posting spans Ubuntu Core, snapd, kernel enablement, hardware certification, robotics and industrial IoT. It states remote openings in every time zone as well as an office option in Taipei.

Responsibilities

  • Develop and maintain Linux software stacks and Ubuntu images for new IoT and server-class hardware.
  • Optimise kernels and libraries for silicon-specific capabilities, and help customers deploy applications and SDKs.
  • Debug device problems, write well-tested code and documentation, and collaborate with hardware partners.
  • Contribute technical leadership on engagements spanning cloud to edge; travel to company events for two to four weeks a year.

Qualifications

  • Experience with Linux, preferably Debian or Ubuntu, and interest in embedded systems such as kernels, graphics or Yocto.
  • Fluency in at least one of Go, C, C++ or Rust, with an ability to deliver well-designed low-level software.
  • A computer science or STEM degree, or credible alternative path, and professional written and spoken English.
  • Ability to coordinate across a distributed team and engage with open-source communities and hardware partners.

Technology in this role

  • Python: • Shell or Python scripting .
  • C++: Fluency in at least one of Go, C, C++ or Rust, with an ability to deliver well-designed low-level .
  • Linux: This general hiring track covers Canonical teams building low-level Linux technology for connected devices on x86, ARM and .
  • Go: Fluency in at least one of Go, C, C++ or Rust, with an ability to deliver well-designed low-level .
  • C: Fluency in at least one of Go, C, C++ or Rust, with an ability to deliver well-designed low-level .
  • Golang: • Fluency in at least one of Golang, C, C++, or .
  • Rust: Fluency in at least one of Go, C, C++ or Rust, with an ability to deliver well-designed low-level .
  • CAN: We're looking for individuals who can help build a thriving community, contribute to a broad range of technologies, and contribute to the deployment of Ubuntu and Ubuntu Core across the widest range of .
  • Yocto: Experience with Linux, preferably Debian or Ubuntu, and interest in embedded systems such as kernels, graphics or .

Role-specific candidate guide

Preparation notes based on the employer’s stated responsibilities and qualifications.

Understanding the scope. This Linux Devices Software Engineer position at Canonical is best assessed through the work described in the employer’s posting, rather than the title alone. The available role overview says: “This general hiring track covers Canonical teams building low-level Linux technology for connected devices on x86, ARM and RISC-V. The posting spans Ubuntu Core, snapd, kernel enablement, hardware certification,…” Read that statement together with the responsibilities below to understand the likely balance between delivery, coordination and technical decision-making. The role belongs to the embedded and systems software area, but that label is only a guide to the work; the employer’s own requirements remain decisive. Before applying, check the original listing for reporting lines, product or team assignment, employment terms and any details that may have changed since this copy was checked. Where this page says a fact is not specified, treat it as an open question rather than an implied promise.

What the responsibilities signal. The posting specifically names “Develop and maintain Linux software stacks and Ubuntu images for new IoT and server-class hardware.”; “Optimise kernels and libraries for silicon-specific capabilities, and help customers deploy applications and SDKs.”; “Debug device problems, write well-tested code and documentation, and collaborate with hardware partners.”. For each duty, identify a project where you performed comparable work and be ready to describe the context, your own contribution, constraints, decisions, and measurable result. Explain how you moved from the initial need to implementation, review, release or operational follow-through, where those stages apply. If the work involved other teams or users, distinguish your decisions from the group’s contribution. Avoid presenting a technology keyword as proof by itself: connect it to the problem you solved, the scale or complexity involved, and what changed after your work. The source may contain additional duties; review it directly before preparing your application.

How to read the requirements. The listed qualifications include “Experience with Linux, preferably Debian or Ubuntu, and interest in embedded systems such as kernels, graphics or Yocto.”; “Fluency in at least one of Go, C, C++ or Rust, with an ability to deliver well-designed low-level software.”; “A computer science or STEM degree, or credible.

Benefits

  • We consider geographical location, experience, and performance in shaping compensation worldwide. We revisit compensation annually (and more often for graduates and associates) to ensure we recognise outstanding performance. In addition to base pay, we offer a performance-driven annual bonus. We provide all team members with additional benefits, which reflect our values and ideals. We balance our programs to meet local needs and ensure fairness globally.
  • Distributed work environment with twice-yearly team sprints in person
  • Personal learning and development budget of USD 2,000 per year
  • Opportunity to travel to new locations to meet colleagues
  • Priority Pass, and travel upgrades for long haul company events

About Canonical

Canonical publishes Ubuntu and develops open-source software for cloud, connected devices and enterprise infrastructure. Its teams work across countries.

Employer website

How to apply

Review the original posting and apply through the employer’s careers page.

View source and apply

Source checked: 2026-11-08

Browse job categories

Related jobs