Golang Software Engineer

Pioneer tech firm that publishes Ubuntu, focusing on open source solutions for AI, IoT and cloud computing.
Backend
Mid-Level Software Engineer
Remote
3+ years of experience
Enterprise SaaS · Cloud

Description For Golang Software Engineer

Canonical, the company behind Ubuntu, is seeking a Golang Software Engineer to contribute to their next-generation private cloud infrastructure. This role focuses on developing the low-level Go codebase that bridges their REST API with C libraries for container and VM management. The position involves working with KVM, Ceph, and SDN technologies to create enterprise-grade cloud solutions.

The ideal candidate will work on LXD components spanning from kernel-level features to upper-level management APIs. This role requires system-level development expertise and strong data management/modeling skills. You'll be part of a distributed team working on mission-critical cloud infrastructure for edge and core enterprise deployments.

Canonical offers a remote-first work environment with opportunities for global travel and collaboration. The company provides comprehensive benefits, including education budgets, parental leave, and mental health support. As a pioneer in open source technology, Canonical offers a unique opportunity to impact modern cloud computing while working with cutting-edge technologies.

The role combines technical depth with collaborative teamwork, requiring both strong programming skills in Go and C, as well as excellent communication abilities. You'll be part of a global team that values innovation, open source principles, and technical excellence. This position offers significant growth potential and the chance to work on technology that powers AI, IoT, and cloud computing solutions worldwide.

Last updated 24 days ago

Responsibilities For Golang Software Engineer

  • Design, implement and document system level Go code
  • Model data, design database schema and implement data storage in dqlite (SQL) database
  • Maintain code quality through static analysis, unit and system tests
  • Collaborate proactively with a distributed team
  • Discuss ideas and collaborate on finding good solutions
  • Work from home with global travel 2 to 4 weeks/year for internal and external events

Requirements For Golang Software Engineer

Go
  • Experience programming in Go and C
  • Knowledge in networking and storage technologies
  • Experience with cloud computing, virtualisation, containers, or distributed systems
  • Bachelor's or equivalent in Computer Science, STEM or similar degree
  • Strong soft skills and self-motivation
  • Curiosity, flexibility, articulation, and accountability

Benefits For Golang Software Engineer

Education Budget
Mental Health Assistance
Parental Leave
  • 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 Programme
  • Priority Pass and travel upgrades for long haul company events
  • Distributed work environment with twice-yearly team sprints

Interested in this job?

Jobs Related To Canonical Golang Software Engineer

Backend Software Engineer

Backend Software Engineer position at Canonical, developing large-scale services for Snap Store and Charmhub.io using Python and Go in a remote environment.

Python Software Engineer - Launchpad

Python Software Engineer position at Canonical working on Launchpad, the open-source development platform powering Ubuntu's infrastructure.

Python Software Engineer

Python Software Engineer position at Canonical, focusing on developing test automation tools for hardware certification with Ubuntu.

Python Software Engineer

Python Software Engineer position at Canonical, focusing on developing test automation tools for hardware certification with Ubuntu.

Software Engineer

Remote Software Engineer position at Canonical, working on Juju open-source project, developing distributed systems using Go.