Canonical Logo

Canonical

Software Engineer - Ubuntu Core

Posted 2 Days Ago
Be an Early Applicant
Remote
28 Locations
Senior level
Remote
28 Locations
Senior level
As a Senior Software Engineer at Canonical, you will redefine the Linux experience in embedded environments, focusing on developing system daemons with REST APIs in Golang, maintaining bootloaders, debugging, and collaborating with a distributed team. This role requires expertise in low-level operating systems and a strong understanding of Linux security implementations.
The summary above was generated by AI

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 such as:
    • Bootloaders in ARM and X86, such as piboot, uboot, grub-uefi
    • Systemd and units, udev, initrd, graphics
    • OS level firmware daemons and CLI applications
    • Linux security implementations - TPM, FDE, LUKS, HSM, etc.
  • 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

What is Canonical?

Canonical is a growing international software company that works with the open-source community to deliver Ubuntu, “the world’s best free software platform”. Our services help businesses worldwide to reduce costs, improve efficiency and enhance security with Ubuntu.

We are proud to foster a workplace free from discrimination. Diversity of experience, perspectives, and background create a better work environment and better products. Whatever your identity, we will give your application fair consideration.

#LI-remote

#stack

Top Skills

C
C++
Go

Similar Jobs

2 Days Ago
27 Locations
Remote
1,200 Employees
Mid level
1,200 Employees
Mid level
Big Data • Cloud • Software • Database
As a Software Engineer II in the Observability team, you will build and maintain features for our data pipeline service, ensuring reliable operation while focusing on software architecture improvements. Your responsibilities include writing Java code, creating data connectors, enhancing product features, and participating in team duties.
Be an Early Applicant
2 Days Ago
27 Locations
Remote
1,200 Employees
Senior level
1,200 Employees
Senior level
Big Data • Cloud • Software • Database
As a Senior Software Engineer at Fivetran, you will build and enhance features of our data pipeline service, improve software architecture, and ensure reliable operation. Responsibilities include writing connectors and contributing to bug fixes while collaborating with a team to solve technical challenges.
Be an Early Applicant
2 Days Ago
27 Locations
Remote
1,200 Employees
Senior level
1,200 Employees
Senior level
Big Data • Cloud • Software • Database
The Senior Staff Site Reliability Engineer will ensure the reliability and performance of Fivetran’s production infrastructure. Responsibilities include monitoring availability, automating deployment, collaborating with engineering teams, resolving incidents, and enhancing infrastructure security and stability.

What you need to know about the Belfast Tech Scene

If asked to name the birthplace of the RMS Titanic, you might not say Belfast. Similarly, if asked to name Europe's leading destination for foreign direct investment in new software development, Belfast might not come to mind. Yet, both are true. The city has emerged as a tech powerhouse, recently ranked among the best in the U.K. for tech careers — especially for software developers. It also leads the U.K. with the highest percentage of software development jobs advertised.

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account