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
- 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
- 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
- Experience in programming within Virtual Machine systems
- Experience in compilers