A Software Engineer in the Sustaining Engineering Group is key for the success of our enterprise customers, partners and Ubuntu projects. You will help with troubleshooting and driving customer bugs to resolution by providing workarounds, guidance and designing fixes to be released in Ubuntu and its supporting software packages.
Your role will primarily provide sustaining engineering support for storage products as well as integration and orchestration for Cloud and the Ubuntu platform.
Key responsibilities and accountabilities
- Resolve complex customer problems related to distributed storage as well as general OpenStack or Ubuntu Server issues.
- 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, backport patches, develop patches and work with upstream for inclusion.
- Demonstrate considerable judgement in selecting methods and techniques for obtaining solutions.
- Manage workload to ensure that all customer issues are all timely handled and driven to resolution, acting as a generalist when necessary.
- Participate in team discussions to improve process, tools, and documentation within the Sustaining Engineering team.
- Maintain clear, technical and concise bug documentation.
- Willingness to travel internationally up to 10% of work time for team meetings, events and conferences.
Required Skills and Experience
- Strong experience with Ceph object storage and architecture.
- Experience with OpenStack and/or other Cloud technologies.
- Strong understanding of SDN and traditional networking.
- Debian packaging experience and knowledge of Ubuntu development processes.
- System administrator skills and demonstrable experience required.
- Strong development level experience with C, C++ and Python. Able to troubleshoot with gdb, crash. Able to provide patches and maintain team or personal branches in git.
- Knowledge of Virtualization and Cloud environments: KVM, VMWare, libvirt, QEMU, LXC/LXD (desirable).
- Experience with Canonical Juju and MAAS technologies (desirable).
Soft Skills :
- Prefer upstream involvement in Open Source projects (patches submitted for inclusion).
- Must be able to understand Ubuntu OS bugs and advise on next steps. Act as generalist when necessary.
- 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.
- Strong networking and social skills, good relationship building abilities, process driven, able to manage multiple work streams, good prioritization, independent. Able to resolve conflicts, able to communicate well in written form and produce electronic content.
- Strong advocate for good customer experience.
- Able to speak at least two languages is desirable.
- A minimum of 5+ years or equivalent experience as software engineer is required.
Job Location: Americas or Europe, Home based with regular international travel arrangements (up to 10%)
Reports to: Sustaining Engineering Manager