Golang Engineer

Job Description

This is our standard process for Golang engineers of varying levels of seniority across all relevant teams at Canonical. Apply here if you’re an outstanding software engineer who prefers working in Go. Following initial interviews, we’ll match you with the most suitable product team at Canonical based on your preferences and skills.

Canonical prioritizes Golang for software where performance and security are paramount. While we also undertake significant projects in Python, C, C++, and are exploring Rust, for front-end development, we lean towards React and Flutter.

Golang plays a critical role in our engineering teams, responsible for developing systems that disseminate Ubuntu globally. From software distribution systems to those facilitating the building and testing of various open-source projects on diverse architectures, from systems management tools to distributed systems operations R&D, Golang’s elegant concurrency and developer ecosystem are indispensable. Key Canonical offerings, such as Juju, Livepatch, LXD, MAAS, Microk8s, Snapd, Ubuntu Core, Ubuntu Pro, among others, feature Golang components.

Moreover, we are committed to making Ubuntu the premier platform for Golang development, providing access to a wide array of tools and capabilities that support cutting-edge open-source and enterprise development.

Join us in our mission to deliver innovative open-source solutions globally. We demand the highest engineering standards and a strong drive to excel in a fully remote and distributed environment. These roles necessitate extensive personal experience with Linux, with exposure to various Linux distributions being advantageous.

Location: We have openings for Golang engineers in every time zone.

Your Responsibilities:

  • Design and implement well-tested and documented software in Go.
  • Debug and resolve issues encountered by users.
  • Engage in our engineering process through code and architectural reviews.
  • Collaborate with the community and colleagues on technical specifications.
  • Propose enhancements to engineering and operations practices.
  • In some instances, deploy and manage services developed by the team.
  • Contribute to the success of your product through technical advocacy.

What We Seek in You:

  • Exceptional academic credentials from high school and university.
  • Bachelor’s degree in Computer Science or STEM, or a compelling narrative about an alternative path.
  • Drive and a history of exceeding expectations.
  • Well-organized, self-starting, and able to meet deadlines.
  • Professional demeanor when interacting with colleagues, partners, and the community.
  • Experience in designing and developing high-quality Golang software on Linux.
  • Passion for and experience with Linux at the system level.
  • For senior roles, experience in building, deploying, and managing distributed systems and APIs.
  • Proficient in written and spoken English.
  • Experience with Linux distributions, preferably Debian or Ubuntu.
  • Strong interpersonal skills, curiosity, flexibility, and accountability.
  • Passion, thoughtfulness, and self-motivation.
  • Excellent communication and presentation skills.
  • Result-oriented, with a personal drive to fulfill commitments.
  • Willingness to travel twice a year for company events, up to two weeks each.

Additional Skills You May Possess:

  • Experience in developing for Ubuntu Linux.
  • Familiarity with Juju, LXD, Microk8s, Snapd, Ubuntu Core, Ubuntu Pro.
  • Expertise in performance engineering and security.

What We Offer:

Compensation is determined by factors such as geographical location, experience, and performance, with annual reviews to ensure recognition of outstanding contributions. Additionally:

  • Fully distributed work environment with biannual in-person team sprints.
  • Personal learning and development budget of USD 2,000 annually.
  • Annual compensation review.
  • Recognition rewards.
  • Annual holiday leave.
  • Maternity and paternity leave.
  • Employee Assistance Programme.
  • 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 company leading the global transition to open source. As the publisher of Ubuntu, a crucial open-source project and a leading platform for AI, IoT, and the cloud, we are reshaping the world daily. We recruit globally and uphold a high standard for individuals joining our company. Excellence is our expectation; to succeed, we must excel in our endeavors. Canonical has been a remote-first company since its founding in 2004. Working with us propels you into the future, challenging you to think innovatively, work efficiently, learn continuously, and elevate your performance.

Canonical is an equal opportunity employer, committed to maintaining a workplace free from discrimination. We value diversity of experience, perspectives, and backgrounds, believing they create a better work environment and superior products. Regardless of your identity, we will give your application fair consideration.