At a Glance
- Tasks: Develop cutting-edge software for autonomous devices and optimise Linux systems.
- Company: Join Canonical, the leading open-source tech firm behind Ubuntu.
- Benefits: Enjoy competitive pay, remote work, and a personal development budget.
- Why this job: Make a real impact in the world of IoT and embedded systems.
- Qualifications: Passion for Linux and experience in programming languages like C or Rust.
- Other info: Work remotely with global travel opportunities and a vibrant community.
The predicted salary is between 30000 - 42000 £ per year.
This role is one of our general tracks. Apply here for all engineering teams at Canonical who work on low-level system technology on autonomous devices across all seniority levels. We hire careful and conscientious engineers who appreciate the challenge of memory, performance, battery and connectivity constrained code that has to work every time in an unreliable and unforgiving world, on x86, ARM or RISC-V silicon.
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.
We partner with the world's most prominent silicon companies to optimise Ubuntu on their latest and greatest chips, as well as with major OEMs and ODMs (PC, servers and connected device manufacturers) to ensure that Ubuntu works perfectly on their hardware. But while classic, 'deb' based Ubuntu is ideal for developers, it has too much variability for appliance or connected device environments, where you want to know exactly what the state of millions or billions of devices might be. So 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. We have several teams that focus on open source for embedded environments.
We hire outstanding Linux software engineers with a passion for open source, innovation, cutting-edge hardware and software technologies in general. You will be expected to make significant contributions through high-quality design and code, and to develop your technical leadership.
These roles include:
- 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)
At Canonical you will have the opportunity to engage with the broader open source community. We're looking for individuals who can help build a thriving community, contribute to a broad range of technologies, and contribute to the deployment of Ubuntu and Ubuntu Core across the widest range of devices.
Location: we have remote roles open in every time zone.
What your day will look like:
- Based on the first round of interviews we identify specific teams where you might be an excellent fit, and conduct second round interviews with those teams.
- Our engineers:
- 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 That 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:
- 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
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.
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.
Linux Devices Software Engineer in Edinburgh employer: Canonical
Contact Detail:
Canonical Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Linux Devices Software Engineer in Edinburgh
✨Tip Number 1
Network like a pro! Reach out to folks in the industry, especially those at Canonical. LinkedIn is your best mate here—send personalised connection requests and engage with their posts. You never know who might give you a heads-up about job openings!
✨Tip Number 2
Prepare for those interviews! Research Canonical's projects and be ready to discuss how your skills align with their needs. Practise common technical questions and have a few examples of your past work ready to showcase your experience.
✨Tip Number 3
Show your passion for open source! Contribute to relevant projects or share your own on GitHub. This not only boosts your profile but also demonstrates your commitment to the community, which Canonical values highly.
✨Tip Number 4
Apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you’re genuinely interested in joining Canonical and being part of their innovative team.
We think you need these skills to ace Linux Devices Software Engineer in Edinburgh
Some tips for your application 🫡
Tailor Your CV: Make sure your CV is tailored to the Linux Devices Software Engineer role. Highlight your experience with Linux, especially Debian or Ubuntu, and any relevant projects that showcase your skills in embedded systems or low-level programming.
Craft a Compelling Cover Letter: Your cover letter is your chance to shine! Share your passion for open source and how it aligns with Canonical's mission. Mention specific technologies or projects you've worked on that relate to the job description.
Showcase Your Technical Skills: Don’t forget to highlight your proficiency in languages like Golang, C, C++, or Rust. If you have experience with kernel development or device-oriented software stacks, make sure to include that as well!
Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way for us to receive your application and ensures you’re considered for the role. Plus, it shows you’re serious about joining our team!
How to prepare for a job interview at Canonical
✨Know Your Linux Inside Out
Make sure you brush up on your Linux knowledge, especially Ubuntu and Debian. Be prepared to discuss your experience with kernel development, embedded systems, and any specific projects you've worked on. This will show your passion and expertise in the field.
✨Showcase Your Coding Skills
Be ready to demonstrate your coding abilities in languages like C, C++, or Rust. You might be asked to solve a problem on the spot, so practice coding challenges beforehand. Highlight any relevant projects that showcase your skills in optimising software for performance and memory constraints.
✨Understand the Company’s Vision
Familiarise yourself with Canonical's mission and the role of Ubuntu in the open-source community. Being able to articulate how your values align with theirs will make a strong impression. Discuss how you can contribute to their goals, especially in the context of IoT and connected devices.
✨Prepare Questions to Ask
Interviews are a two-way street, so prepare insightful questions about the team dynamics, ongoing projects, and future developments at Canonical. This shows your genuine interest in the role and helps you assess if it's the right fit for you.