Taro Logo

System Software Engineer - GCC/LLVM compiler, tooling, and ecosystem

Leading provider of open source software and operating systems, creator of Ubuntu, serving global enterprise and technology markets.
Emeabiam, Imo, Nigeria
Backend
Senior Software Engineer
Remote
1,000 - 5,000 Employees
5+ years of experience
Enterprise SaaS

Job Description

Canonical, the company behind Ubuntu, is seeking a System Software Engineer to focus on GCC/LLVM compiler technology and ecosystem. This role is part of the Ubuntu Foundations Team, which delivers the core Ubuntu system. The position involves working on critical toolchains for Ubuntu development, specifically focusing on C and C++ programming languages and their ecosystem.

The ideal candidate will have strong expertise in modern C/C++, Linux distributions, and open source software. You'll be responsible for ensuring Ubuntu provides the best possible GCC and LLVM runtimes, developer experience, and supporting tooling. This role impacts every aspect of Ubuntu from Desktop to Server, Ubuntu Core, and cloud images.

As part of a distributed team of 1200+ colleagues across 75+ countries, you'll collaborate on making Ubuntu the premier platform for developing and running C/C++ applications across various environments. The role offers the opportunity to work with cutting-edge programming language innovations and shape the future of Ubuntu's development ecosystem.

Key responsibilities include integrating and packaging tooling, writing new features, debugging issues, and participating in code reviews. You'll work closely with other teams to improve Ubuntu's overall performance and experience. The position requires occasional international travel (2-4 weeks yearly) for team meetings and events.

Canonical offers a comprehensive benefits package including learning and development budget, annual compensation reviews, parental leave, and wellness programs. The company values diversity and maintains a fully distributed work environment, with regular in-person team meetings in interesting locations worldwide.

This is an excellent opportunity for someone passionate about compilers, runtimes, and toolchains to make a significant impact on one of the world's most important open source platforms while working with industry leaders in technology.

Last updated 5 months ago

Responsibilities For System Software Engineer - GCC/LLVM compiler, tooling, and ecosystem

  • Select, integrate and package best-of-breed tooling with Ubuntu to improve developer and operator experience with GCC and LLVM
  • Write high-quality code to create new features
  • Debug issues and produce high-quality code to fix them
  • Review code produced by other engineers
  • Discuss ideas and collaborate on finding good solutions
  • Work from home with global travel 2 to 4 weeks a year for internal and external events

Requirements For System Software Engineer - GCC/LLVM compiler, tooling, and ecosystem

Linux
  • Relevant GCC or LLVM experience, ideally in cloud-native software and Linux
  • Experience in packaging software for Debian and Ubuntu
  • Long-time Linux user
  • Exceptional academic track record from both high school and university
  • Undergraduate degree in a technical subject
  • Ability to travel internationally twice a year for company events up to two weeks long

Benefits For System Software Engineer - GCC/LLVM compiler, tooling, and ecosystem

Education Budget
Parental Leave
Mental Health Assistance
  • 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

Related Jobs

Golang System Software Engineer - Containers / Virtualisation

Senior Golang engineer role at Canonical, focusing on container and virtualization technologies for next-gen cloud infrastructure. Remote position with global collaboration.

MES Software Engineer

Senior MES Software Engineer position at Dangote Refinery, focusing on developing and integrating manufacturing execution systems for refinery operations.

MES Software Engineer

Senior MES Software Engineer position at Dangote Refinery, developing and maintaining manufacturing execution systems with 5+ years experience required.

Senior Java Engineer

Senior Java Engineer position at SWATX in Abuja, Nigeria, requiring 5+ years of experience in Java development, Spring framework, and microservices architecture.

Senior Backend Engineer

Senior Backend Engineer position at Kuda Technologies Ltd in Lagos, Nigeria. 4+ years experience in .Net/.Net Core required. Hybrid work arrangement.