Linux Devices Software Engineer

Canonical Ltd.
1 month ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Remote

Tech stack

C
Advanced Configuration and Power Interface (ACPI)
Booting (BIOS)
C++
Ubuntu (Operating System)
Computer Networks
Debian Linux
Software Debugging
Linux
Serial ATA
Firmware
Python
Linux kernel
Routing
Open Source Technology
Reduced Instruction Set Computing
Schematic Capture
Scripting (Bash/Python/Go/Ruby)
Extensible Firmware Interface
Yocto
Information Technology
Go

Job description

software engineers Networking software engineers (switching, routing, access and SmartNICs) Location: we have remote roles open in every time zone. What your day will look like 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

Requirements

architectures from cloud to edge Work usually from home, with global travel 2 to 4 weeks for company events What we are looking for in you 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 Additional Skills That You Might Also Bring 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 What we offer you 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 About Canonical Canonical is a pioneering

About the company

Overview Join to apply for the Linux Devices Software Engineer role at Canonical. 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 roles include: 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

Apply for this position