At a Glance
- Tasks: Resolve complex software issues and develop bug fixes for Ubuntu and open source technologies.
- Company: Join Canonical, a leader in open source software and innovation.
- Benefits: Enjoy remote work, competitive pay, and a personal development budget.
- Other info: Work in a dynamic, global team with excellent career growth opportunities.
- Why this job: Make a real impact in the tech world while working with brilliant minds.
- Qualifications: Experience in software engineering and strong Linux skills required.
The predicted salary is between 28800 - 48000 £ 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 is an opportunity for a technologist with a passion for Linux and open source to build a career with Canonical and drive success for our customers, community and the company. If you have an affinity for open source development, great communication skills, and a passion for troubleshooting and fixing issues in technology used by millions across the world, then you will enjoy working with some of the best people in the industry at Canonical.
Location: This is a remote role, we have teams in all time zones. 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.
- We balance our programs to meet local needs and ensure fairness globally.
- 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
Contact Detail:
Canonical Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Software Engineer, Sustaining Engineering
✨Tip Number 1
Network like a pro! Reach out to folks in the industry, especially those at Canonical. Use LinkedIn or tech meetups to connect with current employees and get the inside scoop on the company culture and the role.
✨Tip Number 2
Show off your skills! Prepare for technical interviews by brushing up on your coding skills and understanding the technologies mentioned in the job description, like Linux, Kubernetes, and Python. Practice coding challenges to get into the groove.
✨Tip Number 3
Be ready to discuss your projects! Whether it's open-source contributions or personal projects, have examples ready that showcase your problem-solving skills and passion for technology. This is your chance to shine!
✨Tip Number 4
Apply through our website! It’s the best way to ensure your application gets seen. Plus, it shows you’re genuinely interested in joining Canonical and being part of the open-source revolution.
We think you need these skills to ace Software Engineer, Sustaining Engineering
Some tips for your application 🫡
Show Your Passion for Open Source: When writing your application, let us see your enthusiasm for open source software. Share any personal projects or contributions you've made to the community; it really helps us understand your commitment and passion!
Tailor Your CV and Cover Letter: Make sure to customise your CV and cover letter for the Software Engineer role. Highlight relevant experience with Linux, Ceph, OpenStack, or Kubernetes, and showcase your problem-solving skills. We love seeing how you fit into our world!
Be Clear and Concise: Keep your application clear and to the point. Use straightforward language and avoid jargon unless it's necessary. We appreciate good communication skills, so make sure your writing reflects that!
Apply Through Our Website: Don’t forget to apply through our website! It’s the best way for us to receive your application and ensures you’re considered for the role. Plus, it’s super easy to do!
How to prepare for a job interview at Canonical
✨Know Your Tech Stack
Make sure you’re well-versed in the technologies mentioned in the job description, especially Linux, Ceph, OpenStack, and Kubernetes. Brush up on your coding skills in Python, Go, C, or C++ as you might be asked to solve problems on the spot.
✨Show Your Troubleshooting Skills
Prepare to discuss specific examples of how you've tackled complex issues in the past. Be ready to explain your thought process and the tools you used, like gdb for debugging. This will demonstrate your hands-on experience and problem-solving abilities.
✨Communicate Clearly
Since this role involves collaboration with various teams, practice articulating your thoughts clearly and concisely. You might be asked to explain technical concepts to non-technical team members, so being able to simplify your language is key.
✨Engage with the Community
Familiarise yourself with Canonical’s open-source community. Mention any contributions you’ve made or projects you’ve been involved in. Showing your passion for open source and willingness to engage with the community can set you apart from other candidates.