At a Glance
- Tasks: Solve complex tech problems and develop innovative solutions for Ubuntu and open source software.
- Company: Join Canonical, a leader in open source software with a global team.
- Benefits: Enjoy remote work, competitive pay, travel opportunities, and a personal development budget.
- Other info: Collaborate globally and grow your career in a dynamic, supportive environment.
- Why this job: Make a real impact in the tech world while working with brilliant minds.
- Qualifications: Experience in software engineering and a passion for Linux and open source.
The predicted salary is between 63000 - 77000 £ per year.
Canonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is very 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.
This role deals with critical issues in the open source stack that require software engineering for upstream bug fixes. Our engineers have to be able to work productively at any level of the stack above the kernel, in a wide range of languages, to understand and address the software issues at hand. Our group is critical to the success of our enterprise customers, partners and Ubuntu itself.
You will help with troubleshooting and driving issues to resolution with workarounds, guidance, and bug fixes to be released upstream and in Ubuntu.
This role entails:
- Resolving complex customer problems related to Ubuntu, Kernel, Ceph, OpenStack, or Kubernetes and other open source software
- Maintaining a close working relationship with Canonical's Field, Support and product engineering teams
- Participating in upstream communities
- Developing bug fixes, backporting patches, and working with upstream for inclusion
- Reviewing code produced by other engineers
- Demonstrating good judgement in technical methods and techniques
- Prioritizing work and managing your time effectively against those priorities
- Participating in team discussions to improve processes, tools, and documentation
- Maintaining clear, technical and concise communications
- Working from home and travel internationally up to 10% of work time for team meetings, events and conferences
What we are looking for in you:
- Professional experience as a software engineer
- Background in Computer Science, STEM or similar
- Strong experience with Linux, and at least one of the following: Ceph, OpenStack, Kubernetes or other cloud technologies
- Strong development-level experience with at least one of Python, Go, C or C++ on Linux
- Ability to troubleshoot with debugging tools like gdb
- Familiarity with git source code repositories and branches
- An exceptional academic track record
- Willingness to travel up to 4 times a year for internal events
Nice-to-have skills:
- You love technology and working with brilliant people
- You are curious, flexible, articulate, and accountable
- You value soft skills and are passionate, enterprising, thoughtful, and self-motivated
- You have interest in, and experience with most of the following: Ubuntu Linux - kernel or userspace, Kubernetes, OpenStack, Ceph, QEMU/KVM, LXC/LXD, Python, Go, C, Postgresql, Mongo, Debian packaging, distributed systems
What we offer colleagues:
- 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 recognize 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.
- Distributed work environment with twice-yearly team sprints in person - we’ve been working remotely since 2004!
- 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 from your team and others
- Priority Pass for travel 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.
Software Engineer, Sustaining Engineering employer: Canonical Group Ltd
Canonical is an exceptional employer that fosters a culture of growth and collaboration, making it an ideal place for an Organisational Development Associate. With a focus on coaching and professional development, employees are empowered to take ownership of their work while enjoying the flexibility of remote work. The opportunity to engage with real teams and travel for hands-on experience further enriches the role, ensuring meaningful contributions to team dynamics and organisational success.
StudySmarter Expert Advice🤫
We think this is how you could land Software Engineer, Sustaining Engineering
✨Join Local Tech Meetups
Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at Canonical Group Ltd or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!
✨Contribute to Open Source Projects
Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to Canonical Group Ltd.
✨Tap into Online Developer Communities
Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like Canonical Group Ltd.
✨Explore Job Boards Specifically for Tech Roles
Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like Canonical Group Ltd that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!
We think you need these skills to ace Software Engineer, Sustaining Engineering
Some tips for your application 🫡
Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.
Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at Canonical Group Ltd.
Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Canonical Group Ltd and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!
Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!
How to prepare for a job interview at Canonical Group Ltd
✨Brush Up on Your Coding Skills
For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.
✨Know Your Tools and Frameworks
Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If Canonical Group Ltd uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.
✨Showcase Your Projects
Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.
✨Prepare for Behavioural Questions
While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.