• Open positions
  • Get to know us
  • FAQ
Open positions

Kotlin Engineer – (Senior/Staff)

Kotlin Engineer – (Senior/Staff)
B2B23 500 - 31 000 PLN NET PER MONTH
LOCATION + Remote Poland: Kielce, Kraków, Wrocław
Apply now

VirtusLab is a leading European software consulting and engineering company, home to over 350 EU-based professionals. Our mission is to craft clean code and practical solutions with precision and purpose. We foster a dynamic culture rooted in strong engineering, a sense of ownership, and transparency, empowering our team. As part of the expanding VirtusLab Group, we offer a compelling environment for those seeking to make a substantial impact in the software industry within a forward-thinking organization.

About the role

We are looking for engineers interested in building various tooling using mainly Kotlin. Our team is working on IntelliJ plugin, IDEs, coding agents or frameworks for Local AI inference. Your job will be focused 100% on technology and your users will be developers. You will work withing, small, flexible team and you will have a lot of authonomy: you will be responsible for design, scope, testing and implementation. You will work with tooling engineers, and you will be part of an organisation specialized in developer tooling.

Kotlin/Java Expert
Kotlinx.coroutines / concurrent programming Advanced
Compose Desktop (Jetpack Compose) Nice to have
Kotlin multiplatform Nice to have
Build tools/IDE development Nice to have
English Advanced
View available projects
Project
Local Inference Platform
Project Scope

We are building a desktop application for deploying and configuring local inference on local devices (e.g. NVIDIA Spark / DGX Spark), managing model lifecycle (start/stop), and connecting coding agents like Claude Code and Codex to locally hosted models. Currently an internal MVP, on the road to open source.

Tech Stack

Kotlin, Compose Desktop (with JetPack Compose roots), kotlinx.coroutines, REST APIs for model deployment management

Agent layer: configuration files in toml/json/yaml, LLM proxy routing from agents to BE

Packaging: native installers — msi (Windows), deb (Linux), dmg (macOS) 

Challenges

Building a desktop control plane for local AI agents that abstracts away the messy parts of running LLMs on heterogeneous hardware — model lifecycle, proxy routing, agent configuration, and OS-specific quirks (path separators, signing, packaging) — while keeping the system extensible enough to evolve toward open source. Visualising model statistics and system load on top of a backend that actually does the deployment.

Team

Small, startup-like team on the JetBrains side — no bureaucracy, direct contact with potential users, fast iteration. Code reviews as part of the process.

Project
IDE's

The project focuses on building and enhancing IDEs and core plugins within JetBrains platform that powered well-loved IDEs like IntelliJ, PyCharm, GoLand, PHPStorm, RubyMine and more. It involves implementing support for technologies and languages  like PHP, Ruby, Scala, Bazel or Kotlin by working deeply with their ecosystems. The goal is to deliver stable, high-quality tools that improve the daily workflows of developers.

Tech stack

Kotlin, Java, Kotlin Coroutines, technology specific to the IDE/Plugin (e.g Ruby for RubyMind)

Your future team

The core team consists of experienced engineers focused on specific JetBrains IDEs or plugins, working primarily with Kotlin. They collaborate closely with external contributors and users to deliver stable, high-quality developer tools.

What we expect in general

  • Strong Kotlin skills or Strong Java expertise with knowledge of Kotlin
  • Understanding of asynchronous and concurrent programming, at best with Kotlin Coroutines
  • High agency and ability to drive work in a changing environment
  • Engineering pragmatism: cutting complexity while keeping the system extensible
  • Hands-on experience using LLMs daily, with the judgment to know when they help and when they don’t
  • Fluency in English, with good communication skills for a remote-first team
  • Self-motivation and the ability to take full ownership of features end-to-end

Nice to have

  • Experience with different LLM agents and their configurations
  • Experience with IDE development, especially around JetBrains IDEs
  • Hands-on experience with developer tooling (compiler, build tools, linters, IDE, agents)
  • Experience with creating OS-native, desktop applications
  • Experience with creating GUIs using JVM (Swing, SWT, etc.)

 

 

