
Software Maintenance Engineer
Canonical · NAMER
- Hybrid
- Full-time
- $100,000 / year
- NAMER
Job highlights
- Maintain Linux infrastructure and applications.
- Resolve complex open source issues.
- Collaborate with global engineering teams.
- Develop upstream bug fixes.
- Build a career in open source.
About the role
About Canonical
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.Software Maintenance Engineer Role Overview
We are hiring a Software Maintenance Engineer to work in a dynamic and exciting engineering role in Linux-based infrastructure and applications, covering all layers of the stack. This role will challenge you to show the breadth of your engineering skills, which will be needed to work on almost any aspect of Ubuntu and the open source applications large enterprise customers run. 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 software, 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.This role deals with critical issues in the open source stack that require upstream bug fixes. Our engineers are able to work productively at any level of the stack including the kernel and in a wide range of languages, to understand and address the software issues at hand. Our group is critical to the success of our 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.
The Role Entails
- Resolve complex customer problems related to Ubuntu, Kernel, Ceph, OpenStack, or Kubernetes and other open source software
- Maintain a close working relationship with Canonical's Field, Support and product engineering teams
- Participate in upstream communities
- Develop bug fixes, backport patches, and work with upstream for inclusion
- Review code produced by other engineers
- Demonstrate good judgment in technical methods and techniques
- Prioritize work and manage your time effectively against those priorities
- Participate in team discussions to improve processes, tools, and documentation
- Maintain clear, technical and concise communications
- Work from home and travel internationally up to 10% of work time for team meetings, events and conferences
What We Are Looking For In You
- An exceptional academic track record
- Background in Computer Science, STEM or similar
- Experience with Linux and open source software
- Experience with at least one of Python, Go, C or C++ on Linux
- A drive to learn unfamiliar technology and deep-dive difficult issues
- 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, or willingness to learn about any of the following: Ubuntu Linux - kernel or userspace, Kubernetes, OpenStack, Ceph, QEMU/KVM, LXC/LXD, 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
- 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 & 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.Key skills/competency
- Linux
- Open Source Software
- Ubuntu
- Kernel
- Ceph
- OpenStack
- Kubernetes
- Python
- Go
- C++
Skills & topics
- Software Maintenance Engineer
- Linux
- Open Source
- Ubuntu
- Kernel
- Ceph
- OpenStack
- Kubernetes
- Python
- Go
- C
- C++
- Remote
How to get hired
- Tailor your resume: Highlight Linux, open source, and programming skills.
- Showcase problem-solving: Detail experience with bug fixes and complex issue resolution.
- Emphasize collaboration: Mention experience working with diverse, global teams.
- Prepare for technical interviews: Be ready to discuss kernel, containers, and cloud technologies.
- Highlight open source passion: Demonstrate your contributions or interest in open source communities.
Technical preparation
Master Linux command line and system administration.,Practice debugging and code analysis skills.,Contribute to or study open source projects.,Review documentation on Kubernetes, Ceph, OpenStack.
Behavioral questions
Describe a complex technical problem you solved.,How do you handle tight deadlines and priorities?,Share an experience collaborating with a global team.,How do you approach learning new technologies?
Frequently asked questions
- What is the work arrangement for the Software Maintenance Engineer role at Canonical?
- The Software Maintenance Engineer role at Canonical is a remote position, offering flexibility to work from home across all time zones. Canonical is a pioneer in distributed collaboration, with most colleagues working remotely. While the role is primarily remote, there is an expectation of international travel up to 10% of the time for team meetings and events.
- What programming languages are essential for the Software Maintenance Engineer position at Canonical?
- Canonical requires experience with at least one of the following programming languages on Linux: Python, Go, C, or C++. Proficiency in these languages is crucial for developing bug fixes, backporting patches, and addressing software issues at various levels of the stack, including the kernel.
- What specific open-source technologies are relevant for the Software Maintenance Engineer role at Canonical?
- The Software Maintenance Engineer role involves working with a wide range of open-source technologies. Key areas include Linux, Ubuntu, the Linux kernel, Ceph, OpenStack, Kubernetes, KVM, LXC/LXD, OVS, OVN, and various open-source applications. Familiarity with or willingness to learn these technologies is highly valued.
- Does Canonical offer opportunities for professional development for its Software Maintenance Engineers?
- Yes, Canonical offers a personal learning and development budget of USD 2,000 per year for all team members. This benefit reflects the company's commitment to continuous learning and growth, enabling Software Maintenance Engineers to enhance their skills and explore new technologies.
- What is the compensation structure for a Software Maintenance Engineer at Canonical?
- Canonical's compensation structure considers geographical location, experience, and performance. In addition to base pay, the company offers a performance-driven annual bonus. Compensation is reviewed annually to recognize outstanding performance, and benefits are designed to be fair globally while meeting local needs.