JetBrains logo

Internships at JetBrains

We offer flexible full- and part-time paid intern positions in European countries where our offices are located. Choose an interesting project or five, tackle the test task, shine at the interview and experience JetBrains!

Application submissions are open now! The deadline for applications is December 30, 2024.

Scroll down to read about some of the teams that regularly hire interns.

How to apply

To access the projects that are available in your area, make sure to log in to the Internship platform and fill out your profile. After that, you will be able to see the list of internship projects in the Internships tab and apply.

An application submission includes a completed test task for each project you choose. It should be submitted by December 30, 2024.

Please note that we do not provide visa/work permit support within the internship framework, so we can only offer internships to candidates who have a work permit in the EU, Serbia or Armenia.

What are JetBrains internships like?

All our interns are involved with real projects, and just like the regular staff members, they will have a high level of autonomy and responsibility given to them in terms of the problems they will concentrate on solving. A JetBrains industry internship gives students the opportunity to become a fully fledged member of the product team, working on challenging issues alongside some of the best developers in their field.

Choose your project

The first step to becoming a JetBrains Intern is to find a project which interests you. We publish all available projects in our Internship platform - this usually happens in autumn and in spring. You can apply for up to 5 projects. Be sure to sign up in the app and fill out your profile so we can get to know you better!

Stand out from the competition

To become an intern at JetBrains, you will need to participate in a two-step contest. The first step is a test task specific to the project you chose. If you succeed with the task, you will move on to the second step – an interview with the project mentor.

Become a member of the team

With our internships, you will gain valuable insight and experience into cutting-edge programming and enhance your skills beyond those of a typical internship position. You will become a member of the team and get to work on fascinating projects alongside dedicated colleagues.

Below you can read about some of the internship projects that are available now:

Gradle plugin for AI coding agents

In this internship, you will work at the intersection of artificial intelligence, software engineering, and automation, contributing to the advancement of AI-powered coding agents. These agents, backed by large language models (LLMs), interact with IDEs and build tools to autonomously tackle complex programming and build tasks, making them powerful assets in modern software development.

A core challenge in automating coding workflows lies in creating a reliable build agent—a specialized AI that can prepare and build arbitrary projects. This project will focus on Gradle-based systems, where, in an ideal scenario, the gradle build command would initiate and successfully complete a build. However, real-world projects often have gaps: build scripts may be incomplete, dependencies may be missing, or required setup steps from README files may have been overlooked. This is where intelligent coding agents come into play, able to navigate complex project requirements and execute builds effectively.

Your primary objective will be to design and implement a Gradle plugin that operates within the Gradle environment and exposes internal tools and project metadata to external AI agents. This plugin will serve as an essential bridge, providing AI agents with rich, structured information about Gradle projects, enabling them to understand and resolve build issues intelligently.

Probabilistic Service Fault Diagnosis (BAAS)

Context

Modern software systems are increasingly sophisticated: components are distributed across different geographical locations, users expect high availability, and systems are interconnected. Operators need fault detection, isolation, and troubleshooting to ensure quick diagnosis and effective remediation between system operators and developers.
Many data-driven approaches exist, but few address the uncertainty in software system monitoring. This uncertainty arises from sensor limitations, system complexity, and the association of multiple symptoms with a single fault.

Objective

This project aims to evaluate the effectiveness of Bayesian Networks when integrated with real monitoring data and alarms.
Specifically, can Bayesian Networks:

  • Reduce false positive alerts that overwhelm on-call engineers.
  • Encode missing associations between monitoring events to help engineers develop a consistent mental model of system behavior.
  • Measure system performance to categorize it as below, in line with, or above expectations.

Design and prototype Swift Package Manager integration for Kotlin Multiplatform ecosystem

Kotlin Multiplatform enables developers to reuse Kotlin code across various platforms, including iOS applications. With Swift Package Manager now being Apple's preferred solution for library distribution, our goal is to make the integration between Kotlin Multiplatform and Swift Package Manager seamless.

In this project, we invite you to explore how Kotlin Multiplatform can integrate with the Swift Package Manager ecosystem.
Potential approaches include:

  • Investigate how Swift Package Manager dependencies can be utilized in Kotlin Native compilations and within the klib libraries ecosystem
  • Develop a way to import Kotlin Multiplatform projects into Swift Package Manager libraries using SwiftPM's build tool plugins
  • Streamline the process of publishing Kotlin Native as XCFramework binaries within Swift Package Manager packages

We encourage you to think creatively beyond these suggestions and propose your own ideas for integrating Kotlin Multiplatform with Swift Package Manager. By the end of the internship, we expect you to have formulated a research direction and developed a prototype that showcases build tooling improvements.