A software engineering role focused on developing, optimizing, and maintaining low-level system technology for autonomous devices and embedded systems using Linux, with opportunities for technical leadership and collaboration across global teams.
Key Responsibilities
Work with the latest Linux kernel and open source technologies
Deliver Ubuntu for IoT and server-class hardware platforms
Integrate and maintain device-oriented software stacks
Write high-quality, well-designed software
Debug issues and produce high-quality code to fix them
Optimize the Ubuntu kernel and libraries for silicon-specific capabilities
Build device OS images with Ubuntu Core, Desktop, and Server
Contribute to technical documentation
Collaborate proactively with globally distributed teams
Display technical leadership internally and within external communities
Help customers ship their apps and SDKs on Ubuntu
Participate as technical lead on complex customer engagements involving system architectures
Requirements
An undergraduate degree in Computer Science or STEM, or a compelling narrative about an alternative path demonstrating relevant skills and experience.
Experience with Linux Debian or Ubuntu preferred.
Fluency in at least one of Golang, C, C++, or Rust.
Professional written and spoken English skills.
Excellent interpersonal skills, curiosity, flexibility, and accountability.
Passion for Linux or embedded systems software such as kernel, graphics, or Yocto.
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 Linux distributions 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, or low power profiles.
Knowledge of computer architecture including x86, ARM, RISC-V.
Experience in board design, bring-up, and validation.
Familiarity with electrical engineering design tools such as schematic capture and layout.
Shell or Python scripting skills.
Benefits & Perks
Distributed work environment with twice-yearly team sprints in person
Personal learning and development budget of USD 2,000 per year
Annual compensation review
Recognition rewards
Annual holiday leave
Maternity and paternity leave
Employee Assistance Programme
Opportunity to travel to new locations to meet colleagues
Priority Pass, and travel upgrades for long haul company events
Revisit compensation annually and more often for graduates and associates to ensure recognition of outstanding performance
Ready to Apply?
Join Canonical and make an impact in renewable energy