What is Canonical?
Canonical is a growing international software company that works with the open-source community to deliver Ubuntu, the worlds best free software platform. Our mission is to realise the potential of free software in the lives of individuals and organisations. Our services are helping individuals and businesses worldwide to reduce costs, improve efficiency and enhance security with Ubuntu.
Are you passionate about the Linux kernel and looking to work on a great team, where you can apply and grow your hardware enablement skills? This is an exciting time at Canonical, with Ubuntu as the fastest growing Linux distribution, at over 20 million users in just a few years. The kernel engineering team is growing to meet demand and is looking for an experienced kernel engineer to join our Taipei-based Hardware Enablement Team remotely.
The Canonical Linux Kernel Team is responsible for developing and maintaining all supported Ubuntu kernels. Being part of the Kernel Team, the hardware enablement team works with Canonicals hardware partners to deliver high-quality support at a kernel and near-kernel level for their hardware platforms.
As a Hardware Enablement Engineer, your primary responsibility will be working on partner projects to make hardware components functional and to ensure Ubuntu works well on these latest hardware platforms within project schedules, which includes but not limited to kernel troubleshooting, patching/backporting, kernel bug fixing, device driver integration and maintenance. You will have to also work closely with the Stable Kernel Team and Kernel Development Team, as well as the upstream community as a whole, in contributing your work back to them for the best hardware support in Ubuntu.
Canonical is looking for an energetic kernel engineer with at least 2 years of Linux kernel development experience, who is motivated to develop in multiple areas as described above. The position is home-based, and the candidate must also be motivated to communicate and work with people in other countries, and willing to travel globally up to 4 times/yr for engineering sprints.
- Collaborating regularly and proactively with a globally distributed team
- Low-level hardware debugging and system enablement/bring-up
- Submitting kernel patches to resolve software and firmware issues
- Addressing kernel bugs and regressions relating to hardware and firmware
- Performing backports for feature enablement and support
Required skills and experience
- Bachelor of Computer Science or related software engineering experience
- Demonstrated proficiency in C programming language
- Expert skills/experience with git
- Scripting experience including Bash and Python
- Broad knowledge of the Linux kernel and kernel subsystems
- Demonstrated experience with kernel patching and debugging
- Well-organized, self-starting and able to deliver to fixed schedules
- Ability to function and communicate effectively as part of a globally distributed team
- Knowledge/experience with Linux kernel upstream processes and release cycle
- Effective email management skills and instant messaging skills
- Demonstrated ability to present oneself in a professional manner when interacting with colleagues, business partners, and the open source community
- Ability to communicate effectively in English, both written and oral
Desired skills and experiences
- Familiarity with ACPI and interacting with it in device drivers
- Specific focus in one or more linux kernel subsystems is highly desirable
- Familiarity with Arm boot processes (e.g. U-Boot) and Arm bring-up experience
- Experience with Ubuntu/Debian packaging
- Experience with Snap packaging
- Familiarity with Ubuntu SRU process and cadence
What Canonical Offers:
Recruiter adds additional benefits if applicable
- Learning and Development
- Annual Compensation Review
- Recognition Rewards
- Annual Leave
- Priority Pass for travel
- Flexible working option
Canonical believes a diverse workforce enhances our ability to deliver world class software and services which meet the worlds computing needs. We are committed to ensuring equal employment opportunities to all qualified individuals. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.