About the Job
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.
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 lat...
But 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. So Canonical builds Ubuntu Core, a fully containerised version of Ubuntu that is math...
Required Skills & Abilities
An exceptional academic track record from both high school and university
Drive and a track record of going above-and-beyond expectations
Undergraduate degree in Computer Science or STEM, or a compelling narrative about your alternative path
Experience with Linux (Debian or Ubuntu preferred)
Passion for Linux or embedded systems software (e.g. kernel, graphics, Yocto)
Fluency in at least one of Golang, C, C++, or Rust
Professional written and spoken English
Excellent interpersonal skills, curiosity, flexibility, and accountability
Passion, thoughtfulness, and self-motivation
Excellent communication and presentation skills
Result-oriented, with a personal drive to meet commitments
Ability to travel twice a year, for company events up to two weeks each
Experience with Debian/Ubuntu or other distro packaging
Understanding of build systems and toolchains, including for cross-compilation
Experience with firmware, uboot, UEFI, ACPI, DSDT, or boot loaders
Experience with power management on PCI ASPM, SATA ALPM, low power profiles
Computer architecture knowledge of x86, ARM, RISC-V
Experience in board design, bring up, and validation
Experience with electrical engineering design tools (e.g. schematic capture, layout)
Familiarity with Ubuntu development model
Performance engineering and security experience
Shell or Python scripting skills