• Posted on: 05th Nov 2021
  • Salary: Grade 6 - £38,826 to £44,427
  • REF: 036186
  • Closes: 21st November 2021
  • Contract Type: Fixed-Term/Contract
  • Hours: Full Time

Job description

The successful applicant will join a thriving programming languages research group in the Department of Informatics at King’s College London. He/she will work on a project investigating how to migrate programs between different language versions.

This position requires a mix of research and engineering to understand how to migrate programs between different versions of a language, using Python 2 to Python 3 as a concrete example. We will need to tackle the problem from different angles, for example augmenting CPython 2.x to dynamically identify idioms which will cause problems under Python 3. Excellent programming skills (C and Python are particularly useful, but excellence can be shown in any other programming language too e.g. C++/Java/Rust) are required for this role as is the ability to work well with others (this project is split between Glasgow and King’s). The successful applicant will work in a friendly team with existing Python and VM skills (see https://soft-dev.org/ for examples).

For further information about the Department of Informatics at King’s, please see https://nms.kcl.ac.uk/luc.moreau/informatics/overview.pdf.

This post will be offered on an a fixed-term contract for 12 months

This is a full-time post – 100% full time equivalent

Key responsibilities

  • Conduct research within the scope of the project
  • Write and/or contribute to the writing of research publications
  • Implement and evaluate research methods
  • Participate in dissemination activities

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

  • PhD awarded in programming languages [or near completion].
  • Programming in languages such as C/C++/Java/Python/Rust
  • Proven ability to work independently
  • Excellent interpersonal / team-working skills
  • Flexible approach to working and a desire to develop skills

Desirable criteria

  • Experience in programming within Virtual Machine systems
  • Experience in compilers

Employer Achievements:

company awardcompany award