[Remote] Linux Devices Software Engineer
Note: The job is a remote job and is open to candidates in USA. Canonical is a pioneering tech firm at the forefront of the global move to open source. The Linux Devices Software Engineer role involves working on low-level system technology for autonomous devices, focusing on software development, optimization, and collaboration with global teams.
Responsibilities
- Ubuntu Core and snapd software development
- Silicon software and optimisation engineers
- Kernel driver and hardware enablement engineers
- Hardware-centric Linux QA Engineers
- Hardware Certification Engineers
- Robotics engineers
- Industrial IoT software engineers
- Networking software engineers (switching, routing, access and SmartNICs)
- Work with the latest Linux kernel and open source technologies
- Deliver Ubuntu for the latest IoT and server-class hardware platforms
- Integrate and maintain device-oriented software stacks
- Write high-quality, well-designed software
- Collaborate proactively with other globally distributed teams
- Display technical leadership internally and within our external communities
- Help our customers ship their apps and SDKs on Ubuntu
- Build device OS images with Ubuntu Core, Desktop and Server
- Optimise the Ubuntu kernel and libraries for silicon-specific capabilities
- Debug issues and produce high-quality code to fix them
- Contribute to technical documentation to make it the best of its kind
- Discuss ideas and collaborate on finding good solutions
- Participate as technical lead on complex customer engagements involving complete system architectures from cloud to edge
- Work usually from home, with global travel 2 to 4 weeks for company events
Skills
- 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
Benefits
- Performance-driven annual bonus
- 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
Company Overview
Company H1B Sponsorship
Apply To This Job