Canonical Software Engineer - Ubuntu Server

Posted on January 23rd, 2019

Job Location: Americas / Western Europe

Job Summary

A Software Engineer is required to join our Ubuntu Server team, the world's most popular cloud operating system. In the Software Engineer role, you will join the team responsible for Ubuntu Server. Ubuntu strives to deliver the latest-best free software components, in an easy to use and highly reliable form. We build on the technical excellence of Debian and bring additional focus and shape to the solutions we offer the industry. Applicants must be passionate about the future of Ubuntu, mindful of the dynamics of the open source ecosystem, and equally aware of the needs of large but innovative organisations.

The Software Engineer will share the responsibility for developing and maintaining the cloud-init and curtin projects. Cloud-init is the industry standard instance initialization tool used across clouds and Linux distributions. Curtin, or the curt installer, is used to install an operating system as quick as possible. Both projects are open source and developed in Python.

Key responsibilities for the Software Engineer:

  • Participate in strong engineering process through code and architectural review
  • Design, build, and integrate new features and enhancements into Ubuntu that will support users of Ubuntu in public clouds
  • Engage in bug-fixing work across a wide variety of components of the Ubuntu platform, helping to ensure that we produce regular high-quality releases and updates on time
  • Take personal ownership of problems and drive them to solutions
  • Write high-quality code to create new features and fix bugs
  • Actively engage with the open source community and commercial partners
  • Collaborate proactively with a distributed team
  • Adaptable to a wide range of situations and software
  • Respond to and work to resolve issues raised by end users and commercially supported customers as necessary

Required skills and experience

  • Excellent Python programming experience
  • Experience with devops automation, tools, and methodologies
  • Strong experience in Ubuntu/Debian system administration
  • Experience with public clouds, cloud topologies, and technologies
  • Involvement in open source projects in the past a plus
  • Capacity to learn quickly about new systems and techniques
  • Travel domestically and internationally several times a year
  • Strong written and verbal communication skills
  • Degree level education, preferably in a technology field
Apply for this Position