Vacancies at Canonical

Vacancies at Canonical,

Vacancies at Canonical

View Jobs in ICT / Telecommunication / View Jobs at Canonical

We deliver open source to the world faster, more securely and more cost effectively than any other company. If you’re interested in a career at Canonical, we are a remote-first company so please apply to any suitable role as skills are valued more than location, despite some having a preferred geographic preference.

Golang System Software Engineer – Containers and Kernel Security Capabilities

This role requires an obsession with quality and performance, for work at the heart of the operating system. It also requires an interest in the software publishing and consumption experience. Applicants should be passionate about open source software development. We value collaboration, peer reviews, good unit/integration testing and maintainable code. General knowledge and experience with Golang and Linux as a developer platform is required.

What you’ll do

  • Collaborate proactively with a distributed team
  • Write high quality code to create new features
  • Debug issues and produce high quality code to fix them
  • Review code produced by other engineers
  • Discuss ideas and collaborate on finding good solutions
  • Obsess over how to achieve robustness despite unexpected events like power outages
  • Work from home with global travel for up to two weeks, twice a year

Who you are

  • You love technology and working with brilliant people
  • You are curious, flexible, articulate, and accountable
  • You value soft skills, are thoughtful and self-motivated
  • You have a Bachelor’s or equivalent in Computer Science, STEM or similar degree
  • You have professional software development experience using Go, Python, C, or C++
  • You know Linux system-level fundamentals, e.g. cgroups, namespaces, apparmor
  • Commitment to software testing, code reviews and maintainable code

go to method of application »

System Software Engineer – Ubuntu Core – IoT

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

Method of Application