At a Glance
- Tasks: Develop and optimise software for Linux devices, focusing on performance and reliability.
- Company: Canonical is a leading tech firm driving the open-source revolution with Ubuntu.
- Benefits: Enjoy remote work, a personal development budget, annual bonuses, and generous leave policies.
- Why this job: Join a vibrant community, work on cutting-edge technology, and make a real impact in the tech world.
- Qualifications: A degree in Computer Science or STEM, experience with Linux, and fluency in programming languages like C or Rust.
- Other info: Remote roles available globally, with opportunities for travel and collaboration across diverse teams.
The predicted salary is between 30000 - 42000 £ per year.
Overview
Apply here for all engineering teams at Canonical who work on low-level system technology on autonomous devices across all seniority levels.
Canonical Ubuntu is the leading Linux for software engineers, desktops, cloud and IoT. We bring open source to the world as a high-performance, safe and secure platform for enterprise computing, software engineering, and connected devices.
These smart, connected devices have the potential to transform every industry. Classic Ubuntu desktop or server – is widely used in embedded systems because of its developer focus and enterprise grade security maintenance.
Canonical builds Ubuntu Core, a fully containerised version of Ubuntu that is mathematically precise and rigorously secure. We are working on additional solutions for even smaller devices.
Location
Remote roles open in every time zone.
Roles Included
- Ubuntu Core and snapd software development
- Silicon software and optimisation engineers
- Kernel driver and hardware enablement engineers
- Hardware-centric Linux QA Engineers
- Hardware Certification Engineers
- Robotics engineers
- Industrial IoT software engineers
- Networking software engineers (switching, routing, access and SmartNICs)
What your day will look like
- Work with the latest Linux kernel and open source technologies
- Deliver Ubuntu for the latest IoT and server-class hardware platforms
- Integrate and maintain device-oriented software stacks
- Write high-quality, well-designed software
- Collaborate proactively with other globally distributed teams
- Display technical leadership internally and within our external communities
- Help our customers ship their apps and SDKs on Ubuntu
- Build device OS images with Ubuntu Core, Desktop and Server
- Optimise the Ubuntu kernel and libraries for silicon-specific capabilities
- Debug issues and produce high-quality code to fix them
- Contribute to technical documentation to make it the best of its kind
- Discuss ideas and collaborate on finding good solutions
- Participate as technical lead on complex customer engagements involving complete system architectures from cloud to edge
- Work usually from home, with global travel 2 to 4 weeks for company events
What we are looking for in you
- An exceptional academic track record from both high school and university
- Drive and a track record of going above-and-beyond expectations
- Undergraduate degree in Computer Science or STEM, or a compelling narrative about your alternative path
- Experience with Linux (Debian or Ubuntu preferred)
- Passion for Linux or embedded systems software (e.g. kernel, graphics, Yocto)
- Fluency in at least one of Golang, C, C++, or Rust
- Professional written and spoken English
- 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 You Might Also Bring
- Experience with Debian/Ubuntu or other distro packaging
- Understanding of build systems and toolchains, including for cross-compilation
- Experience with firmware, uboot, UEFI, ACPI, DSDT, or boot loaders
- Experience with power management on PCI ASPM, SATA ALPM, low power profiles
- Computer architecture knowledge of x86, ARM, RISC-V
- Experience in board design, bring up, and validation
- Experience with electrical engineering design tools (e.g. schematic capture, layout)
- Familiarity with Ubuntu development model
- Performance engineering and security experience
- Shell or Python scripting skills
What we offer you
- 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
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 on a daily basis. 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. Canonical has been a remote‑first company since its 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.
Equal Opportunity Employer
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
Linux Devices Software Engineer employer: Canonical
Contact Detail:
Canonical Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Linux Devices Software Engineer
✨Tip Number 1
Familiarise yourself with the latest Linux kernel and open source technologies. Being well-versed in these areas will not only boost your confidence but also demonstrate your commitment to the role during interviews.
✨Tip Number 2
Engage with the open source community by contributing to relevant projects or forums. This will help you build a network and showcase your passion for Linux and embedded systems, which Canonical highly values.
✨Tip Number 3
Prepare to discuss your experience with low-level system technology and how you've tackled challenges related to memory, performance, and connectivity. Real-world examples will make your conversations more impactful.
✨Tip Number 4
Research Canonical's products, especially Ubuntu Core and its applications in IoT and embedded systems. Understanding their offerings will allow you to align your skills and experiences with their needs during discussions.
We think you need these skills to ace Linux Devices Software Engineer
Some tips for your application 🫡
Tailor Your CV: Make sure your CV highlights relevant experience with Linux, embedded systems, and any programming languages mentioned in the job description, such as C, C++, or Golang. Use specific examples to demonstrate your skills.
Craft a Compelling Cover Letter: In your cover letter, express your passion for open source and innovation. Mention how your background aligns with Canonical's mission and the specific role. Be sure to include any unique experiences that set you apart from other candidates.
Showcase Technical Skills: Include a section in your application that lists your technical skills, particularly those related to Linux software development, kernel programming, and any experience with hardware. This will help the hiring team quickly see your qualifications.
Highlight Collaborative Experience: Since the role involves working with globally distributed teams, mention any previous experiences where you collaborated with others, especially in remote settings. This shows you can thrive in Canonical's work environment.
How to prepare for a job interview at Canonical
✨Show Your Passion for Open Source
Make sure to express your enthusiasm for open source projects during the interview. Discuss any contributions you've made or projects you've worked on, especially those related to Linux or embedded systems. This will demonstrate your commitment and alignment with Canonical's values.
✨Demonstrate Technical Knowledge
Be prepared to discuss your experience with Linux, particularly Debian or Ubuntu. Brush up on relevant technologies such as kernel development, device drivers, and performance optimisation. Showing a deep understanding of these areas will set you apart from other candidates.
✨Prepare for Problem-Solving Questions
Expect technical questions that assess your problem-solving skills. Practice coding challenges or system design scenarios that relate to low-level system technology. Being able to think critically and articulate your thought process is crucial in this role.
✨Highlight Collaboration Skills
Since Canonical values teamwork, be ready to share examples of how you've successfully collaborated with others in previous roles. Discuss any experiences working with distributed teams, as this reflects the company's remote-first culture and collaborative environment.