Ubuntu Core Software Engineer
Role details
Job location
Tech stack
Job description
As an Ubuntu Core 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 and services., 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 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
- Team Member Assistance Program & Wellness Platform
- Opportunity to travel to new locations to meet colleagues
- Priority Pass and travel upgrades for long-haul company events
Requirements
- 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 C or Golang, and Shell
- You have a solid understanding of Linux and a modern GNU/Linux distribution, Debian or Ubuntu preferred
- You have personal or professional experience with Linux-capable devices such as Raspberry Pi
- You have interest in learning or experience in one or more low-level systems 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 may have experience or knowledge of Yocto
Benefits & conditions
- Write high quality code with unit tests to create new features
- Debug Linux system level issues and produce high quality code to fix them
- Collaborate proactively with a distributed team
- Review code produced by other engineers
- Discuss ideas and collaborate on finding good solutions
- Integrate diverse bootloaders and maintain gadget snaps
- Work from home with global travel 2 to 4 times a year for internal and external events