Canonical is a leading provider of open source software and operating systems, known for its Ubuntu platform. The role involves collaborating within a distributed team to optimize Ubuntu for new silicon technologies and ensuring high-quality software standards across various platforms and technologies.
Responsibilities:
- Collaborating proactively within a distributed team
- Fostering a software ecosystem with seamless user experience for all Ubuntu users
- Evaluating contributions of other engineers to maintain high-quality software standards
- Playing a role in shaping the future of Ubuntu via both - new ideas in your areas of interest and advising on work being done elsewhere
- Collaborating with other teams in the Ubuntu and Debian communities, with upstream projects, and commercially supported customers
- Debugging issues on open source code and team maintained code
- Helping our our customers to integrate their apps, SDKs, build OS images, optimize applications with Ubuntu Core, Desktop and Server
- Working with a team to maintain Ubuntu, silicon features, and silicon-optimized packages across platforms and technologies such as:
- Servers, HPC and AI systems, IoT devices, PCs, SmartNICs and automotive systems
- AI stacks
- Graphics, audio and multimedia stacks
- Virtualisation and Containers
- Hardware enablement stacks
- New architectures, architecture variants and optimized toolchains
- Package management and dependencies
- Platform security (secure boot, FDE, Ubuntu Core, Confidential Computing)
- Work from home with global travel 2 to 4 weeks for internal events
Requirements:
- Exceptional academic track record from both high school and university
- Undergraduate degree in a technical subject or a compelling narrative about your alternative chosen path
- 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 value building partnerships with a diverse set of internal and external groups
- Strong fundamentals in C, C++ and Python
- Experience or interest in learning Linux distribution packaging
- Experience or Interest in open source maintenance or contribution and licenses
- Fundamental understanding of package management and dependency resolution
- Experience with one or more of the following: Graphics, audio, or multimedia stacks
- Virtualization and containers (Docker, OCI, Kubernetes)
- Hardware enablement for platforms and devices, including SmartNICs, NVMe storage, GPUs, audio components, and sensors
- Performance optimization
- Toolchain development and maintenance
- Networking protocols and technologies (TCP/IP, DHCP, HTTP/REST)
- Security best practices
- IoT and embedded systems, including board-level hardware, SoCs, BMCs, bootloaders, firmware, operating systems, applications, and services