Researcher in Software Engineer The Alan Turing Institute School of Statistics, Software Engineering and Computational Mathematics United Kingdom

Title :Researcher in Software Engineer
Employer:The Alan Turing Institute

Job location :British Library, 96 Euston Road, London NW1 2DB, UK, NW1 2DB London
Published :April 30, 2019
Application deadline: July 30, 2019
Job types :Researcher, Engineer, Research assistant, Other

Fields: Statistics,  Software Engineering, Computational Mathematics



Company Description
The Alan Turing Institute is the UK's national institute for data science and artificial intelligence. The Institute is named in honour of the scientist Alan Turing and its mission is to make great leaps in data science and artificial intelligence research in order to change the world for the better.


The Role

The permanent research staff of the institute's Research Engineering Group work to realise cutting edge research as professionally usable software tools and to apply these to address real-world data science and modelling challenges.

The group's staff are research software engineers and data scientists. We note the considerable overlap between these emerging roles and embrace the breadth of interdisciplinary skills and diversity of approaches entailed in these fields. Staff can choose either job title, and change their choice as their career progresses.

In contrast to traditional research careers, we are committed expert collaborators, joining research teams to further the Institute's challenges. We collaborate with scholars across the institute's research community to enhance the applicability of research for particular problems. We work with clients in industry, government and the third sector to turn their data challenges into research questions. We value expertise across many domains and rely on this diversity to design tools, practices and systems to harness the power of data science around the world.

We create software and scripts that implement research and apply it to client data in a readable, reliable and reproducible fashion. We present conclusions of research and analysis to the research community and clients through presentations, research papers, and interactive data visualisations. We work with state of the art advanced high performance computing and cloud platforms to realise collaborators' data science and artificial intelligence research at scale.

We support the dissemination of research outputs through the publication and maintenance of open source research software packages. We contribute to the sustainability of the open source ecosystem by adding features, fixing bugs, maintaining tools, and supporting community management in new and existing packages.

Main Responsibilities

Successful candidates will:

Apply state-of-the-art and novel data science and artificial intelligence techniques emerging from the Institute and elsewhere to problems faced by the Turing's clients

Understand the problems of clients in the public, private and third sectors, and develop appropriate approaches to solving these problems.

Understand which data are, or might be, available; and collect and manage this data.

Perform analyses, which might include: building statistical models; applying machine learning techniques; building models and simulations; or applying optimisation techniques.

Document processes for effective and efficient reuse across multiple domains.

Collaborate with research colleagues to develop and maintain software embodying research outputs

Develop a good understanding of the relevant theory and the needs of potential users of the software

Be responsible for the programming effort, including design and planning

Test and validate the software to a high quality standard

Present, disseminate and explain our work

Feedback the outcomes of analyses to clients and customers in the public, private, and third sectors in written form and in presentations.

Share research in the practice of data science and artificial intelligence with the scholarly community through research papers and conferences.

Publish, distribute, document and maintain research software packages.

Contribute to the life of the Institute and support its community

Deliver teaching and training to colleagues and students, including within the team in our regular skills sessions.

Support research colleagues to make the most of the institute's secure high performance computing environments for advanced research.

In addition, for senior staff only:

Provide technical project management and leadership for 1-3 research projects, ensuring successful outcomes, liaising with clients and colleagues to understand and prioritise project goals, and balancing client value with research outputs.

Line manage 1-3 other staff within the group, supporting their career development aspirations.

Take ownership of a particular domain challenge area or methodology for the group.

Develop new projects in conjunction with colleagues, authoring research proposals and agreeing involvement for the group in activities across the institute.


A PhD degree or equivalent professional experience in a field with significant use of both computer programming and advanced statistical or numerical methods.

Skills and experience


A PhD degree or equivalent professional experience in a field with significant use of both computer programming and advanced statistical or numerical methods.

Experience managing, structuring, and analysing research data.

Experience managing and organising the parameters and results of computational experiments.

Fluency in one or more modern programming languages used in research in data science and artificial intelligence. (We particularly work in R, Python, and modern C++, but demonstrable use of other programming languages for research, together with a facility for learning new languages, is most welcome.)

An understanding of the importance of good practices for producing reliable software and reproducible analyses (e.g. version control, issue tracking, automated testing, package management, literate analysis tools such as Jupyter and Rmarkdown)

Demonstrated enthusiasm and ability to rapidly assimilate new computational and mathematical ideas and techniques on the job, at a more than superficial level, and apply them successfully.Excellent written and verbal communication skills, including experience in the visual representation of quantitative data, documentation of software packages or data resources, the authoring of research papers or technical reports, and giving presentations or classes on technical subjects.

Ability to lead one's own work independently, including planning and execution, and to collaborate productively as part of a team.

In addition, for senior staff only:

Experience mentoring and evaluating the work of others (formal line management experience is not essential, but such applicants should be able to show significant evidence of informal mentorship.)Experience leading a project to a successful conclusion Demonstrable experience managing conflict and resolving stakeholder tensions

EITHER Experience in making or evaluating the case for new projects (e.g. authoring or evaluating research proposals or business cases) OR Experience of managing, prioritising and resourcing a project portfolio.


Members of the research engineering group have a diverse range of experiences and backgrounds. Below are just some of the skills and experience we value that you might be able to bring to the team. We do not expect any single candidate to have all these experiences and if you have experience of a few of these in addition to the essential skills listed above, we would encourage you to apply. The list is also not exhaustive and if you have skills and experience you feel are relevant to the role that aren't listed here, we'd still like to hear from you.

We are a learning team and combine many techniques and approaches across our projects, so successful candidates will be able to demonstrate having learned new skills and, importantly, a commitment to develop new expertise in areas they have not already. Again, while the ability and commitment to learn new skills is critical, we would not expect all team members to learn all of the skills listed below. Different team members develop different areas of expertise and interest and we combine these across the team to support the full range of projects we work on.

Machine learning, including experience with one or more established software libraries.

Computational statistics, particularly Bayesian modelling.

Visualisation for understanding large, complex, or high-dimensional data

Knowledge management and ontology engineering, semantic web.

Mathematical and computational modelling of complex systems.

Logic, planning, verification, and automated reasoning.

Programming language and API design. Domain specific languages.

Exposure to mixed or qualitative research methods

User interface design and development with web technologies, especially for data visualisation and knowledge representation.

Writing technical documentation.

Advanced numerical simulation (e.g. FEM, CFD...)

Experience with public cloud platforms.

Experience working with confidential and sensitive data for research.

Developing for high-performance computing hardware (CUDA, MPI, OpenMP).

Experience contributing to, maintaining and/or leading open source research software projects.

Experience building open source communities.

Working with databases and APIs for the acquisition of parameter information for models.

Experience working with legacy code, especially in traditional scientific programming languages (eg, Fortran, MATLAB, C).

Developing and/or delivering teaching and training in computational or mathematical methods for research.

Developing and/or delivering teaching and training in applications of data science methods for non-programming experts.

Automated testing, software quality assurance and continuous integration.

Other information

If you apply for this position please say you saw it on Computeroxy


All Jobs


Harvard University Academic Positions

Kuwait University Current Faculty Openings

Osaka University Academic Opportunities

Purdue University Job Postings for Faculty Positions

Texas Tech University Faculty Openings

Tsinghua University Job Postings

University of Cambridge Job Openings

University of Geneva Faculty Opportunities

University of New South Wales Job Openings

University of Nottingham Research Positions

University of Oslo Academic Jobs

University of Saskatchewan Faculty Positions

University of Southampton Research Vacancies

University of Tokyo Current Academic Vacancies

University of Toronto Open Faculty Positions