Canonical is a leading provider of open source software and operating systems, and they are seeking a Junior Linux Kernel Engineer to join their Kernel Team. The role involves collaborating with a globally distributed team to develop kernel-level software for Ubuntu, focusing on various initiatives including security hardening and driver integration.
Responsibilities:
- Collaborate regularly and proactively with a globally distributed team
- Learn from senior mentors to demystify the inner workings of the Linux kernel and how it is distributed
- Work closely with external silicon, cloud, or hardware manufacturer delivery teams on bleeding-edge platforms
- Diagnose and resolve issues in the kernel reported by customers, the community, and discovered by your own rigorous testing
- Take personal responsibility for the delivery of various flavors of the Ubuntu Linux kernel
- Improve tooling and automation for delivery and test of Ubuntu Linux kernels
- Submit, review, and apply kernel patches, working with both internal and external upstream maintainers
Requirements:
- Recent university graduate or early career professional
- Enthusiastic to develop kernel-level software in multiple areas including security updates, patching, and testing
- Background in software engineering
- Motivated to work in a distributed team
- Willing and able to travel globally twice a year for company engineering events
- Well-organized and motivated self-starter able to thrive in a remote work environment
- Professional manner with colleagues, business partners, and the open-source community
- Ability to communicate effectively in English, both written and verbal
- Programming experience in C and/or Rust
- Familiarity with version control practices, ideally with git
- Understanding of operating system kernel fundamentals
- Ability to travel twice a year for company events of up to two weeks length
- Interest and experience in Rust
- Python and Bash scripting ability
- Prior experience with Ubuntu/Debian/Snap packaging
- Demonstrated experience with kernel patching and debugging
- Strong grasp of device drivers, BSP's, and other low level system engineering