Research Software Engineer job with KINGS COLLEGE LONDON


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 retrieval and cardiovascular science. The objective is to create web tools to explore and discover the functioning of musical expressiveness and its impact on the perception and physiology of listeners. The goals are to create and extend information visualization and annotation software, incorporate tools for transforming musical expressions, and contribute to software for data collection and computational analysis.

The work will be carried out within the framework of the ERC project COSMOS (Computational Shaping and Modeling of Musical Structures), complemented by the Proof-of-Concept project HEART.FM (Maximizing the Therapeutic Potential of Music through Tailored Therapy with Physiological Feedback in cardiovascular diseases) , on citizen/data science approaches to studying musical expressiveness and on autonomous modulation through music. See

CosmoNote (, COSMOS’ citizen science web portal, was launched in December 2021, allowing participants to mark structures (segmentation, prominence) while listening to music and visualizing synchronous data and feature information layers. The activity, which users rate as enjoyable, collects data about the form and function of musical expressiveness while promoting listener engagement and reflection. Future developments include the integration of web tools to modify expressive features.

CosmoNote is also the platform for retrospective visualization of physiological and musical data collected by the HEART.FM application. CosmoNote extensions include more extensive coverage of physiological information and analysis.

The successful candidate will make major contributions and be involved in all aspects of software design and implementation, taking into account data representation, efficiency, scalability and usability. They will liaise with other members of the research team and with collaborators in multiple areas, and will be able to prioritize and successfully deliver solutions to meet the research needs of the team.

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 adhere to the highest standards. standards of research and integrity. They will ideally be able to demonstrate experience in sound and music computing and/or in physiological signal processing.

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

The research will take place at 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 position will be offered on a 12-month fixed-term contract (renewable until May 31, 2025)

This is a full time position

Main responsibilities

Main responsibilities and results

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

• Implemented efficient and scalable code in JavaScript, especially D3.js and Python

• Expand music and physiological feature sets and visualizations to support advanced analytics

• Work with researchers to develop reproducible analyzes of data to support research publications

• Write clearly about technical design decisions, processes and results in research publications as lead or co-author

• Maintain appropriate performance levels for the software as users and the size or complexity of datasets increase

• Follow the principles of good practice in software design, development and documentation

• Keep the technical and user documentation of the software up to date


• Demonstrate a collaborative approach to software engineering

• Liaise directly with internal/external colleagues independently

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

• Demonstrate ownership of tasks and development of solutions to problems


• Maintain knowledge of and observance of ethical rules and legislation governing the storage of projected data

• Maintain knowledge and observance of confidentiality agreements with collaborators and external organizations

• Maintain knowledge of and observance of appropriate procedures for the disclosure and protection of inventions and other intellectual property generated in the course of the activities of the job holder and other team members working within the project


• Attend regular project meetings and training courses for professional and personal development as needed

Communication and networking

• Develop and maintain effective working relationships with staff within the school as well as outside

• Regularly communicate information in a clear and precise manner

Decision making, planning and problem solving

• Direct decisions that have a significant impact on own work, that of others and participate in collaborative decisions

• Manage own workload, prioritizing to achieve goals

• Communicate to management any difficulties associated with the performance of work tasks

• Resolve issues where the solution may not be immediately apparent and where judgment is required to reach a resolution

• Plan ahead for a 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 the duties and responsibilities reasonably expected within the scope and classification 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 needs

6. Software Design Expertise

7. Experience applying software best practices

8. Expertise in code management on Git

Desirable criteria

1. Experience in sound and music computing

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

3. Expertise in music and physiological signal processing

4. Expertise in curating large datasets

5. Continuous integration / continuous delivery experience

6. Experience in expressive musical performance


Comments are closed.