Software Engineer, Ubuntu Core, Job in Kenya

As a senior team member, you’ll be designing and implementing software that runs on various CPU architectures, such as ARM, RISC-V, and X86. You will work on boot mechanisms, bootloaders, storage partition layout, device trees, kernel, services, and userspace applications to manage the system via RESTful APIs.

Build a rewarding, meaningful career working with the best and brightest people in technology at Canonical, a growing international software company.

Responsibilities

Develop system daemons with REST APIs in Golang

Integrate diverse bootloaders and maintain gadget snaps

Collaborate proactively with a distributed team

Write high quality code with unit tests to create new features

Debug issues and produce high quality fixes

Review code produced by other engineers

Discuss ideas and collaborate on finding good solutions

Work from home with global travel 2 to 4 times a year for internal and external events

Qualifications


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 a Bachelor’s or equivalent in Computer Science, STEM or similar degree

You have experience with Golang, C/C++, and Shell

You have a solid understanding of Linux and a modern GNU/Linux distribution, Debian or Ubuntu preferred

You have experience or interest in low-level system and security facilities such as:

Bootloaders in ARM and X86, such as piboot, uboot, grub-uefi

Systemd and units, udev, initrd, graphics

OS level firmware daemons and CLI applications

Linux security implementations – TPM, FDE, LUKS, HSM, etc.

You have experience with API design and development – REST/gRPC or similar

You have personal or professional experience with Linux-capable devices such as Raspberry Pi

How To Apply

Click here to apply