
Canonical
At Canonical, we are committed to delivering open-source solutions faster, more securely, and more cost-effectively than any other company. We are the creators of Ubuntu, the world’s most popular enterprise Linux, which powers everything from cloud servers to edge devices. Ubuntu is driven by a passionate global community of over 200,000 contributors, and it stands for “humanity to others.” This embodies the generosity and innovation at the core of open source.
Ubuntu is the platform that runs on tiny connected devices to the world’s biggest mainframes. It powers the public cloud and serves as the workstation experience for the world’s most productive developers. Secure, reliable, and open for innovation, Ubuntu continues to lead the way as the fastest-growing Linux distribution.
Location: Lagos (Remote)
Position Overview
We are looking to fill the role of a Software Engineer on the Core Desktop team. In this position, you will play a crucial role in building the next generation of the immutable Ubuntu desktop. Our goal is to bring Linux desktops back to the forefront of security, reliability, and usability.
The project combines the best aspects of immutable Linux and the latest Linux desktop experience, providing a platform for developers worldwide to create and innovate. You will primarily work with system languages like C/C++ and occasionally Python, Shell scripting, Go, and Dart/Flutter.
This position offers a fantastic opportunity for growth in a fast-paced environment, with your contributions shaping the future of Ubuntu’s Core Desktop.
Key Responsibilities
- Design and develop core components of the Ubuntu Desktop.
- Work with advanced Linux container technologies such as kernel namespaces, cgroups, apparmor, and seccomp.
- Write high-quality, efficient, and reliable code used by millions of users daily.
- Collaborate closely with team members to enhance the immutable desktop experience.
- Participate in code reviews and gain insights into best practices and architecture.
- Engage with the Ubuntu community to gather user feedback and implement improvements.
- Contribute to documentation to enhance learning for both current and future team members.
- Troubleshoot and resolve issues reported by users, gaining valuable debugging and problem-solving experience.
- Actively participate in team meetings and sprints to discuss progress and challenges.
Requirements
We are looking for someone who has:
- Strong academic achievements and a technical degree, or a compelling narrative about your alternative path.
- A solid understanding of software development methodologies and life cycles.
- A passion for technology and a desire to collaborate with intelligent, motivated colleagues.
- Eagerness to learn and adapt, with a particular interest in immutable desktop environments.
- Hands-on experience with Linux containerization technologies such as kernel namespaces, cgroups, apparmor, or seccomp.
- Experience with Linux desktop environments like XDG portals, free desktop specifications, systemd, GRUB, etc.
- Proficiency in C/C++, Go, Python, and Shell scripting.
- Excellent communication skills for both internal team collaboration and external interactions.
- Willingness to travel twice a year for company events lasting up to two weeks.
Additional Skills That Are a Plus
- Familiarity with Rust, Golang, or Dart/Flutter.
- Proactive problem-solving skills and the ability to identify new opportunities.
- Curiosity, adaptability, and a strong sense of accountability.
- Strong soft skills, including self-motivation, enterprise, and passion for technology.
What We Offer
- Competitive compensation based on your experience, location, and performance.
- A performance-driven annual bonus.
- A personal learning and development budget of USD 2,000 per year.
- Annual compensation reviews to ensure we recognize and reward top performers.
- A distributed work environment with in-person team sprints twice a year.
- Comprehensive benefits including maternity/paternity leave, annual leave, and an Employee Assistance Programme.
- The opportunity to travel to new locations for team events and meet-ups.
- Priority Pass and travel upgrades for long-haul company events.
To apply for this job please visit job-boards.greenhouse.io.