Internships
Register
Register
Copyright © 2000—2026 JetBrains s.r.o.

Runtime snapshot creation for Kotlin Notebook

Register

Description

Snapshot creation is a widely used tool for system backups, reducing warmup time, etc. Generally, a snapshot represents a particular state in a moment of time. However, using a snapshot to restore the dynamic system might be a challenging task. Building one for a Virtual Machine implies digging through even an additional layer of abstraction. 


We at the Kotlin Notebook team want to build an integration of CRaC (Coordinated Restore at Checkpoint) tool, which OpenJDK is currently developing.
Kotlin Notebook is an IDE-plugin aiming to facilitate fast prototyping and code-exploration inside a user project. Core functionality consists of two titans: language backend itself (kernel) and IDE-plugin.


Internship will focus on creating a snapshot for the language backend (kernel) on demand as well as restoring from it, so that JVM can snapshot warmed state and restore quickly without a cold start. Eventually, the logic should be integrated inside the Kotlin Notebook code base inside IntelliJ. 


As a pleasant research artifact, performance increase/decrease for startup time would be made. This work opens a road for many interesting features: 

  • reducing startup time latency 

  • sharing Notebook snapshots as artifacts in issue trackers, e.g. as an ultimate container with all the artifacts 

  • side-effects-free evaluations, including reactivity 

Requirements

  • Student or recent graduate in Computer Science, Software Engineering, or related field.

  • Programming experience, familiarity with concurrent programming, Kotlin/Java (experience with IntelliJ Platform plugins is a plus).

  • Basic knowledge of language tooling implementation (debugging, parsing, syntax highlighting).

  • Understanding of JVM internals is a plus

  • Experience with Jupyter kernels is a plus 

Admission

Internship projects 2025-2026

Contact details

internship@jetbrains.com

Area

Development
Research

Preferred internship location

Cyprus
Czechia
Germany
Netherlands
Serbia
UK

Candidate graduation status

Final-year students preferred

Technologies

Debug
JVM
Kotlin
All deadlines are at 23:59 CET/CEST
Applications by 07.11.2025
Interview by 09.12.2025
Final results by 10.12.2025