Canonical is a pioneering tech firm at the forefront of the global move to open source. As the company that publishes Ubuntu, one of the most important open source projects and the platform for AI, IoT and the cloud, we are changing the world on a daily basis. We recruit on a global basis and set a very high standard for people joining the company. We expect excellence - in order to succeed, we need to be the best at what we do. Canonical has been a remote-first company since its inception in 2004. Working here is a step into the future, and will challenge you to think differently, work smarter, learn new skills, and raise your game.
We are recruiting to fill the position below:
Job Title: Senior / Staff / Principal Engineer
Location: Lagos
About the Role
This is a general track for Senior+ (Senior/Staff/Principal) Engineers in any team at Canonical. After the first round of interviews we will establish which teams might be an excellent fit, and progress your application with them.
At Canonical a Senior+ Engineer is not only an outstanding software architect and coder, they also demonstrate the leadership qualities needed to rally a team or department to ship outstanding products.
A Senior+ Engineer partners with other Engineering leaders (Managers, Directors, VPs) to take joint responsibility for outcomes at team, department and company level. We hire based on academic results and proven execution, and we select those with a passion for open-source software, innovation, and cutting-edge technology.
In this role, you will make a significant contribution in Canonical's portfolio through high-quality code, technical leadership, team motivation and direction, exceptional design, and crisp documentation.
As a Senior+ Engineer you'll drive the architecture, design and evolution of high-impact open source software. Our teams work at every level of the stack.
From the kernel and system software at the core of Ubuntu through to major language runtimes and the bleeding-edge of cloud automation and distributed systems, you'll have the opportunity to work on complex but highly rewarding projects. Our teams also build the services which deliver Ubuntu to the world, on cloud, devices, servers and PCs.
Additionally, this role will give you the opportunity to engage with the broader open-source community. We're looking for individuals who can help build a thriving community, contribute to a broad range of technologies, and ensure seamless software operations at scale.
Location: we have remote opportunities for Senior Engineers in every time zone.
Responsibilities
The role entails:
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
Requirements
What we are looking for in you:
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 skills:
Depending on your eventual team, you might also bring experience with
Container technologies such as LXD, Docker and Kubernetes
Highly concurrent, distributed systems
Performance engineering – from kernel to web – benchmarks, optimization
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
What we offer you
We consider geographical location, experience, and performance in shaping compensation worldwide. We revisit compensation annually (and more often for graduates and associates) to ensure we recognize outstanding performance.
In addition to base pay, we offer a performance-driven annual bonus or commission. We provide all team members with additional benefits which reflect our values and ideals. We balance our programs to meet local needs and ensure fairness globally.
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