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 position below:
Job Title: Linux Devices Software Engineer - Snapd
Location: Lagos (Remote)
Job Summary
We are hiring a Linux devices software engineer on our SnapD team to work on mission-critical Golang code, focused on software delivery, containers, security sandboxing, telemetry and device management.
Snaps are next-generation software packaging and delivery for Linux.
They are designed for safety, security and robustness, with application-specific confinement of containers optimised for IoT devices, desktops and servers. Our goal is that snaps work across multiple Linux flavors to ensure that publishers have the simplest way to reach the whole Linux world.
This role requires an obsession with quality and performance, for work at the heart of the operating system. It also requires an interest in the software publishing and consumption experience.
Applicants should be passionate about open source software development. We value collaboration, peer reviews, good unit/integration testing and maintainable code.
General knowledge and experience with Linux as a developer platform is required. Having previous experience with Golang is very nice to have.
The role entails
Collaborate proactively with a distributed team
Write high quality code to create new features
Debug Linux system level issues and produce high quality code to fix them
Review code produced by other engineers
Discuss ideas and collaborate on finding good solutions
Obsess over how to achieve robustness despite unexpected events like power outages
Work from home with global travel for up to two weeks, twice a year
What we are looking for in you
You have a Bachelor’s or equivalent in Computer Science, STEM or similar degree
You love technology and working with brilliant people
You are curious, flexible, articulate, and accountable
You value soft skills, are thoughtful and self-motivated
You have professional software development experience using Go, Python, C, or C++
You know Linux system-level fundamentals, e.g. cgroups, namespaces, apparmor
Commitment to software testing, code reviews and maintainable code.
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 recognise outstanding performance. In addition to base pay, we offer a performance-driven annual bonus or commission.
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
Opportunity to travel to new locations to meet colleagues
Priority Pass, and travel upgrades for long haul company events.