Skip to content

Software Engineer

Software Engineer

About OxSonics Limited

OxSonics was established in July 2013 to develop a new generation of ultrasound-based medical devices for drug delivery applications. OxSonics will initially apply its platform technology to address a major unmet clinical need: metastatic liver cancer.

OxSonics “SonoTran” platform has the proven capability to overcome the greatest challenge facing solid tumor cancer therapy by safely delivering drugs throughout tumors, including to those areas that lie farthest from blood vessels. SonoTran can be used to enhance delivery of any cancer drug. A major benefit of OxSonics’ technology is that it provides on-screen feedback to the clinician as to where drug delivery is taking place in real time. OxSonics is based in Oxford, UK.

Position Summary

The position of Software Engineer is responsible for contributing to the ultrasound platform software for OxSonics Limited and will report directly to the Software Lead. Working with the engineering team, the Software Engineer will be primarily expected to contribute to the application software as well as software testing, and secondarily contribute to the software process.

Listed below are the major responsibilities of the role and a brief description of some of the key tasks to be performed. This list is not totally inclusive and the person will be expected to be flexible toward working in a hands-on, small-team environment to develop the system.

Major Responsibilities

Under direction from the Software Lead and Engineering Director, the Software Engineer will be responsible for:

1. SonoTran Software Development

  • Working with the OxSonics’ engineering team and consultants, contribute to device software design and development process in the following areas:
    • Hardware control and communication
    • Algorithm development and optimisation
    • Design and development of the device’s user interface
    • Multimodal medical image registration
  • Ensure completed software in assigned areas is to regulated software standards (e.g IEC 62304)

2. Software Testing

  • Provide unit and integration testing of the developed software using industry standard tools
  • Formulate test cases and test plans to support software validation
  • Contribute to required regulatory testing of the ultrasound platform including all software tools required solely for testing modes

4. Software Process

  • Contribute to the software build process

5. Additional Duties

  • Contribute to team meetings, lab maintenance, and technical support
  • Hands on testing in an ultrasound lab using electronics equipment to support rapid product development.
  • Contributing to documentation required for regulatory submission (FDA 510k, CE Mark) to a notified body to international standards (e.g. ISO 13485)

Skills & Experience

The Software Engineer will have a proven ability to:

  • Deliver validated and documented software projects whilst working in a regulated industry or environment
    • Medical device or healthcare-related preferred
    • Other regulated industries considered on a case-by-case basis
  • Implement software designs in C, C++, using Microsoft Visual Studio
    • Rich knowledge on object-oriented programming required
    • Qt framework experience desirable
    • CUDA/GPU programming experience desirable
    • Numerical library experience (IntelMKL, LAPACK++, Eigen, etc) preferred
    • Experience in multithreaded programming desirable
  • Validate and verify developed software with both unit and integration/regression testing experience
  • Use industry standard software design, development, and documentation tools including JIRA, Crucible, FishEye, Confluence, Jenkins and Intel Inspector.
  • Work in a Scrum/Agile development framework effectively
  • Take a flexible approach on a day-to-day basis and perform tasks outside of ones job description.
  • Be able to operate as a self-starter in a rapidly changing and dynamic environment.
  • Operate in a small company environment.
  • Work effectively in a multi-disciplinary team.
  • Manage a wide range of projects simultaneously.
  • Apply excellent organizational skills.


The Software Engineer will have:

  • A BSc degree in computer science, engineering or equivalent (class 2.1 and above essential, MSc/MPhil desired).

A job description does not imply that the duties stated are the only ones to be performed by the jobholder. Employees will be required to follow any other job-related instruction as requested by their manager.