Canonical
Join to apply for the
Golang Engineer
role at
Canonical .
Canonical is a leading provider of open‑source software and operating systems for global enterprise and technology markets. Our platform, Ubuntu, is widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation and IoT. Our customers include the world's leading public cloud and silicon providers, and industry leaders in many sectors. The company is a pioneer of global distributed collaboration, with 1,200+ colleagues in more than 80 countries and very few office‑based roles. Teams meet two to four times yearly in person, in interesting locations around the world, to align on strategy and execution.
The company is founder‑led, profitable and growing.
We are hiring
Golang engineers
of all levels of seniority, for all relevant teams at Canonical. Apply if you are an exceptional software engineer who prefers to work in Go. After the first interview we will pair you with the product team that best matches your interests.
Canonical prefers Go for software where performance and security are primary considerations. We also have substantial projects in Python, C, C++ and are starting to invest in Rust. For front‑end development we prefer React and Flutter.
Go is an essential language for our engineering teams, building systems that deliver Ubuntu worldwide. From our software distribution systems, to build and test every possible kind of open source on every architecture, from systems‑management tools to distributed‑systems R&D, we count on Go for its concurrency model and developer ecosystem. Juju, Livepatch, LXD, MAAS, Microk8s, Snapd, Ubuntu Core, Ubuntu Pro, and many other Canonical offerings include Go components.
We also ensure Ubuntu is the best platform for Go development, with easy access to tooling that supports cutting‑edge open‑source and enterprise development.
Join us in our mission to deliver innovative open‑source solutions worldwide. We expect the highest engineering standards and strong motivation to get things done well in a fully remote and distributed environment. These roles require extensive personal experience with Linux – the more versions the better!
Location Open roles for Go engineers in every time zone.
Role entails
Design and implement well‑tested, documented software in Go
Debug and fix issues encountered by users
Participate in engineering processes through code and architectural reviews
Collaborate with community and colleagues on technical specifications
Seek improvements to engineering and operations practices
Deploy and operate services developed by the team (in some cases)
Contribute to the success of your product through technical advocacy
What we are looking for in you
An exceptional academic track record from high school and university
Undergraduate degree in Computer Science or STEM, or an impressive alternative path
Drive and record of exceeding expectations
Well‑organized, self‑starting, and able to deliver on schedule
Professional manner in interacting with colleagues, partners, and community
Experience designing and writing high‑quality Go software on Linux
Passion for Linux at the system level
For senior roles: experience building, deploying, and operating distributed systems and APIs
Professional written and spoken English
Experience with Linux (Debian or Ubuntu preferred)
Excellent interpersonal skills, curiosity, flexibility, and accountability
Passion, thoughtfulness, and self‑motivation
Excellent communication and presentation skills
Result‑oriented, with a drive to meet commitments
Ability to travel twice a year for company events (up to two weeks each)
Nice‑to‑have skills
Experience developing for Ubuntu Linux
Experience with Juju, LXD, Microk8s, Snapd, Ubuntu Core, Ubuntu Pro
Performance engineering and security experience
What we offer
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
Employee Assistance Program
Opportunity to travel to new locations to meet colleagues
Priority Pass, and travel upgrades for long‑haul company events
About Canonical Canonical is a pioneering tech firm at the forefront of the global movement to open source. As the company that publishes Ubuntu – one of the most important open‑source projects and the platform for AI, IoT and cloud – we are changing the world of software. We recruit globally and maintain a very high standard for people joining the company. Most colleagues have worked from home since the inception in 2004. Working here is a step into the future, challenging you to think differently, work smarter, learn new skills, and raise your game.
Canonical is an equal opportunity employer We are proud to foster a workplace free from discrimination. Diversity of experience, perspectives, and backgrounds creates a better work environment and better products. Whatever your identity, we will give your application fair consideration.
#J-18808-Ljbffr
Golang Engineer
role at
Canonical .
Canonical is a leading provider of open‑source software and operating systems for global enterprise and technology markets. Our platform, Ubuntu, is widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation and IoT. Our customers include the world's leading public cloud and silicon providers, and industry leaders in many sectors. The company is a pioneer of global distributed collaboration, with 1,200+ colleagues in more than 80 countries and very few office‑based roles. Teams meet two to four times yearly in person, in interesting locations around the world, to align on strategy and execution.
The company is founder‑led, profitable and growing.
We are hiring
Golang engineers
of all levels of seniority, for all relevant teams at Canonical. Apply if you are an exceptional software engineer who prefers to work in Go. After the first interview we will pair you with the product team that best matches your interests.
Canonical prefers Go for software where performance and security are primary considerations. We also have substantial projects in Python, C, C++ and are starting to invest in Rust. For front‑end development we prefer React and Flutter.
Go is an essential language for our engineering teams, building systems that deliver Ubuntu worldwide. From our software distribution systems, to build and test every possible kind of open source on every architecture, from systems‑management tools to distributed‑systems R&D, we count on Go for its concurrency model and developer ecosystem. Juju, Livepatch, LXD, MAAS, Microk8s, Snapd, Ubuntu Core, Ubuntu Pro, and many other Canonical offerings include Go components.
We also ensure Ubuntu is the best platform for Go development, with easy access to tooling that supports cutting‑edge open‑source and enterprise development.
Join us in our mission to deliver innovative open‑source solutions worldwide. We expect the highest engineering standards and strong motivation to get things done well in a fully remote and distributed environment. These roles require extensive personal experience with Linux – the more versions the better!
Location Open roles for Go engineers in every time zone.
Role entails
Design and implement well‑tested, documented software in Go
Debug and fix issues encountered by users
Participate in engineering processes through code and architectural reviews
Collaborate with community and colleagues on technical specifications
Seek improvements to engineering and operations practices
Deploy and operate services developed by the team (in some cases)
Contribute to the success of your product through technical advocacy
What we are looking for in you
An exceptional academic track record from high school and university
Undergraduate degree in Computer Science or STEM, or an impressive alternative path
Drive and record of exceeding expectations
Well‑organized, self‑starting, and able to deliver on schedule
Professional manner in interacting with colleagues, partners, and community
Experience designing and writing high‑quality Go software on Linux
Passion for Linux at the system level
For senior roles: experience building, deploying, and operating distributed systems and APIs
Professional written and spoken English
Experience with Linux (Debian or Ubuntu preferred)
Excellent interpersonal skills, curiosity, flexibility, and accountability
Passion, thoughtfulness, and self‑motivation
Excellent communication and presentation skills
Result‑oriented, with a drive to meet commitments
Ability to travel twice a year for company events (up to two weeks each)
Nice‑to‑have skills
Experience developing for Ubuntu Linux
Experience with Juju, LXD, Microk8s, Snapd, Ubuntu Core, Ubuntu Pro
Performance engineering and security experience
What we offer
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
Employee Assistance Program
Opportunity to travel to new locations to meet colleagues
Priority Pass, and travel upgrades for long‑haul company events
About Canonical Canonical is a pioneering tech firm at the forefront of the global movement to open source. As the company that publishes Ubuntu – one of the most important open‑source projects and the platform for AI, IoT and cloud – we are changing the world of software. We recruit globally and maintain a very high standard for people joining the company. Most colleagues have worked from home since the inception in 2004. Working here is a step into the future, challenging you to think differently, work smarter, learn new skills, and raise your game.
Canonical is an equal opportunity employer We are proud to foster a workplace free from discrimination. Diversity of experience, perspectives, and backgrounds creates a better work environment and better products. Whatever your identity, we will give your application fair consideration.
#J-18808-Ljbffr