At a Glance
- Tasks: Join a global team to develop and maintain the Ubuntu Linux kernel.
- Company: Canonical is a leading open-source software provider, known for Ubuntu.
- Benefits: Enjoy remote work, annual bonuses, and a personal development budget of $2,000.
- Why this job: Work on cutting-edge technology and collaborate with experts in a dynamic environment.
- Qualifications: Recent graduates or early career professionals with C/Rust programming skills are encouraged to apply.
- Other info: Opportunity to travel globally for team events and engage in innovative projects.
The predicted salary is between 28800 - 43200 £ per year.
Overview
Canonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation, and IoT. Our customers include the world\’s leading public cloud and silicon providers, and industry leaders in many sectors. The company is a pioneer of global distributed collaboration, with 1200+ colleagues in 75+ countries and very few office-based roles. Teams meet two to four times yearly in person, in interesting locations around the world, to align on strategy and execution.
The company is founder-led, profitable, and growing. Every year we select new junior professionals into the Canonical Kernel Team, to work on the Linux kernel for Ubuntu. If you enjoyed operating systems in your coursework or current role, you are confident in your ability to write high quality C and possibly Rust, and are ready to take the plunge and see how it all works, then this would be a great place to pursue your next career stage. We are a global team working to ship the world\’s most widely used Linux kernel, across the very latest silicon and cloud, where you can apply and grow your software engineering skills.
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
What we are looking for in you
- 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
Nice-to-have skills
- 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
What we offer colleagues
- 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
- Team Member Assistance Program & Wellness Platform
- 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 tech firm at the forefront of the global move to open source. As the company that publishes Ubuntu, one of the most important open-source projects and the platform for AI, IoT, and the cloud, we are changing the world of software. We recruit on a global basis and set a very high standard for people joining the company. We expect excellence; in order to succeed, we need to be the best at what we do. Most colleagues at Canonical have worked from home since our inception in 2004. Working here is a step into the future and will challenge you to think differently, work smarter, learn new skills, and raise your game.
Canonical is an equal opportunity employer
We are proud to foster a workplace free from discrimination. Diversity of experience, perspectives, and background create a better work environment and better products. Whatever your identity, we will give your application fair consideration.
#J-18808-Ljbffr
Junior Linux Kernel Engineer - Ubuntu employer: Canonical
Contact Detail:
Canonical Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Junior Linux Kernel Engineer - Ubuntu
✨Tip Number 1
Familiarise yourself with the Linux kernel and its architecture. Understanding how the kernel interacts with hardware and software will give you a solid foundation to discuss during interviews and demonstrate your enthusiasm for the role.
✨Tip Number 2
Engage with the open-source community, particularly around Ubuntu and Linux kernel development. Contributing to forums or projects can showcase your skills and passion, making you a more attractive candidate.
✨Tip Number 3
Brush up on your C and Rust programming skills, as these are crucial for the role. Consider working on small projects or contributing to existing ones to demonstrate your coding abilities and familiarity with these languages.
✨Tip Number 4
Prepare to discuss your experiences with version control systems, especially git. Being able to articulate your understanding of version control practices will show that you're ready to collaborate effectively in a distributed team environment.
We think you need these skills to ace Junior Linux Kernel Engineer - Ubuntu
Some tips for your application 🫡
Understand the Role: Before applying, make sure you fully understand the responsibilities and requirements of the Junior Linux Kernel Engineer position. Familiarise yourself with Canonical's work, especially around the Linux kernel and Ubuntu.
Tailor Your CV: Highlight your programming experience in C and Rust, as well as any familiarity with operating system fundamentals. Make sure to include relevant coursework or projects that demonstrate your skills and enthusiasm for kernel-level software development.
Craft a Compelling Cover Letter: Use your cover letter to express your passion for open-source software and your motivation to work in a distributed team. Mention specific experiences that align with the role, such as any projects involving kernel patching or debugging.
Showcase Your Communication Skills: Since the role involves collaboration with a globally distributed team, emphasise your ability to communicate effectively in English. Provide examples of how you've successfully worked in teams, especially in remote settings.
How to prepare for a job interview at Canonical
✨Brush Up on Your C and Rust Skills
Since the role requires programming experience in C and possibly Rust, make sure to review your knowledge of these languages. Be prepared to discuss your past projects or coursework that involved these languages, and consider doing some coding exercises to refresh your skills.
✨Understand the Linux Kernel Fundamentals
Familiarise yourself with the basics of operating system kernels, especially Linux. Be ready to explain key concepts and how they relate to Ubuntu. This will show your enthusiasm for the role and your understanding of the core responsibilities.
✨Showcase Your Problem-Solving Skills
Prepare to discuss specific examples where you've diagnosed and resolved issues in software or systems. Highlight any experiences related to kernel patching or debugging, as this is crucial for the position.
✨Demonstrate Your Team Collaboration Experience
Since Canonical values a distributed team environment, be ready to share your experiences working in remote teams. Discuss how you communicate effectively and collaborate with colleagues across different time zones, which is essential for success in this role.