Skip to content
mimi

General Engineering Role - Low-Level System Technology

Canonical

Remote · US Full-time 3w ago

About the role

Position Overview

This role is one of our general tracks. Apply here for all engineering teams at Canonical who work on low-level system technology on autonomous devices across all seniority levels. We hire careful and conscientious engineers who appreciate the challenge of memory, performance, battery and connectivity constrained code that has to work every time in an unreliable and unforgiving world, on x86, ARM or RISC-V silicon.

Canonical Ubuntu is the leading Linux for software engineers, desktops, cloud and IoT. We bring open source to the world as a high-performance, safe and secure platform for enterprise computing, software engineering, and connected devices. These smart, connected devices have the potential to transform every industry. Classic Ubuntu – desktop or server – is widely used in embedded systems because of its developer focus and enterprise grade security maintenance. We partner with the world's most prominent silicon companies to optimise Ubuntu on their latest and greatest chips, as well as with major OEMs and ODMs (PC, servers and connected device manufacturers) to ensure that Ubuntu works perfectly on their hardware.

While classic, 'deb' based Ubuntu is ideal for developers, it has too much variability for appliance or connected device environments, where you want to know exactly what the state of millions or billions of devices might be. To address this, Canonical builds Ubuntu Core, a fully containerised version of Ubuntu that is mathematically precise and rigorously secure. We are also working on additional solutions for even smaller devices.

We have several teams that focus on open source for embedded environments. Our roles span Ubuntu Core and snapd software development, silicon software and optimisation engineering, kernel driver and hardware enablement, Linux QA, hardware certification, robotics, industrial IoT, and networking. At Canonical you will have the opportunity to engage with the broader open source community, contribute to a broad range of technologies, and help deploy Ubuntu and Ubuntu Core across an extensive range of devices.

Location: we have remote roles open in every time zone.

Key Responsibilities

  • Participate in a first round of interviews to identify potential team fits, followed by team-specific second round interviews.
  • Work with the latest Linux kernel and open source technologies to deliver Ubuntu for IoT and server-class hardware platforms.
  • Integrate and maintain device-oriented software stacks while writing high-quality, well-designed code.
  • Collaborate proactively with globally distributed teams and display technical leadership both internally and in external communities.
  • Build device OS images using Ubuntu Core, Desktop, and Server, and optimise the Ubuntu kernel and libraries for silicon-specific capabilities.
  • Debug issues, contribute to technical documentation, and participate as a technical lead on complex customer engagements spanning cloud to edge architectures.
  • Work primarily from home with occasional global travel (2 to 4 weeks per year) for company events.

Required Qualifications

  • Exceptional academic track record from high school and university.
  • Education: Undergraduate degree in Computer Science or STEM, or a compelling narrative about your alternative path.
  • Proven drive with a track record of going above-and-beyond expectations.
  • Experience with Linux (Debian or Ubuntu preferred) and a passion for Linux or embedded systems software (e.g. kernel, graphics, Yocto).
  • Fluency in at least one programming language: Golang, C, C++, or Rust.
  • Excellent professional written and spoken English, interpersonal skills, and presentation abilities.
  • Ability to travel twice a year for company events (up to two weeks per event).

Preferred Qualifications

  • Experience with Debian/Ubuntu or other distro packaging.
  • Understanding of build systems and toolchains, including cross-compilation.
  • Experience with firmware, U-Boot, UEFI, ACPI, DSDT, or boot loaders.
  • Experience with power management on PCI ASPM, SATA ALPM, and low power profiles.
  • Knowledge of computer architectures including x86, ARM, and RISC-V.
  • Experience in board design, bring-up, and validation.
  • Familiarity with electrical engineering design tools (e.g. schematic capture, layout).
  • Understanding of the Ubuntu development model along with performance engineering and security experience.
  • Shell or Python scripting skills.

Benefits & Perks

  • Distributed work environment with twice-yearly in-person team sprints.
  • Personal learning and development budget of USD 2,000 per year.
  • Annual compensation review, including a performance-driven annual bonus.
  • Recognition rewards and annual holiday leave.
  • Maternity and paternity leave, and access to an Employee Assistance Programme.
  • Opportunities to travel to new locations to meet colleagues, with benefits like Priority Pass and travel upgrades for long haul company events.

Skills

ACPIARMCC++DebianGolangLinuxPythonRISC-VRustShell scriptingUEFIU-BootUbuntuYocto

Don't send a generic resume

Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.

Get started free