Research Assistant / Associate (Software Engineer)

Imperial College London

Job description
Job summary

While machine-leaning enabled systems have witnessed huge advances in recent years, concerns surrounding their adequacy and safety have also grown, for instance in the context of high-risk, decision making. Including human agents in their design (to provide oversight and control) has been often considered as a reasonable solution for overcoming such concerns. However, ensuring the safe design for human-in-the-loop machine-leaning enabled systems remains an open challenge that requires meticulous integration of methods from software engineering, machine learning and human-computer interaction. 

We are seeking a research software engineer to support the design and development of a human-in-the-loop machine-leaning enabled systems for deployment in the Policing domain. The tool must be interactive, allowing users to provide feedback on machine learning predictions and outputs, without comprising its usability and utility. The project will particularly focus on ML-enabled systems for tackling online child sex offending. 

The post-holder will work closely with users to understand their requirements before working with them and other members of the academic team to guide the design, and implement appropriate solutions. They will have access to the research software engineering team for additional support in the selection of appropriate technologies but will be expected to take ownership for their own work and routinely make technical decisions.

The consortium is comprised of academics and researchers from Aston University, University of Bath, University of Birmingham and Imperial College London. The post-holder will be part of the software engineering group at Imperial College. The post-holder will thus have the opportunity to develop their expertise on dissemination of research through interactions with other researchers in Forensic Psychology and Linguistics. 

The role presents an opportunity to actively participate in research, applying innovative technologies to diverse and meaningful challenges. It will suit a well-organised and open-minded engineer keen to participate in a broad variety of software development and data science projects in a multidisciplinary team. 

Imperial College London is a world-class university with a mission to benefit society through excellence in science, engineering, medicine and business.  According to recent REF 2021, the College ranked top in the UK overall – with a greater proportion of 4* “world-leading” research than any other UK university. Imperial ranked first in the UK for research outputs, first in the UK for research environment, and first for research impact among Russell Group universities.  With the highest research grant income of any UK university, Imperial also has a long and successful track-record of technology development and commercialization.

The Department of Computing at Imperial College London is a leading department of Computer Science among UK Universities. The department has achieved top results in each of the research assessment exercises undertaken by the Higher Education Funding Council for England. There are over fifty academic staff members actively involved in research, creating a lively and stimulating atmosphere. The department is located in central London, next to Hyde Park and the museums of South Kensington.

Duties and responsibilities

  • To develop software solutions fit for non-expert use.
  • To work with the team and crime analyst end-users towards a safe, trusted and regulatory-compliant maintainable software solution.
  • Identify and specify user requirements and deliver solutions to ensure they are met.
  • Re-use existing knowledge and software to address novel research challenges, building prototypes where appropriate.
  • Collaboratively select appropriate technology and design systems for reliability and maintainability.
  • Employ best-practice approaches to software engineering, including testing, issue tracking and version control.
  • Work closely with other developers and domain experts.
  • Develop and/or deploy tools, infrastructure and approaches for natural language processing and machine learning.
  • Develop for web-based platforms using the most relevant tools and languages e.g., JSON, XML, java-script.
  • Write and maintain documentation to support ongoing use and development of the software
  • Maintain highly organised and accurate record of experimental work.

The post-holder will liaise closely with stakeholders and researchers to understand their requirements before working with them and other members of the team to guide the design and implement appropriate solutions. You will be expected to take responsibility for your own work and routinely make technical decisions.

Essential requirements

  • You need to have lived in the UK for the 3 of the last 5 years as this position requires national security vetting
  • At Research Assistant Level – Undergraduate degree (or equivalent) or Master’s degree (or equivalent) in a relevant subject.
  • At Research Associate Level – A PhD (or equivalent experience) in a relevant area.
  • Demonstrable knowledge of languages commonly used for research computing: Python and R or MATLAB.
  • Full-cycle software development, including design, implementation and deployment.
  • Significant involvement in a least one substantial software project using relevant technologies
  • Experience of writing software as part of a team.
  • Knowledge of best-practice techniques for software development including testing, build automation and continuous deployment, and the use of containers.
  • Practical knowledge of machine learning and statistical tools.

See job description for full list of essential requirements.

You need to have lived in the UK for the 3 of the last 5 years as this position requires national security vetting with a requirement to obtain and maintain Security Check clearance:

For this reason, upon offer, the post-holder must be prepared to go through vetting.  The continuation of the contract is conditional on a successful vetting outcome.

*Candidates close to completion of their PhD will be initially appointed as a Research Assistant within the salary range £38,194 – £41,388 per annum.

Further information

In addition to completing the online application candidate should attach. 

  • A two-page CV including a publication list.
  • A two-page research statement

Informal inquiries are encouraged and can be addressed to Dr Dalal Alrajeh: [email protected]  

For queries regarding the application process contact Jamie Perrins: [email protected]


View or Apply
To help us track our recruitment effort, please indicate in your cover/motivation letter where ( you saw this job posting.

Job Location