Research Software Engineer

London (Greater)
£40,386 - £44,931 per annum, including London Weighting Allowance
18 Aug 2022
End of advertisement period
13 Sep 2022
Academic Discipline
Clinical, Pre-clinical & Health
Contract Type
Fixed Term
Full Time

Job description

This is an exciting opportunity for an engineer to play a key role in the development of research software at the interface of music information research and cardiovascular science. The goal is to build web-based tools for exploring and discovering how music expressivity works, and how it impacts listeners’ perception and physiology. The objectives are to create and extend software for information visualisation and annotation, to incorporate tools for transforming music expressions, and to contribute to software for data collection and computational analysis. 


The work will be carried out in the context of the ERC project COSMOS (Computational Shaping and Modeling of Musical Structures), augmented by the Proof-of-Concept project HEART.FM (Maximizing the Therapeutic Potential of Music through Tailored Therapy with Physiological Feedback in Cardiovascular Disease), on citizen/data science approaches to studying music expressivity and on autonomic modulation through music. See


CosmoNote (, the web-based citizen science portal of COSMOS, was launched December 2021, enabling participants to mark structures (segmentation, prominence) while listening to music and visualising synchronous data and feature information layers. The activity, which users report as enjoyable, collects data on the form and function of music expressivity while fostering listener engagement and thinking. Future developments include the integration of web tools to alter expressive features. 


CosmoNote is also the platform for retrospectively visualising physiological and music data collected by the HEART.FM app. Extensions to CosmoNote include more extensive coverage of physiological information and analytics. 


The successful applicant will make major contributions to, and be involved in, all aspects of software design and implementation, taking into consideration data representation, efficiency, scalability, and usability. They will liaise with other research team members, and with collaborators across multiple domains, and be able to prioritise and successfully deliver the solutions to meet the team’s research needs. 


The successful candidate will have a PhD in computer science or a related field, demonstrate strong experience in interaction design and algorithmic coding in Javascript and Python, work with a multidisciplinary research team and software requirements, and uphold the highest standards in research and integrity. They will ideally be able to demonstrate experience in sound and music computing and/or physiological signal processing. 


The project is hosted by the Department of Engineering in the Faculty of Natural, Mathematical & Engineering Sciences and the School of Biomedical Engineering & Imaging Sciences (BMEIS) in the Faculty of Life Sciences & Medicine (FoLSM) at King’s College London. KCL was ranked 6th nationally in the recent Research Excellence Framework exercise. FoLSM was ranked 1st and Engineering was ranked 12th for quality of research.  


The research will take place in BMEIS at St Thomas’ Hospital and Becket House, on the south bank of the River Thames, overlooking the Houses of Parliament and Big Ben in London. 


This post will be offered on a fixed-term contract for 12 months (renewable to 31 May 2025) 

This is a full-time post


Key responsibilities

Key responsibilities and outcomes 

•       Translate the needs of a multidisciplinary research team into concrete software and algorithmic requirements 

•       Implementing efficient and scalable code in Javascript, particularly D3.js, and Python 

•       Developing the music and physiological feature sets and visualisations to support advanced analytics 

•       Working with researchers to develop reproducible analyses of data to support research publications 

•       Writing clearly about the technical design decisions, processes, and outcomes in research publications as lead or co-author 

•       Maintaining suitable performance levels for the software as the users and the size or complexity of the datasets grow 

•       Following the principles of good software design, development, and documentation practices 

•       Maintain up to date technical and user documentation for the software 



•       Demonstrate collaborative approach to software engineering 

•       Liaise directly with internal / external colleagues in an independent manner 

•       Use initiative, discretion, knowledge and experience in planning, coordination and problem-solving 

•       Demonstrate ownership of tasks and development of solutions to problems 



•       Maintain an awareness and observation of ethical rules and legislation governing the storage of projected data 

•       Maintain an awareness and observation of confidentiality agreements with collaborators and external organisations 

•       Maintain an awareness and observation of appropriate procedures for the disclosure and protection of inventions and other intellectual property generated as part of the post holder’s activities and other team members working within the project 



•       To attend regular project meetings and training courses for professional and personal development as required 


Communication & Networking

•       Develop and maintain effective working relationships with staff within the School as well as externally 

•       Regularly communicate information in a clear and precise way 

Decision Making, Planning & Problem Solving

•       Lead in decisions that have a significant impact on their own work, that of others and be party to collaborative decisions 

•       Manage own workload, prioritising these in order to achieve their objectives 

•       Communicate to management any difficulties associated with carrying out work tasks 

•       Resolve problems where the solution may not be immediately apparent and where there is a need to use judgement to achieve resolution 

•       Plan in advance for heavy workload 

•       Use own initiative and creativity to solve problems 


The above list of responsibilities may not be exhaustive, and the post holder will be required to undertake such tasks and responsibilities as may reasonably be expected within the scope and grading of the post.  

Skills, knowledge, and experience 

Essential criteria  

1.      PhD in Computer Science or related field 

2.      Expertise in web development: JavaScript (especially D3.js) and Python 

3.      Database experience with CouchDB server, PouchDB client or similar 

4.      Experience handling MIDI, mp3, JSON, CSV file formats 

5.      Experience in understanding and interpreting user requirements 

6.      Expertise in software design 

7.      Experience in application of software best practices 

8.      Expertise with code management on Git 


Desirable criteria

1.      Experience in sound and music computing 

2.      Experience processing cardiovascular (e.g. electrocardiographic) data 

3.      Expertise in music and physiological signal processing 

4.      Expertise in curating large datasets 

5.      Experience with continuous integration / continuous delivery 

6.      Experience in expressive music performance

Similar jobs

Similar jobs