Junior Kernel Engineer

November 13, 2024

Are you applying to the internship?

Job Description

About Canonical

Canonical is a leading technology company driving the adoption of open source software globally. They are the creators of Ubuntu, a widely used operating system that serves as the foundation for AI, IoT, and cloud computing.

Canonical is a remote-first company, with a global workforce and a strong commitment to fostering a diverse and inclusive work environment. They strive for excellence in all aspects of their work, prioritizing the creation of high-quality products and services.

Job Description: Junior Kernel Engineer

This is a full-time opportunity for recent graduates or early career professionals (1-3 years of experience) who are passionate about kernel-level software development. The Canonical Kernel Team works on maintaining and improving the Ubuntu Linux kernel across various platforms and architectures, from embedded devices to cloud environments.

Key Responsibilities:

Contribute to major initiatives: You’ll be involved in projects like optimizing solutions for silicon and cloud partners, enabling Ubuntu on embedded systems, security hardening, and driver integration.
Collaborate with a global team: You’ll work closely with senior mentors, external hardware manufacturers, and the open-source community.
Troubleshoot and resolve kernel issues: You’ll analyze and fix problems reported by customers, the community, and your own rigorous testing.
Develop and maintain the Ubuntu Linux kernel: You’ll be responsible for delivering various kernel flavors, improving tooling and automation, and submitting and reviewing kernel patches.

Required Skills and Experience:

Strong programming skills: You should be proficient in C and have some experience with Rust.
Understanding of operating systems: You have a strong understanding of operating system kernel fundamentals.
Version control expertise: Familiarity with Git is essential.
Excellent communication skills: You are able to effectively communicate both verbally and in writing.
Self-motivation and organization: You are a self-starter who thrives in a remote work environment.
Teamwork and collaboration: You are able to work effectively with colleagues, partners, and the open-source community.
Willingness to travel: You are able to travel twice a year for company events (up to two weeks).

Desired Skills:

• Experience with Ubuntu, Debian, or Snap packaging
• Kernel patching and debugging experience
• Knowledge of device drivers, BSPs, and low-level systems engineering
• Proficiency in Python and Bash scripting

Benefits:

Competitive compensation: Salary is determined by location, experience, and performance, with annual reviews and performance-driven bonuses.
Comprehensive benefits: Global benefits package including health insurance, paid time off, maternity/paternity leave, and more.
Professional development: Access to a learning and development budget of USD 2,000 per year.
Remote work environment: Work from home with twice-yearly in-person team sprints.
Travel opportunities: Participate in company events and meet colleagues around the world.
Recognition and rewards: Receive appreciation for outstanding contributions and performance.
Global community: Be part of a collaborative and supportive team that works on a mission critical project.