Software Engineer - Ubuntu Core

Canonical is a growing international software company that works with the open-source community to deliver Ubuntu, "the world's best free software platform".
Brussels, Belgium
Embedded
Senior Software Engineer
Remote
AI · Automotive

Description For Software Engineer - Ubuntu Core

Redefine the Linux experience in the embedded environments with the smallest, most secure, and updatable operating system in the IoT market. This is an opportunity for a senior software engineer passionate about open source software, Linux, security, and the developer experience. This challenging role demands a high degree of technical skill with low-level operating systems, kernel, and device firmware.

Our mission is to allow everyone to build robust solutions in various fields including but not limited to IoT, automotive, and aviation using the next generation secure embedded Linux operating system in a simple solution. We define a reliable and secure set of device recovery mechanisms that enable device manufacturers to simplify and standardise the field operations for fleets of heterogeneous appliances.

As a senior team member, you'll be designing and implementing software that runs on various CPU architectures, such as ARM, RISC-V, and X86. You will work on boot mechanisms, bootloaders, storage partition layout, device trees, kernel, services, and userspace applications to manage the system via RESTful APIs.

Build a rewarding, meaningful career working with the best and brightest people in technology at Canonical, a growing international software company.

What you'll do:

  • Develop system daemons with REST APIs in Golang
  • Integrate diverse bootloaders and maintain gadget snaps
  • Collaborate proactively with a distributed team
  • Write high quality code with unit tests to create new features
  • Debug issues and produce high quality fixes
  • Review code produced by other engineers
  • Discuss ideas and collaborate on finding good solutions
  • Work from home with global travel 2 to 4 times a year for internal and external events

Who you are:

  • You love technology and working with brilliant people
  • You are curious, flexible, articulate, and accountable
  • You value soft skills and are passionate, enterprising, thoughtful, and self-motivated
  • You have a Bachelor's or equivalent in Computer Science, STEM or similar degree
  • You have experience with Golang, C/C++, and Shell
  • You have a solid understanding of Linux and a modern GNU/Linux distribution, Debian or Ubuntu preferred
  • You have experience or interest in low-level system and security facilities
  • You have experience with API design and development - REST/gRPC or similar
  • You have personal or professional experience with Linux-capable devices such as Raspberry Pi

Canonical is proud to foster a workplace free from discrimination. Diversity of experience, perspectives, and background create a better work environment and better products.

Last updated 2 months ago

Responsibilities For Software Engineer - Ubuntu Core

  • Develop system daemons with REST APIs in Golang
  • Integrate diverse bootloaders and maintain gadget snaps
  • Collaborate proactively with a distributed team
  • Write high quality code with unit tests to create new features
  • Debug issues and produce high quality fixes
  • Review code produced by other engineers
  • Discuss ideas and collaborate on finding good solutions
  • Work from home with global travel 2 to 4 times a year for internal and external events

Requirements For Software Engineer - Ubuntu Core

Go
Linux
Python
  • Bachelor's or equivalent in Computer Science, STEM or similar degree
  • Experience with Golang, C/C++, and Shell
  • Solid understanding of Linux and a modern GNU/Linux distribution, Debian or Ubuntu preferred
  • Experience or interest in low-level system and security facilities
  • Experience with API design and development - REST/gRPC or similar
  • Personal or professional experience with Linux-capable devices such as Raspberry Pi

Interested in this job?

Jobs Related To Canonical Software Engineer - Ubuntu Core

Linux Stack Engineer

Senior Linux Stack Engineer role at Canonical, optimizing Ubuntu for latest silicon technologies, working remotely with global team on IoT and server platforms.

Linux Kernel Engineer

Senior Linux Kernel Engineer role at Canonical, working on Ubuntu hardware support and kernel development with global impact.

Linux Stack Engineer

Senior Linux Stack Engineer role at Canonical, optimizing Ubuntu for latest hardware and working across IoT and server technologies.

Linux Stack Engineer

Senior Linux Stack Engineer role at Canonical, optimizing Ubuntu for latest hardware and working across IoT and server technologies.

Linux Stack Engineer

Senior Linux Stack Engineer role at Canonical, optimizing Ubuntu for latest hardware and working across IoT and server technologies.