Pharo Virtual Machine Engineer / Isolation (M/F)
Contract type : Fixed-term contract
Level of qualifications required : PhD or equivalent
Other valued qualifications : Ingénieur
Fonction : Temporary scientific engineer
Level of experience : From 5 to 12 years
About the research centre or Inria department
The Inria Centre at the University of Lille was set up in 2008 and employs 360 people, including 305 scientists in 16 research teams. Recognised for its strong involvement in the socio-economic development of the Hauts-De-France region, the Inria centre at the University of Lille maintains close relations with large companies and SMEs. By fostering synergies between researchers and industry, Inria contributes to the transfer of skills and expertise in the field of digital technologies and provides access to the best European and international research for the benefit of innovation and businesses, particularly in the region.
For more than 10 years, the Inria centre at the University of Lille has been located at the heart of Lille's university and scientific ecosystem, as well as at the heart of Frenchtech, with a technology showroom based on avenue de Bretagne in Lille, on the EuraTechnologies site of economic excellence dedicated to information and communication technologies (ICT).
Context
The goal is to develop techniques for optimizing the Pharo runtime and virtual machine in order to significantly improve the performance of a sandbox environment for the isolated execution of Smalltalk/Pharo code, while preserving the language’s dynamic, reflexive, and interactive properties.
Assignment
Responsibilities:
With the assistance of researchers and engineers specializing in programming languages, runtimes, and virtual machines, the successful candidate will be responsible for designing, implementing, and evaluating optimizations that make execution within the Pharo Sandbox as comparable as possible to native execution outside the Sandbox.
In particular, they will study the interactions between:
- the Sandbox mechanism;
- the Pharo runtime;
- the interpreter and bytecode;
- the JIT compiler;
- stack and context management mechanisms;
- memory allocation and the garbage collector;
- reflection and reification mechanisms.
A significant part of the work will involve measuring before optimizing: identifying the main costs of the Sandbox, proposing optimization hypotheses, implementing them, and then validating them experimentally.
Responsibilities:
The successful candidate will be responsible for designing and implementing the experiments necessary to optimize the Pharo Sandbox and will take the initiative to identify new optimization opportunities at the runtime and VM levels.
Main activities
Main Responsibilities:
- Analyze and characterize the costs of Sandbox execution.
- Design optimizations at the runtime, interpreter, and JIT compiler levels.
- Develop and integrate prototypes into the Pharo VM.
- Design and run reproducible benchmarks to measure the gains achieved.
- Document, present, and disseminate the results in the form of software and scientific contributions.
The successful candidate will collaborate with researchers and developers on the Pharo project, as well as with contributors to the Pharo VM—who develop and maintain the language, its runtime environment, and its virtual machine—to design and evaluate new optimization techniques for the Sandbox and the runtime. They may also collaborate with researchers working on:
- dynamic languages;
- virtual machines;
- JIT compilation;
- reflexive programming;
- secure execution environments;
- interactive development tools.
Skills
Technical Skills and Required Qualifications:
- Programming: Proficiency in a programming language; experience with Smalltalk/Pharo is a significant asset.
- Dynamic Languages and Environments: Interest in and understanding of the execution mechanisms of dynamic languages.
- Runtime / Virtual Machine: Knowledge of runtime architecture, interpretation, bytecode, or virtual machines.
- Optimization: Ability to analyze program performance, build benchmarks, and identify the main execution costs.
- System development: Proficiency in C/C++ is appreciated for working at the VM level.
- Compilation / JIT: Knowledge of compilation principles and just-in-time (JIT) compilation is appreciated.
- Experimental Methodology: Ability to design reproducible experiments, analyze results, and compare different approaches.
- Development Tools: Proficiency in standard software development, version control (Git), and testing tools.
Languages:
- French: Fluent or strong professional communication skills.
- English: Good professional proficiency, particularly for reading scientific literature and technical documentation, and for communicating with an international community.
Interpersonal Skills:
- Intellectual curiosity and a passion for exploring complex technical topics.
- Ability to work independently while regularly consulting with team members.
- A passion for collaborative work and the ability to share knowledge and findings.
- Ability to present and explain technical findings to audiences with varying levels of expertise.
- A critical mindset and the ability to question existing technical choices.
- Perseverance when faced with problems that are difficult to reproduce or diagnose.
- Rigor in conducting experiments and analyzing results.
Additional skills that are a plus:
- Experience with Pharo or Smalltalk.
- Experience in developing or optimizing a virtual machine, runtime, or compiler.
- Knowledge of JIT, garbage collection, stack management, bytecode, or dynamic dispatch.
- Experience with experimental research and/or scientific publishing.
- Contributions to open-source projects, ideally in the field of programming languages or runtime environments.
- Experience with profiling and benchmarking tools.
- Interest in interactive and reflexive development environments.
Benefits package
- Subsidized catering
- Public transport partially reimbursed
- Leave: 7 weeks‘ annual leave + 10 days’ RTT (full-time basis) + possibility of exceptional leave (e.g. sick children, moving house)
- Possibility of teleworking and flexible working hours
- Professional equipment available (videoconferencing, loan of IT equipment, etc.)
- Social, cultural and sporting benefits (Association de gestion des œuvres sociales d'Inria)
- Access to professional training
Remuneration
Remuneration according to profile
General Information
- Theme/Domain :
Distributed programming and Software engineering
Software engineering (BAP E) - Town/city : Villeneuve d'Ascq
- Inria Center : Centre Inria de l'Université de Lille
- Starting date : 2026-12-01
- Duration of contract : 12 months
- Deadline to apply : 2026-09-30
Warning : you must enter your e-mail address in order to save your application to Inria. Applications must be submitted online on the Inria website. Processing of applications sent from other channels is not guaranteed.
Instruction to apply
Please send your CV and cover letter
Defence Security :
This position is likely to be situated in a restricted area (ZRR), as defined in Decree No. 2011-1425 relating to the protection of national scientific and technical potential (PPST).Authorisation to enter an area is granted by the director of the unit, following a favourable Ministerial decision, as defined in the decree of 3 July 2012 relating to the PPST. An unfavourable Ministerial decision in respect of a position situated in a ZRR would result in the cancellation of the appointment.
Recruitment Policy :
As part of its diversity policy, all Inria positions are accessible to people with disabilities.
Contacts
- Inria Team : EVREF
-
Recruiter :
Polito Guillermo / Guillermo.Polito@inria.fr
The keys to success
Curious and passionate about programming languages, runtime environments, and virtual machines, you enjoy understanding what happens “under the hood” and aren’t afraid to drill down several levels of abstraction to find the root cause of a performance issue.
You enjoy experimenting, measuring, and challenging existing solutions. You’re comfortable with an experimental research approach: formulating a hypothesis, building a prototype, measuring its effects, analyzing the results, and starting over.
A strong knowledge of Smalltalk/Pharo, dynamic languages, runtimes, compilation, or virtual machines is a real asset. Experience with C/C++, JIT compilation, performance optimization, or VM architecture will be particularly valued.
Beyond technical skills, we’re looking for someone who is self-reliant, curious, and pragmatic—someone who enjoys working at the intersection of research and software development. You enjoy working in a team, know how to share your findings, and are able to quickly grasp a complex technical field.
A love of learning, experimenting, and gaining deep understanding are essential qualities for success in this role. A background or experience in computer science, systems, programming languages, or related fields is required; research experience (Ph.D. or equivalent) is a real asset.
About Inria
Inria, the French national institute for research in digital science and technology, supports the French government in national research and innovation strategies in the digital field, acting as Digital Programs Agency. Inria leads over 300 research and innovation projects with its 3,500 scientists, engineers, and support staff, in partnership with universities and the digital ecosystem (businesses, entrepreneurs, and public stakeholders). Together, we explore strategic fields such as artificial intelligence, cybersecurity, quantum computing, cloud technologies, digital transformation in healthcare, digital twins, and digital technologies for defence. We develop practical solutions such as software, tech startups, partnerships with national companies, and cutting-edge training programmes. Our goal is to drive scientific, technological, and industrial excellence to ensure France’s digital sovereignty.