About this role
Job title: Go (Golang) Software Engineer, Developer Tooling and Containers
About the Role Canonical is hiring a Go (Golang) Software Engineer, Developer Tooling and Containers to help design and build a new open-source developer experience tool that integrates with Ubuntu desktop, modern IDEs, and SDKs. The role focuses on rethinking developer workflows to preserve the best aspects of traditional Linux while enabling work in immutable distro environments and with remote cloud resources. The goal is to free developers from tedious environment setup and help them focus on building great software across domains such as Robotics, MLOps, and IoT, contributing to Ubuntu becoming the greatest platform for software engineers.
What You'll Do
- Design the user experience of new capabilities in the tool
- Write high-quality code to create new features
- Obsess with correctness and robustness of your work for diverse use cases
- Go the extra mile in making sure the software you create addresses a well-defined problem
- Think carefully through implementation strategy from the perspective of performance, quality and security
- Work with teams both inside and outside of Canonical
What We're Looking For
- You have professional software development experience using Go, Python, C, or C++
- You know Linux system-level fundamentals, for example, cgroups and namespaces
- You are curious, thoughtful, articulate, and accountable
- Exceptional academic track record from both high school and university
- Undergraduate degree in a technical subject or a compelling narrative
Nice to Have
- Taste for experience design and good usability
- Strong understanding of containers and the kernel semantics and capabilities that underpin them
- Experience with professional Linux-based software development and working with containers
- Familiarity with open-source development practices and Ubuntu desktop integrations