GraalVM Internship Program

The GraalVM team has created a universal virtual machine with an ambitious goal to make software engineers all over the world more productive. After years of research, GraalVM is now a production-ready technology, bringing performance improvements and additional capabilities to a wide range of languages and platforms.

Now we are expanding our GraalVM internship program with several openings, available for all our research centers. This is a great opportunity to work and learn within an international team of professionals and contribute to the project success. We are proud for our ongoing collaboration with several acknowledged universities, such as Johannes Kepler University in Linz, Charles University of Prague, Technical University of Berlin, University of Edinburgh, LaBRI, University of California (Irvine), Purdue University, Technical University of Dortmund, University of California (Davis), and the University of Lugano. Keep reading to find out about research centers, possible research topics and application process.

Opportunities for You

  • Get a chance to apply your skills and knowledge to solve complex computer problems
  • Contribute to an open-source technology
  • Work in a distributed self-driven international team
  • Gain invaluable experience in what it is like to work at a leading global hardware and software systems innovator
  • Learn from the colleagues who are industry experts and scientists
  • Choose one of our research centers across the globe

Our Research Center Locations

We have multiple research centers on-site, but we appreciate candidates coming from any location around the globe. Turn your home office into a new research location!

Zurich, Switzerland

Linz, Austria

California, USA

Prague, Czech Republic

Brno, Czech Republic

Lviv, Ukraine

Casablanca, Morocco

Belgrade, Serbia

Brisbane, Australia

Possible Research Areas

  • Improve the code inlining efficiency for the Graal compiler
  • Implement support in GraalVM Native Image for upcoming JDK features, like continuations (OpenJDK project Loom) or foreign function interfaces (OpenJDK project Panama)
  • Reduce memory footprint and improve peak performance of ahead-of-time compiled code
  • Add a new high-throughput and low-footprint Garbage Collector (GC) for GraalVM Native Image
  • Implement RISC-V backend for GraalVM Native Image
  • Work on ahead-of-time (AOT) compilation of Java programs to JavaScript
  • Improve the compilation efficiency by code re-use for the Truffle framework
  • Investigate compilation-ordering heuristics that reduce the compilation time for the Truffle framework
  • Improve GraalVM's Python, Ruby, and JavaScript runtime implementations
  • Join the efforts to investigate additional optimizations and build a native-image of the Java compiler for our fully meta-circular Java runtime
  • Optimize the GraalVM WebAssembly runtime for popular frameworks and libraries
  • Improve the peak performance for code with frequent native calls in GraalVM's LLVM runtime
  • Create better tooling for polyglot programming and other GraalVM features also by testing these.
  • Help us improve the Micronaut microservice framework
  • Implement support for Scala and Kotlin for the Micronaut framework
  • Secure code and data belonging to different trust domains

The above research topics are informative, we are open for suggestions depending on skills and qualifications of the applicants.

Video exploring GraalVM Internship Program topics and research areas for 2021 in detail

Your Skills

Given the broad range of opportunities, specific skills will depend on the specific topic. In general, if you can tick several of the following skills, we probably have a place for you:
  • Strong Java programming knowledge (required)
  • Fluent English communication (required)
  • Experience with compiler technology
  • Node.js developer experience
  • Programming experience in one or more of the following languages:
    • JavaScript
    • Python
    • Ruby
    • R
    • C/C++

How to Apply

In order to apply, please send an email to including the following:
  • Your CV or link to your home page containing your curriculum
  • Description of your motivation and area of interest
  • Your preferred location
  • Link to your GitHub profile (optional)

The length of the internship can vary based on the candidate’s constraints. The usual duration is 6 months. We pay a competitive salary depending on the location of choice. By sending in your application you opt-in for processing your personal information.

The application is open.

In case you would like to opt-out from your internship application, please send an email to You can learn more about Oracle Recruiting Privacy Policy here: Oracle Recruiting Privacy Policy.

Connect with us