Enable job alerts via email!

Golang System Software Engineer - Containers, Virtualisation

canonical

Muscat

On-site

USD 50,000 - 90,000

Full time

30+ days ago

Boost your interview chances

Create a job specific, tailored resume for higher success rate.

Job summary

Join a pioneering tech firm that is redefining the open-source landscape with innovative solutions in cloud computing and AI. As a Golang software engineer, you will work on cutting-edge technologies that impact global enterprises. This role offers the flexibility of a remote work environment while providing opportunities for personal growth and development. Enjoy a collaborative atmosphere where your contributions are valued, and be part of a team that meets bi-annually in exciting locations. Embrace a career that challenges you to think creatively and elevate your skills in a supportive setting.

Benefits

Personal learning and development budget
Annual compensation review
Recognition rewards
Maternity and paternity leave
Employee Assistance Programme
Priority Pass for travel upgrades
Annual holiday leave
Opportunity for global travel
Twice-yearly team sprints in person

Qualifications

  • Experience in programming with Go and C is essential.
  • Knowledge of networking and storage technologies is required.

Responsibilities

  • Design and implement system-level Go code.
  • Model data and implement storage in a dqlite database.
  • Collaborate with a distributed team on solutions.

Skills

Golang
C Programming
Networking
Storage Technologies
Cloud Computing
Virtualization
Containers
Distributed Systems

Education

Bachelor's in Computer Science
STEM Degree

Tools

dqlite (SQL)

Job description

Canonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation, and IoT. Our customers include the world's leading public cloud and silicon providers, as well as industry leaders across various sectors. The company is a pioneer of global distributed collaboration, with over 1000 colleagues in more than 70 countries and very few office-based roles. Teams meet two to four times annually in interesting locations worldwide to align on strategy and execution.

The company is founder-led, profitable, and growing.

The mission of the LXD team is to build a next-generation private cloud infrastructure, combining KVM, Ceph, and SDN technologies to create a data center-scale cloud that "just works" and provides a mission-critical cloud for edge and core enterprise deployments. We are hiring a Golang software engineer to work on the low-level Go codebase that interfaces between our REST API and the low-level C libraries used to manage containers and virtual machines. We seek system-level developers with experience in design and data management/modeling.

LXD components span the entire software stack, from low-level kernel features to the upper-level management API/CLI. Our most effective engineers are fluent across these layers and can anticipate the consequences of design and engineering choices in a complex distributed system.

This role offers the opportunity to have a meaningful impact on modern cloud computing technologies. Canonical provides a fun, fast-paced team environment and a career full of learning and development.

Location: This is a remote position available in EMEA and the Americas.

What you will focus on
  1. Design, implement, and document system-level Go code
  2. Model data, design database schema, and implement data storage in a dqlite (SQL) database
  3. Maintain code quality through static analysis, unit, and system tests
  4. Collaborate proactively with a distributed team
  5. Discuss ideas and collaborate on finding good solutions
  6. Work from home with global travel 2 to 4 weeks/year for internal and external events
What we are looking for in you
  1. You have experience programming in Go and C
  2. You are knowledgeable in networking and storage technologies
  3. You have experience with two or more of: cloud computing, virtualization, containers, distributed systems, open source community
  4. You are curious, flexible, articulate, and accountable
  5. You value soft skills and are enterprising, thoughtful, and self-motivated
  6. You have a bachelor's or equivalent in Computer Science, STEM, or a related degree
What we offer you

We consider geographical location, experience, and performance in shaping compensation worldwide. We revisit compensation annually (and more often for graduates and associates) to recognize outstanding performance. In addition to base pay, we offer a performance-driven annual bonus. We provide all team members with additional benefits reflecting our values and ensuring fairness globally.

  • Distributed work environment with twice-yearly team sprints in person
  • 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
  • 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 firm at the forefront of the global move to open source. As the publisher of Ubuntu, a key open source platform for AI, IoT, and cloud, we are changing the world daily. We recruit globally and set high standards for our team members, expecting excellence in all we do. Since its inception in 2004, Canonical has been a remote-first company. Working here challenges you to think differently, work smarter, learn new skills, and elevate your game.

Canonical is an equal opportunity employer. We are committed to fostering a workplace free from discrimination. Diversity of experience, perspectives, and backgrounds enhances our work environment and products. We welcome applications from all identities for fair consideration.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.