Linux Devices Software Engineer
Core
Develop low-level system software for autonomous devices, optimizing Ubuntu and Ubuntu Core for x86, ARM, and RISC-V silicon in memory and battery-constrained environments.
Role type
Linux Devices Software Engineer (Embedded/IoT)
Builds
Ubuntu Core, snapd, device OS images, and optimized Linux kernels for IoT and server-class hardware.
Domain
Embedded Systems, Linux Kernel, IoT, Open Source
Deliverable
production ML models | product features | infrastructure
Required skills
Linux kernel development, C/C++/Rust/Golang, embedded systems programming, device stack integration, cross-compilation toolchains, power management optimization, computer architecture (x86/ARM/RISC-V), debugging constrained code.
Preferred skills
Debian/Ubuntu packaging, firmware/UEFI/ACPI knowledge, board bring-up and validation, electrical engineering design tools, performance engineering, shell/Python scripting.
Responsibilities
Work with the latest Linux kernel and open source technologies, integrate and maintain device-oriented software stacks, write high-quality software for IoT platforms, optimize the Ubuntu kernel for silicon-specific capabilities, debug issues and fix code, contribute to technical documentation, participate as technical lead on complex system architectures.
Seniority
Individual Contributor (IC), all seniority levels considered