C++ Senior Software Engineer, HPC & ML Tools

Overview

We are looking for a highly skilled and technically capable senior software engineer to join the team of Linaro Forge. As an experienced developer, you’ll have a methodical approach to debugging and performance analysis and understand how developers will use our tools to achieve their objectives. Working as part of a team of C++ software engineers, you will help to develop the Linaro Forge Debug and Profiling tools; you will be passionate about making a difference through building outstanding quality products.

Linaro Forge is used by software developers to increase software performance or fix software bugs, from single Linux servers right up to the largest supercomputers in the world. Our tools span a wide range of use cases: from C/C++/Python developers writing multithreaded server applications, through ML and data analysis, to HPC developers scaling programs to millions of cores.

To learn more about Linaro Forge please visit https://www.linaroforge.com/.

Main Duties

  • Develop quality functionality on schedule, including specification, design, development, documentation and test.
  • Drive forward major features or improvements and increase quality in the product.
  • Support users of Forge, in conjunction with others.
  • Adopt and integrate with existing Linaro infrastructure and processes where possible, using your experience to develop these where required.
  • Influence others, including through engineering best practice and/or specialist knowledge.

Education

Educated to degree level or have similar relevant experience.

Key Skills & Experience

You will have gained proven experience developing products using modern C++. Training may be provided for the people with only a subset of the required skills. You will require the following selection of skills and experience for this role:

  • C++ and C programming for Linux/Unix and ensuring quality in own and others’ code delivery.
  • Demonstrable professional C/C++ development experience.
  • Good administrator-level knowledge of Linux/Unix.
  • Excellent knowledge of Agile development frameworks.
  • Good working knowledge of version control using tools such as Git.
  • Self-driven, independent problem solver, willing to be flexible and accept new challenges.
  • Effective verbal and written communication skills.
  • Ability to work alone as well as in a team.

Desirable Skills & Experience

You will either have or develop the following skills and experience during this role. You do not need any of these to apply or succeed in your application.

  • High performance computing applications, libraries or parallel programming.
  • DevOps tools e.g. CMake, Conan, Jenkins, Git/Gerrit, Nexus, Ansible, Terraform, Packer.
  • Python programming.
  • Operating system, compiler and debugger internals – for example the DWARF standard.
  • Developing GDB, Perf, GCC or similar open source projects.
  • GPU programming.
  • The Qt library.
  • Development for the macOS or Windows platforms.
  • Technical leadership experience.

Location

This position is based from our office on the outskirts of the beautiful medieval town of Warwick, steps away from the Warwickshire countryside and a vibrant nightlife in nearby Leamington Spa. You will be expected to occasionally travel to other Linaro offices and Company events.

Related vacancies