Sustaining Engineer

Location: Home based - Americas


We are seeking a Software Engineer in the Sustaining Engineering Group which is key for the success of our enterprise customers, partners and the Ubuntu projects. You will be responsible for engineering support of Ubuntu, including troubleshooting and driving customer bugs to resolution by providing workarounds, guidance and designing fixes to be released in Ubuntu.


In this role, you will provide engineering support to Canonical Support & Technical Services and interact with other members within Canonical, customers and the Ubuntu community, as well as various upstream communities to help resolve issues and build relationship.  Strong communication and relationship skills are as important as superb technical skills in this role, as you will be working with other members within the Canonical Ubuntu Engineering and customers.


Job Location

Home based with broadband, worldwide.  Some travel, roughly 10%, may be required.


Key Responsibilities and accountabilities

  • Resolve complex customer problems related to Ubuntu OpenStack technologies, Juju, MAAS, charms, as well as general Ubuntu Server issues

  • Engage in bug ­fixing work across a wide variety of components of the Ubuntu platform.

  • Respond to and work to resolve issues raised by commercial support customers.

  • Maintain a close working relationship with Canonical's support teams, account managers and Ubuntu Platform Engineering.

  • Analyse and participate on upstream development against current customer reported defects, cherry pick and backport patches into stable Ubuntu releases, develop patches and work with upstream for inclusion.

  • Manage workload to ensure that all customer issues are handled in a timely manner and driven to resolution, acting as a generalist when necessary.  

  • Participate in team discussions to improve process, tools, and documentation within the Sustaining Engineering and Operations team.  

  • Maintain clear, factual, technical and concise bug documentation.

  • Responsible for adding test cases to test proposed fixes and ensure proper acceptance criteria is met.  

  • Willingness to travel internationally up to 20% of work time for team meetings, events and conferences.  Travel is often less than listed above.


Required Skills and Experience

Soft Skills:

  • Proven strong Open Source development skills using current and accepted open source tooling and troubleshooting methodologies.

  • Familiarity with Open Source process and community practices required as well as familiarity with Open Source business model desirable.  Prefer upstream involvement in Open Source projects (patches submitted for inclusion).

  • Strong interest and knowledge of Ubuntu and foundational packages.

  • Strong networking and social skills, good relationship building abilities, process driven, able to manage multiple work streams, good prioritisation, and independent.  Able to resolve conflict, able to communicate well in written English and produce electronic content.

  • Ubuntu development experience preferred. Ability to reproduce Ubuntu bugs and advise on next steps. Act as generalist when necessary.

  • A minimum of 5+ years or equivalent experience as software engineer is required.

  • Ability to be productive in a globally distributed team through self­ discipline and self­ motivation and delivering according to a schedule.

  • Ability to collaborate in real time with team members in Eastern US and European time zones.



  • Proven experience in working with d-bus, glib, gtk, qt, x11 libs and/or udev .

  • Experience with fontconfig, USB, DRM, mesa, pulseaudio, systemd, xft, avahi is a plus.

  • Demonstrated experience working with upstream and contributing code to Open Source projects.

  • Strong Debian packaging experience and knowledge of Ubuntu development processes.

  • Deep understanding of and extensive use of desktop operating systems; especially GNOME platforms.

  • Strong understanding the make­up of a modern GNU/Linux distribution.

  • System administrator skills and demonstrable experience required.

  • Strong development level experience with C and Python.

  • Strong troubleshooting experience using gdb, crash, pdb and other post-mortem analysis tools.

  • Strong experience with VCS systems ( git or bzr ).

  • Knowledge of Virtualisation and Cloud environments: KVM, VMWare, libvirt, QEMU, LXC/LXD.
  • Must be able to understand Ubuntu OS bugs and advise on next steps. Act as generalist when necessary.

Previous Applicants:

If you do not remember your password click here.

Powered By Taleo