Remote Golang Engineer at Canonical
At Canonical, we are seeking talented Golang engineers of all seniority levels to join our diverse teams. If you are a skilled software engineer with a passion for Go, this is your opportunity to make an impact. After the initial interview stage, we’ll match you with the most suitable product team based on your interests and expertise.
Golang is a cornerstone of our engineering efforts, especially for projects where performance and security are critical. While Go is our primary language, we also work extensively with Python, C, C++, and are exploring Rust. For front-end development, we rely on React and Flutter.
Our engineering teams use Golang to build the systems that power Ubuntu globally. From software distribution and testing frameworks to systems management tools and distributed systems R&D, Go’s concurrency and developer ecosystem are invaluable. Key Canonical products like Juju, Livepatch, LXD, MAAS, Microk8s, Snapd, Ubuntu Core, and Ubuntu Pro all feature Golang components.
We are committed to making Ubuntu the ultimate platform for Golang development, providing developers with access to the best tools and capabilities for cutting-edge open-source and enterprise projects.
Join us in our mission to deliver innovative open-source solutions worldwide. We seek engineers who uphold the highest standards and thrive in a fully remote, distributed environment. Extensive experience with Linux is essential—the more diverse your Linux experience, the better!
Location: We are hiring Golang engineers in every time zone.
Your responsibilities will include
- Designing and implementing robust, well-tested, and documented Go software
- Debugging and resolving user-reported issues
- Participating in code and architectural reviews
- Collaborating with colleagues and the community on technical specifications
- Improving engineering and operational practices
- Deploying and operating services developed by the team (in some cases)
- Advocating for your product’s success through technical expertise
What we’re looking for in you
- An outstanding academic record from high school and university
- A degree in Computer Science, STEM, or a compelling alternative path
- A proven track record of exceeding expectations
- Strong organizational skills and the ability to deliver on schedule
- Professional and collaborative communication with colleagues, partners, and the community
- Experience designing and developing high-quality Golang software on Linux
- Passion for Linux at the system level
- For senior roles, experience with distributed systems and APIs
- Proficiency in written and spoken English
- Experience with Linux (Debian or Ubuntu preferred)
- Excellent interpersonal skills, curiosity, flexibility, and accountability
- Self-motivation and a thoughtful approach to problem-solving
- Strong communication and presentation skills
- A results-driven mindset with a commitment to meeting deadlines
- Willingness to travel twice a year for company events (up to two weeks each)
Nice-to-have skills
- Experience developing for Ubuntu Linux
- Familiarity with Juju, LXD, Microk8s, Snapd, Ubuntu Core, or Ubuntu Pro
- Performance engineering and security expertise
What we offer
We tailor compensation based on location, experience, and performance, with annual reviews to recognize outstanding contributions. In addition to competitive base pay, we offer performance-based bonuses or commissions. Our benefits reflect our values and are designed to ensure fairness and support globally.
- A fully distributed work environment with bi-annual in-person team sprints
- USD 2,000 annual personal learning and development budget
- Annual compensation reviews
- Recognition rewards for exceptional performance
- Generous annual holiday leave
- Maternity and paternity leave
- Employee Assistance Program
- Opportunities to travel and meet colleagues in new locations
- Priority Pass and travel upgrades for company events