
Remote opportunity at
CanonicalGo (Golang) Software Engineer, Developer Tooling and Containers
Canonical is hiring a Go Software Engineer for its Developer Tooling and Containers team in the APAC region. The team is building a fresh open-source tool…
Career Tools
About This Role
Canonical is hiring a Go Software Engineer for its Developer Tooling and Containers team in the APAC region. The team is building a fresh open-source tool that improves developer workflows that aims to spare developers hours of environment setup in fields such as robotics, MLOps and IoT. Canonical publishes Ubuntu and has colleagues across many countries. The job is remote, open to anyone working in APAC hours. The product is…
Job Description
Canonical is hiring a Go Software Engineer for its Developer Tooling and Containers team in the APAC region. The team is building a fresh open-source tool that improves developer workflows that aims to spare developers hours of environment setup in fields such as robotics, MLOps and IoT. Canonical publishes Ubuntu and has colleagues across many countries.
The job is remote, open to anyone working in APAC hours. The product is built to fit Ubuntu desktop, current IDEs and SDKs supplied by hardware makers such as NVIDIA, Intel and AMD. It also aims to help people work well in immutable Linux distributions and with remote cloud resources, while keeping what developers value about traditional Linux.
Engineers shape the user experience of fresh tool features, write high-quality code, and pay close attention to correctness and robustness across varied use cases. They weigh implementation choices in terms of performance, quality and security, make sure each feature addresses a well-defined problem, and collaborate with groups within and beyond Canonical. The team values intellectual honesty, peer review and clear, maintainable code. Roles are open at junior, senior and entry level, though senior roles need a strong grasp of containers and of the kernel features that support them.
Applicants should have professional development experience in Go, Python, C or C++, and a working knowledge of Linux fundamentals such as cgroups and namespaces. An exceptional academic record and a first degree in a technical field, or a clearly argued non-standard route, are expected. Candidates should be curious, articulate and accountable, able to speak up and share ideas, and able to travel twice a year. Experience with LXC or LXD, AI and ML frameworks, CUDA or OpenVINO, and package manager internals is a plus. No salary is stated.
Responsibilities
- Shape the user experience of fresh tool features
- Write high-quality code for new features
- Test correctness and robustness across diverse use cases
- Make sure each feature solves a well-defined problem
- Weigh performance, quality and security in implementation choices
- Work with teams inside and outside Canonical
Requirements
- Professional software development experience in Go, Python, C or C++
- Working knowledge of Linux system fundamentals such as cgroups and namespaces
- Curious, thoughtful, articulate and accountable
- Strong academic record from high school and university
- A first degree in a technical field, or a clearly argued non-standard path
- Confidence to speak up and exchange feedback
- Clear English, spoken and written, plus strong presentation ability
- Able to go abroad twice annually
Qualifications
- Experience with LXC or LXD
- Experience with AI and ML, or with CUDA or OpenVINO
- Understanding of how system and language package managers work
Core Skills
Benefits
- Yearly learning budget of USD 2,000 for personal development
- Face-to-face team gatherings twice a year
- Yearly pay review and recognition awards
- Annual holiday leave, plus maternity and paternity leave
- Team member support programme and wellness platform
- Trips to new cities to meet colleagues, with lounge access and upgraded long-haul travel
Frequently Asked Questions
Answers are based only on the employer’s listing; where it doesn’t say, neither do we.
Where is this role based?
The team sits in APAC, and remote hires may live anywhere within APAC hours.
What languages are needed?
Professional experience in Go, Python, C or C++ is required.
Are senior and junior roles open?
Yes, the team is building junior, senior and entry-level roles, but senior roles need strong knowledge of containers and kernel features.
Is a salary stated?
The posting does not specify a salary.
Sample Interview Questions
AI-generated questions tailored to this specific role — a preview of the full practice set.