New offer - be the first one to apply!
May 12, 2026
Senior • Remote
23,500 - 31,000 PLN
Krakow, Poland
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
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.
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
Flexible hybrid work model
Home office reimbursement
Language lessons
MyBenefit points
Private healthcare
Training Package
Virtusity / in-house training
And a lot more!