At a Glance
- Tasks: Join a global team to develop and enhance Linux kernels for Ubuntu across various platforms.
- Company: Canonical is a leading open-source software company, powering Ubuntu and its ecosystem.
- Benefits: Enjoy remote work, annual bonuses, personal development budgets, and travel opportunities.
- Why this job: Be part of a cutting-edge team focused on security, performance, and innovation in the tech world.
- Qualifications: Exceptional academic record in Computer Science or STEM, with strong programming skills in C.
- Other info: Work from anywhere, collaborate globally, and attend exciting engineering events twice a year.
The predicted salary is between 30000 - 50000 £ per year.
This is a general track for applications to any team at Canonical that works with the Linux kernel, across all seniority levels. Apply here if you are an exceptional software engineer who wants to work on both stable and cutting edge Linux kernels for Ubuntu and its wider ecosystem.
Canonical has a large and rapidly growing kernel team that underpins Ubuntu and open source more widely across a very wide range of hardware and use cases. We partner with the biggest kernel contributors - the silicon companies - to ensure that their work reaches the widest possible audience as quickly as possible, with a 10 year enterprise security commitment. The Canonical Linux Kernel Organization has teams in every time zone. We have opportunities for technical leadership, engineering management, and engineering directorships.
The team is responsible for all supported Ubuntu Linux kernels, on all platforms and architectures from small embedded devices to standard desktop/server systems to large scale cloud environments, mainframes and supercomputers. We care most about hardware and virtualization enablement, security, reliability and performance.
There are a number of areas where we lead upstream, but for the most part we are interested in ensuring production readiness and performance for the latest patchsets, rather than subsystem maintenance or evolution.
Kernel Team projects include but are not limited to:
- Ubuntu Linux kernel plan, execution, benchmarking and stress testing
- Optimised kernels for key silicon and cloud partners
- Confidential computing and next-generation security primitives
- Developer platforms such as Raspberry Pi and RISC-V
- Enabling Ubuntu on a wide range of embedded systems
- Kernel Livepatch, which delivers critical kernel fixes without rebooting
- FIPS compliance
- Real-Time and Low Latency kernel variants and patchsets
- Virtualisation or abstraction engines
- Container technology
- Security with AppArmor, SECCOMP, namespaces and more
- Networking - in particular performance and security
- Storage - we are particularly interested in Ceph and DRBD
We hire candidates of all experience levels from recent university graduates through seasoned industry experts. We select those who are enthusiastic to work in multiple areas including security mitigation, feature development, patching and test. You must have outstanding academic results, a background in software engineering, be motivated to work in a distributed team and willing to travel globally twice a year for company engineering events.
Location: Working from home, worldwide. We have kernel teams and openings in every time zone and with the notable exception of Taipei, Taiwan, have no offices and therefore no pressure to work from an office.
What your day will look like:
- Collaborate regularly and proactively with a globally distributed team
- Work closely with silicon, cloud, or hardware manufacturers
- Diagnose and resolve issues in the kernel
- Take personal responsibility for a flavour of the Ubuntu Linux kernel
- Improve tooling and automation for delivery and test of Ubuntu Linux kernels
- Submit, review, and apply kernel patches
What we are looking for in you:
- An exceptional academic track record from both high school and university
- Undergraduate degree in Computer Science or STEM, or a compelling narrative about your alternative path
- Drive and a track record of going above-and-beyond expectations
- Well-organised, self-starting and able to deliver to fixed schedules
- Professional manner interacting with colleagues, partners, and community
- Ability to communicate effectively in English, both written and oral
- Significant programming experience in C
- Solid background with git
- Broad knowledge of the Linux kernel and kernel subsystems
- Demonstrated experience with kernel patching and debugging
- Understanding of Linux kernel upstream processes and release cycle
- Strong grasp of device drivers, BSP’s, and other low level system engineering
- Professional written and spoken English
- Experience with Linux (Debian or Ubuntu preferred)
- 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:
- Python and Bash scripting
- Prior experience with Ubuntu/Debian/Snap packaging
- Performance engineering and security experience
What we offer you:
We consider geographical location, experience, and performance in shaping compensation worldwide. We revisit compensation annually (and more often for graduates and associates) to ensure we recognise outstanding performance. In addition to base pay, we offer a performance-driven annual bonus. We provide all team members with additional benefits, which reflect our values and ideals. We balance our programs to meet local needs and ensure fairness globally.
- 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
Linux Kernel Engineer employer: Canonical
Contact Detail:
Canonical Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Linux Kernel Engineer
✨Tip Number 1
Familiarise yourself with the latest developments in the Linux kernel. Follow key contributors and projects on platforms like GitHub to stay updated on trends and innovations that Canonical might be interested in.
✨Tip Number 2
Engage with the open-source community by contributing to relevant projects. This not only showcases your skills but also helps you build a network of contacts who can provide insights or referrals for opportunities at Canonical.
✨Tip Number 3
Prepare to discuss your experience with kernel patching and debugging during interviews. Be ready to share specific examples of challenges you've faced and how you resolved them, as this will demonstrate your problem-solving abilities.
✨Tip Number 4
Highlight your ability to work in a distributed team. Share experiences where you've successfully collaborated with remote colleagues, as this is crucial for a role at Canonical, which operates globally.
We think you need these skills to ace Linux Kernel Engineer
Some tips for your application 🫡
Tailor Your CV: Make sure your CV highlights your programming experience in C, knowledge of the Linux kernel, and any relevant projects or contributions. Emphasise your academic achievements and any specific skills that align with the job description.
Craft a Compelling Cover Letter: Write a cover letter that showcases your passion for working with the Linux kernel and your motivation to join Canonical. Mention specific areas of interest, such as security or performance engineering, and how your background makes you a great fit for their team.
Showcase Relevant Experience: In your application, include examples of your experience with kernel patching, debugging, and any contributions to open source projects. Highlight your familiarity with tools like git and any experience with Ubuntu or Debian.
Demonstrate Communication Skills: Since the role involves collaborating with a globally distributed team, emphasise your ability to communicate effectively in English. Provide examples of how you've successfully worked in teams or presented technical information to diverse audiences.
How to prepare for a job interview at Canonical
✨Showcase Your Technical Skills
Be prepared to discuss your programming experience in C and any projects you've worked on related to the Linux kernel. Highlight your understanding of kernel subsystems and your experience with patching and debugging.
✨Demonstrate Your Problem-Solving Abilities
Expect to face technical questions that assess your ability to diagnose and resolve kernel issues. Prepare examples from your past experiences where you successfully tackled complex problems, especially in a distributed team environment.
✨Communicate Effectively
Since you'll be working with a globally distributed team, strong communication skills are essential. Practice explaining technical concepts clearly and concisely, both in writing and verbally, to ensure you can convey your ideas effectively.
✨Express Your Passion for Open Source
Canonical values enthusiasm for open source projects. Be ready to discuss your involvement in the community, any contributions you've made, and why you're passionate about working on Linux kernels and contributing to Ubuntu's ecosystem.