Software Engineer - LXD
at Canonical Ltd.
🇺🇸 United States › Home Based - Americas Or EMEA (Posted Nov 10 2018)
About the company
At Canonical we develop Ubuntu, the world’s most popular free operating system, with help from a passionate and talented global community of 200,000 people. Ubuntu is an African word that means 'humanity to others'. We chose it because it embodies the generosity of the community in driving Ubuntu's development, and the open source model that’s delivered it to millions of users around the world.
Together, we're building an operating system that runs across phones and tablets, TV, desktop and cloud. It's secure and reliable, elegant and intuitive, and open for innovation. Ubuntu is the future of open source, but it's easy to use today. We're best known for our desktop operating system, used by over 20 million people, but Ubuntu Touch brings the intuitive user experience to smartphones, and is now available as a developer preview. And our cloud suite offers a clean, repeatable and manageable stack for anyone deploying private or public clouds.
Our business model is unlike any other. As the sponsor of Ubuntu, we’re uniquely positioned to offer custom engineering, support and training, helping companies to reduce costs and improve efficiency. These optional services generate revenues we reinvest in developing Ubuntu.
We have always been dedicated to creating and supporting Ubuntu, and making it available to everyone. Today, we employ over 500 people in over 42 countries. If you too believe in the power of great software to change lives, we'd love you to join us.
Do they allow remote work?
Remote work is possible, see the description below for more information.
Canonical's LXD team is looking for a Software Engineer to join its ranks. This is a remote, home based position.
LXD is a system container manager written in Go.
We are a small distributed team responsible for the development and maintenance of LXD, LXC and LXCFS as well as some amount of related work in the Linux kernel.
We normally put out a LXD feature release every month or so as well as maintain a couple of LTS releases for those users who don’t enjoy all those new features.
On top of developing LXD itself, we are also quite active at conferences and in the community, publicly speaking about what we’re up to and designing shared infrastructure with other projects and companies to benefit the growing container ecosystem.
Key responsibilities for this position:
- Design and implement new LXD features
- API backend work (REST API & bindings)
- User experience (CLI implementation)
- Integration tests
- Maintenance work
- Help our users (forum, mailing-list, IRC)
- Triage incoming bugs, help users debug issues and prepare bug fixes
- Improve LXD performance and scalability
Skills & requirements
- Familiarity with REST API design
- Solid programming experience in a major programming language (Go or C preferred)
- Database experience with a major database engine
- Capacity to learn quickly about new systems and techniques
- Excellent logic, problem solving, and troubleshooting skills
- Good verbal and written communication skills in English
- Ability to collaborate remotely with a distributed team
- Degree level education in a technology field, or equivalent experience