Linux Software Engineer
Role details
Job location
Tech stack
Job description
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 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, 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
Benefits
Distributed work environment with twice-yearly team sprints in person
Personal learning and development budget of USD 2,000 per year
Annual compensation review
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
Additional Skills That You Might Also Bring
Experience with one or more of the following:
Graphics, audio, or multimedia stacks
Virtualization and containers (Docker, OCI, Kubernetes)