Job Vacancies @ Canonical Nigeria – 3 Positions

Canonical - We deliver open source to the world faster, more securely, and more cost-effectively than any other company. We develop Ubuntu, the world’s most popular enterprise Linux from cloud to edge, together with a passionate global community of 200,000 contributors. Ubuntu means 'humanity to others. We chose it because it embodies the generosity at the heart of open source, the new normal for platforms and innovation. Together with a community of 200,000, we publish an operating system that runs from the tiny connected devices up to the world's biggest mainframes, the platform that everybody uses on the public cloud, and the workstation experience of the world's most productive developers. Secure and reliable, elegant and intuitive, and open for innovation - Ubuntu is the future of open source, which is why it's the fastest-growing Linux in the world despite already being the most widely deployed.
We are recruiting to fill the following positions below:
1.) Software Engineer - Immutable Ubuntu Desktop
2.) Software Engineering Manager - Ubuntu Linux Kernel
3.) Linux Kernel Engineer - Ubuntu
See job details and how to apply below.
1.) Software Engineer - Immutable Ubuntu Desktop
Job Title: Software Engineer - Immutable Ubuntu Desktop
Location: Lagos (This is a home-based position on a team in the EMEA region)
What your day will look like
- Design and develop elements of the Core Desktop.
- Work with the latest Linux container technologies - kernel namespaces, cgroups, apparmour, seccomp and more
- Write high quality, defensive and performant code for millions of demanding daily users
- Collaborate with team members to understand the intricacies of immutable desktops.
- Participate in code reviews to gain a deep understanding of quality standards and architecture.
- Engage with the Ubuntu community to gather user feedback and insights.
- Contribute to documentation to aid in your learning and that of future team members.
- Take part in regular team meetings to discuss progress, challenges, and upcoming development sprints.
- Troubleshoot and resolve user-reported issues, gaining experience in debugging and problem-solving.
What we are looking for in you
- An undergraduate Degree in a Technical subject or a compelling narrative about your alternative chosen path.
- Outstanding academic results
- An understanding of software development methodologies and life cycles.
- A passion for technology and a drive to work with intelligent, motivated colleagues.
- Willingness to learn and adapt, with a keen interest in the challenges of immutable desktop environments.
- Skills in Linux containerisation technologies - kernel namespaces, cgroups, apparmour, or seccomp
- Skills in Linux desktop environments - XDG portals, free desktop specifications, systemd, GRUB etc.
- Skills in C/C++, Go, Python and Shell scripting.
- Good communication skills for both internal and external interactions.
- Ability to travel twice a year, for company events up to two weeks long.
Additional skills that you might also bring:
- Familiarity with Rust, Golang and Dart / Flutter is a plus.
- Initiative to proactively identify opportunities and solve challenges.
- Curiosity, flexibility, and a strong sense of accountability.
- A focus on soft skills, including passion, enterprise, and self-motivation.
Application Closing Date
Not Specified.
How to Apply
Interested and qualified candidates should:
Click here to apply online
2.) Software Engineering Manager - Ubuntu Linux Kernel
Job Title: Software Engineering Manager - Ubuntu Linux Kernel
Location: Lagos
Description
- We are hiring Software Engineering Managers to lead technical teams in the various aspects of the delivery and ongoing support and maintenance of all Linux kernels provided by the Ubuntu Linux distribution.
- As the Linux kernel itself is now quite broad, so are the technical domains and challenges involved, ranging from integrating support for bleeding-edge hardware into the latest Ubuntu kernels, to expanding the range of execution environments available to Ubuntu, to the complexities inherent in applying the latest fixes and updates to all of the >100 Ubuntu Linux kernels under active support during our Stable Release Update cycles.
- This role would suit either an experienced manager of high performing software development teams, or a very proficient technical lead who is excited to take on a management responsibility.
- You will need to be passionate about Linux and aspire to be an integral part in its distribution to millions of users worldwide.
- As an Engineering Manager at Canonical, your primary responsibility is to your team: helping them grow as engineers, do important and satisfying work, and have a great time while doing it.
- Technical leadership experience and a background in software engineering are necessary prerequisites for this role. You will be expected to lead, challenge, and develop strong engineers, positively influence the culture, facilitate technical delivery, and work with your team on strategy and execution.
The role entails
- Leading a distributed team of software engineers in your geographic region in distinct aspects of delivery of all Linux kernels for the Ubuntu Linux distribution
- Taking ownership of particular aspects of Ubuntu Linux which can include but not be limited to:
- Working with silicon or cloud partners to implement Linux kernels optimised for their execution environments
- Ensuring Ubuntu Linux is able to run on a wide range of diverse hardware platforms
- Definition and execution of the stringent quality control standards expected by the Ubuntu user community
- Mitigation of the latest security threats and exploits to the Linux kernel
- Strong process automation as it pertains to the build, test, and delivery of the Linux kernel
- Engagement with other teams at Canonical, the open source community and commercial partners.
What we are looking for in you
- Significant programming experience in C, with Python, Golang, or other like languages is also highly regarded
- Substantial experience with operating system kernel internals and concepts, Linux would be highly regarded but not essential
- Demonstrated experience managing or leading a team of software engineers
- Ability to coordinate between multiple distinct teams of differing technical focus to achieve common goals
- Familiarity with version control practices, ideally with git
- Prior experience developing with software packaging formats, with direct Ubuntu/Debian/Snap experience being highly regarded
- Professional written and spoken English with excellent presentation skills
- Ability to travel internationally twice a year for company events up to two weeks long.
Nice-to-have skills:
- Demonstrated experience with kernel patching and debugging
- Strong grasp of device drivers, BSP’s, and other low level system engineering
- Solid background in driving CI/CD and process automation initiatives
- Prior public involvement with an open source project.
Location:
- Working from home, worldwide.
- We have kernel teams and openings in every time zone and with the notable exception of Taipei, Taiwan, have no offices and therefore no pressure to work from an office.
Application Closing Date
Not Specified.
How to Apply
Interested and qualified candidates should:
Click here to apply online
3.) Linux Kernel Engineer - Ubuntu
Job Title: Linux Kernel Engineer - Ubuntu
Location: Lagos, Nigeria
Job Type: Full Time
About the Role
- Canonical has a large and rapidly growing kernel team that underpins Ubuntu and open source more widely across a very wide range of hardware and use cases. We partner with the biggest kernel contributors - the silicon companies - to ensure that their work reaches the widest possible audience as quickly as possible, with a 10 year enterprise security commitment.
- The Canonical Linux Kernel Organization has teams in every time zone. We have opportunities for technical leadership, engineering management, and engineering directorships.
- The team is responsible for all supported Ubuntu Linux kernels, on all platforms and architectures from small embedded devices to standard desktop/server systems to large scale cloud environments, mainframes and supercomputers.
- We care most about hardware and virtualization enablement, security, reliability and performance. There are a number of areas where we lead upstream, but for the most part we are interested in ensuring production readiness and performance for the latest patch-sets, rather than subsystem maintenance or evolution.
- Kernel Team projects include but are not limited to:
- Ubuntu Linux kernel plan, execution, benchmarking and stress testing
- Optimized kernels for key silicon and cloud partners
- Confidential computing and next-generation security primitives
- Developer platforms such as Raspberry Pi and RISC-V
- Enabling Ubuntu on a wide range of embedded systems
- Kernel Livepatch, which delivers critical kernel fixes without rebooting
- FIPS compliance
- Real-Time and Low Latency kernel variants and patch-sets
- Virtualization or abstraction engines
- Container technology
- Security with AppArmor, SECCOMP, namespaces and more
- Networking - in particular performance and security
- Storage - we are particularly interested in Ceph and DRBD
- We hire candidates of all experience levels from recent university graduates through seasoned industry experts. We select those who are enthusiastic to work in multiple areas including security mitigation, feature development, patching and test.
- You must have outstanding academic results, a background in software engineering, be motivated to work in a distributed team and willing to travel globally twice a year for company engineering events.
- Location: Working from home, worldwide. We have kernel teams and openings in every time zone and – with the notable exception of Taipei, Taiwan – have no offices and therefore no pressure to work from an office.
Responsibilities
What the role entails:
- Collaborate regularly and proactively with a globally distributed team
- Work closely with external silicon, cloud, or hardware manufacturer delivery teams on bleeding-edge platforms
- Diagnose and resolve issues in the kernel reported by customers, the community, and discovered by your own rigorous testing
- Take personal responsibility for the delivery of a flavour of the Ubuntu Linux kernel
- Improve tooling and automation for delivery and test of Ubuntu Linux kernels
- Submit, review, and apply kernel patches, working with both internal and external upstream maintainers
Requirements
What we are looking for in you:
- Significant programming experience in C, with Python, Golang, or other like languages is also highly regarded
- Experience with operating system kernel internals and concepts, Linux would be highly regarded but not essential
- Solid background with git
- Experience with Linux (Debian or Ubuntu preferred)
- Professional written and spoken English with excellent presentation skills
- Ability to travel twice a year, for company events up to two weeks each
Nice-to-have skills:
- Strong grasp of device drivers, BSP’s, and other low level system engineering
- Prior experience developing with software packaging formats, with direct Ubuntu/Debian/Snap experience being highly regarded
- Understanding of Linux kernel upstream processes and release cycle
- Performance engineering and security experience
- Solid background in CI/CD and process automation
- Prior public involvement with an open source project.
Application Closing Date
Not Specified.
How to Apply
Interested and qualified candidates should:
Click here to apply online