Jobs Career Advice Signup

Send this job to a friend


Did you notice an error or suspect this job is scam? Tell us.

  • Posted: Mar 16, 2023
    Deadline: Not specified
  • Never pay for any CBT, test or assessment as part of any recruitment process. When in doubt, contact us

    Canonical is a unique tech company - global, remote-first, open source, with 700 professionals across 50 countries - we want to be the world's best, not biggest, global software company.
    Read more about this company


    Kernel Engineer - Ubuntu Linux

    About The Job

    Job Summary
    Are you passionate about the Linux kernel? Or maybe you've mastered a different low-level software development environment and are ready for a new challenge in Linux? Are you looking to work on a great team, where you can apply and grow your kernel development skills?

    • This is an exciting time at Canonical, where due to a period of unprecedented growth we are seeking a number of software engineers to join our Kernel Team to play an integral part in the delivery of the heart of the most popular Linux distribution in the world.
    • The Canonical Linux Kernel Team is responsible for developing and maintaining all supported Ubuntu Linux kernels, which run on a variety of platforms and architectures from small embedded devices to standard desktop/server systems to large scale cloud environments. The Kernel Team has openings for software engineers in a number of aspects that include but are not limited to:
      • Ubuntu Linux distribution
      • Optimized Ubuntu solutions for key Silicon and Cloud partners
      • Developer platforms such as Raspberry Pi and RISC-V
      • Enabling Ubuntu on a wide range of embedded systems
      • Livepatch service, which allows Ubuntu customers to apply critical kernel (CVE) security fixes without rebooting
      • FIPS compliance
      • Real-Time and Low Latency systems
      • Virtualization or abstraction engines
      • Security

    We are seeking candidates of all experience levels from recent University graduates up through seasoned industry experts who are enthusiastic to develop software in multiple areas including security mitigation, feature development, patching and test.

    • This person must have a background in software engineering, be motivated to work in a distributed team and willing to travel globally up to 4 times a year for internal and external engineering events.

    What You'll Do:

    • Collaborate regularly and proactively with a globally distributed team
    • Work closely with external silicon, cloud, or hardware manufacturer delivery teams on bleeding edge platforms
    • Diagnose and resolve issues in the kernel reported by customers and the community
    • Take personal responsibility for the delivery of various flavors of the Ubuntu Linux kernel
    • Improve tooling and automation for delivery and test of Ubuntu Linux kernels
    • Submit, review, and apply kernel patches, working with both internal and external upstream maintainers

    Who You Are:

    • Well-organized, self-starting and able to deliver to fixed schedules
    • Demonstrated ability to present oneself in a professional manner when interacting with colleagues, business partners, and the open source community
    • Ability to communicate effectively in English, both written and oral
    • Earned a bachelor's (or equivalent university level) degree, preferably in a technology field
    • Significant programming experience in C, with Python and Bash scripting also highly regarded
    • Solid background with git
    • Broad knowledge of the Linux kernel and kernel subsystems
    • Demonstrated experience with kernel patching and debugging
    • Knowledge/experience with Linux kernel upstream processes and release cycle
    • Strong grasp of device drivers, BSP's, and other low level system engineering
    • Prior experience with Ubuntu/Debian/Snap packaging would be highly regarded

    go to method of application »

    Senior Bootloader & System Engineer - Ubuntu Linux

    About The Job

    Job Summary
    We are seeking an experienced software engineer passionate about Linux systems, hardware architectures, Ubuntu, and the open source community, to join the Ubuntu Foundations Engineering team to maintain and enhance Ubuntu bootloader stack to provide fast, reliable and secure Ubuntu systems on all devices and in the cloud.

    • The boot process is one of the most critical aspects of any operating system where stability, reliability and security are paramount. 
    • Its efficiency and quality contribute to Ubuntu's success from Desktop, Server to the Cloud. 
    • We are expanding our Foundations team to focus our efforts on this essential function and are looking for people passionate about lower level technologies from the hardware, to the firmware, and Linux itself, involved in an operating system startup. 
    • Applicants should be comfortable working with Secure Boot, Measured Boot, Full Disk Encryption and other technologies used during modern operating systems boot process.
    • This is highly technical work, and we are looking for a colleague with a very careful and systematic approach to their software. 
    • This work is critical to system security and reliability.
      • As a Linux System Engineer, you will work on the architecture, design and development of core components involved in the boot and startup of the Ubuntu Distribution, often interacting with the upstream community for projects like Grub, shim and u-boot. 
      • You will be discussing design with other team members and mentor less senior engineers and participate in code reviews and design reviews. 
      • You will also be working with other teams to ensure architecture decisions improve the overall performance and experience of Ubuntu.

    What you'll do:

    • Collaborate proactively with a distributed team
    • Work with highly technical team to define and shape the boot architecture of Ubuntu
    • Work with teams focused on Ubuntu for server, desktop, IoT and clouds
    • Write high quality code to create new features and contribute upstream
    • Contribute to feature and bug fixes in projects including Grub, shim, u-boot and associated tools.
    • 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 weeks a year for internal and external events

    Valued Skills, Approach And Experience:

    • Development experience with early boot software like TF-A, OP-TEE, U-Boot, shim, GRUB, or the Linux kernel.
    • Experience on non x86 platforms such as ARM, RISC-V
    • A love of technology and working with brilliant people
    • Motivated, curious, flexible, articulate, and accountable
    • A long-time Linux user with broad interests in the future of Linux
    • Experience or interest in learning how to package software for Debian and Ubuntu
    • You have a Bachelor's or equivalent in Computer Science, STEM or similar degree
    • Enterprising, thoughtful, and self-motivated

    What Canonical offers:

    • Personal learning and development budget
    • Annual compensation review
    • Recognition rewards
    • Annual leave
    • Priority Pass for travel

    Method of Application

    Use the link(s) below to apply on company website.


    Build your CV for free. Download in different templates.

  • Send your application

    View All Vacancies at Canonical Ghana Back To Home

Subscribe to Job Alert


Join our happy subscribers

Send your application through

GmailGmail YahoomailYahoomail