A few perks of being with us

Building tech community
Building tech community
Flexible hybrid work model
Flexible hybrid work model
Home office reimbursement
Home office reimbursement
Language lessons
Language lessons
MyBenefit points
MyBenefit points
Private healthcare
Private healthcare
Training Package
Training Package
Virtusity / in-house training
Virtusity / in-house training
And a lot more!

Apply now

Kotlin Engineer – (Senior/Staff)

"*" indicates required fields

Accepted file types: pdf, Max. file size: 5 MB.
Please submit a CV no longer than two pages.
Current recruitment process: For the purpose of recruitment, I hereby give consent as per art. 6.1.a of the GDPR to processing of my personal data (other than that listed in art. 22 [1] § 1 Labour Code) by Virtus Lab Sp. z o. o. (as Co-Controller for a full list of joint controllers, see Privacy Policy) with its headquarters at Szlak 49 Street, 31-153 Cracow. At the same time I accept the Privacy Policy of the Data Controller. I acknowledge that my personal data will be kept for the duration of the recruitment process and as regards any potential claims, for the period of 36 months maximum, and that I have the right to access this data or have it rectified or deleted on demand. This consent can be withdrawn at any time, but this withdrawal does not make the previous processing illegal*.(Required)*

Current recruitment process: For the purpose of recruitment, I hereby give consent as per art. 6.1.a of the GDPR to processing of my personal data (other than that listed in art. 22 [1] § 1 Labour Code) by Virtus Lab Sp. z o. o. (as Co-Controller for a full list of joint controllers, see Privacy Policy) with its headquarters at Szlak 49 Street, 31-153 Cracow. At the same time I accept the Privacy Policy of the Data Controller. I acknowledge that my personal data will be kept for the duration of the recruitment process and as regards any potential claims, for the period of 36 months maximum, and that I have the right to access this data or have it rectified or deleted on demand. This consent can be withdrawn at any time, but this withdrawal does not make the previous processing illegal*.

(Required)
Future recruitment processes: I hereby give consent as per art. 6.1.a of the GDPR to the processing of my personal data by Virtus Lab Sp. z o. o. (as Co-Controller for a full list of joint controllers, see Privacy Policy) with its headquarters at Szlak 49 Street, 31-153 Cracow, in order to use this data in future recruitment processes. I hereby agree to possible storage of my personal data for this purpose in Virtus Lab’s database for a period of 36 months maximum. At the same time I accept the Privacy Policy of the Data Controller. I acknowledge that I have the right to access this data or have it rectified or deleted on demand. This consent can be withdrawn at any point, but this does not make the previous processing illegal*.

Future recruitment processes: I hereby give consent as per art. 6.1.a of the GDPR to the processing of my personal data by Virtus Lab Sp. z o. o. (as Co-Controller for a full list of joint controllers, see Privacy Policy) with its headquarters at Szlak 49 Street, 31-153 Cracow, in order to use this data in future recruitment processes. I hereby agree to possible storage of my personal data for this purpose in Virtus Lab’s database for a period of 36 months maximum. At the same time I accept the Privacy Policy of the Data Controller. I acknowledge that I have the right to access this data or have it rectified or deleted on demand. This consent can be withdrawn at any point, but this does not make the previous processing illegal*.

Karolina Buraś
Coordinated by
Karolina Buraś
Senior IT Talent Acquisition Specialist
linkedin
Kotlin Engineer – (Senior/Staff)
B2B23 500 - 31 000 PLN NET PER MONTH
LOCATION + Remote Poland: Kielce, Kraków, Wrocław
Apply now
group of people gathered together
Not sure if this role is right for you?
It doesn't mean that you don't match. Tell us about yourself and let us work on it together.
Contact us
We create and engineer software
Privacy Policy