Senior/Staff/Principal Engineer

Contract type
Ongoing
Work mode
Remote · Worldwide
Experience
Lead / principal · Not stated

Level inferred from job title

Job description

A general track for Senior+ (Senior/Staff/Principal) software engineers across Canonical's engineering teams, working on open source software at every level of the stack. After the first interview round, candidates are matched with teams that fit.

At a glance

Employment
Full-time
Work mode
Remote · Worldwide
Languages
English – fluent

What you'll do

  • Leading design and architecture of an impactful open source project
  • Coding in Golang, Rust, Python, C/C++ or Typescript / React
  • Collaborating proactively with a globally distributed team
  • Mentoring, developing and advising colleagues in their career progression
  • Displaying technical leadership in Canonical and our communities
  • Debugging issues and producing high-quality code to fix them
  • Contributing to technical documentation with the aim to make it the best of its kind
  • Working from home with global travel twice annually for company events

What we're looking for

  • An exceptional academic track record from both high school and university
  • Undergraduate degree in Computer Science or STEM, or a compelling narrative about your alternative path
  • Drive and a track record of going above-and-beyond expectations
  • Technical leadership as well as team motivation, direction and pace
  • Deep experience with at least one of Go, Rust, Python or C
  • Conscientiousness and detail orientation, with a focus on performance
  • Excellent communication skills including professional written and spoken English
  • Excellent interpersonal skills, curiosity, flexibility, and accountability
  • Ability to travel twice a year, for company events up to two weeks each

Nice to have

  • Container technologies such as LXD, Docker and Kubernetes
  • Highly concurrent, distributed systems
  • Performance engineering – from kernel to web – benchmarks, optimization
  • Software security – fuzzing, tabletop threat models, analysis, audit
  • Build systems and toolchains, including for cross-compilation
  • Public clouds or OpenStack
  • Debian/Ubuntu packaging
  • Systems programming or scalable web services
  • Deep quality and test engineering
  • Web or Flutter front-end experience
  • REST and gRPC API experience
  • SQL and NoSQL data store expertise

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
  • 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
  • Performance-driven annual bonus or commission

How to get hired

  1. 1First round of interviews, after which the teams that might be an excellent fit are established and the application progresses with them

Apply

Direct apply at Canonical

Opens the job posting at Canonical

About Canonical

The company that publishes Ubuntu

Canonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Its platform, Ubuntu, is widely used in enterprise initiatives such as public cloud, data science, AI, engineering innovation, and IoT. The company is a pioneer of global distributed collaboration, with 1200+ colleagues in 75+ countries and very few office-based roles.

Mission

To be at the forefront of the global move to open source

Key facts

  • 1200+ colleagues
  • 2004
  • Open source software and operating systems
  • Remote-first company since its inception in 2004
  • 1200+ colleagues in 75+ countries
  • Founder-led, profitable, and growing
  • Teams meet two to four times yearly in person
  • Customers include the world's leading public cloud and silicon providers

What they value

  • Excellence
  • Diversity
  • Open source
  • Global distributed collaboration