This is a software algorithms role for Creavo Medical Technologies Ltd, a medical device company currently focused on (MCG) Magnetocardiography.
The primary outcome of the internship is to review and document the MATLAB code for a data collection magnetocardiograph as part of a validation process. In addition to reviewing code with a focus on potential numerical issues, the intern would investigate methods of automatically generating documentation from correctly styled MATLAB code.
The Intern will gain considerable familiarity with the Magnetocardiography signal processing chain.
Time-allowing, the intern will contribute to further code development, most likely in the signal processing chain and unit testing.
Open to Wonder – University of Warwick
Search out what inspires and excites you.
Duties and responsibilities
Creavo Onboarding. Complete all training mandated by the Quality and Regulatory Department for working on Medical Devices and at Creavo more generally.
Job-specific training. Complete by working through technical onboarding materials including system setups and overview of Creavo technologies.
Understand the magnetocardiography signal processing chain.
Understand the sources of numerical problems when performing common linear algebra operations.
Review the prototype algorithm for correctness, potential numerical/reliability issues and poor style. Make suggestions as to how the code can be improved in line with the reviews (these changes can be made in a separate code branch by the intern). Interactive reviewing is encouraged, i.e. running code and modifying inputs to functions.
Review the unit tests for suitability and coverage. Modify/create tests as required.
Investigate and implement a method for automatically generating documentation for MATLAB code.
Develop onboarding material and technical documentation for the algorithm team where gaps are identified.
Short development tasks as required.
Produce a formal code review document.
Skills and experience
This role would suit someone who is detail-oriented and motivated to create long-lasting high-quality code, tests and documentation.
Ideally from a STEM discipline.
Good MATLAB programming skills.
Good understanding of basic linear algebra (matrix operations).
A knowledge of basic Signal Processing or Time Series analysis.
An understanding of (or at least an interest in) the challenges of numerical linear algebra/numerical computing.
Experience of other programming languages, especially the C-family and/or Python.