We deliver open source to the world faster, more securely and more cost effectively than any other company.
We develop Ubuntu, the world’s most popular enterprise Linux from cloud to edge, together with a passionate global community of 200,000 contributors. Ubuntu means 'humanity to others'​. We chose it because it embodies the generosity at the heart of open source, the new normal for platforms and innovation.
Read more about this company
Golang Software Engineer - Containers / Virtualisation / API
We are hiring a Golang software engineer to help with the development of additional services to bring LXD’s scalability to the next level. We are looking for developers with experience in REST API design/implementation and a good background in database design and data management/modeling.
The LXD team is responsible for the design, development and evolution of LXD, a modern system container and virtual machine manager that is widely used on Ubuntu, ChromeOS and other Linux platforms. LXD components span the entire software stack from low-level kernel features to the upper level management REST API and CLI.
This is an opportunity for someone who wants to have a meaningful impact on modern cloud computing technologies. Canonical offers a fun, fast-paced team environment and a career full of learning and development.
What you will do
Design, implement and document REST APIs inside a Go codebase
Model data, design database schemas and implement data storage in a dqlite (SQL) database
Integrate with external REST APIs and other external services (logging, monitoring, …)
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
Who you are:
You have a Bachelor’s or equivalent in Computer Science, STEM or similar degree
You are curious, flexible, articulate and accountable
You value soft skills and are enterprising, thoughtful and self-motivated
You have experience programming in Go
You have experience in designing or implementing REST APIs
You have database and data modeling experience
You have experience with two or more of: cloud computing, virtualisation, containers, distributed systems, open source community.