Back to jobs
New

Senior Software Developer (Kotlin Compiler - Common Backend)

Belgrade, Serbia; Berlin, Germany; Limassol, Cyprus; Madrid, Spain; Munich, Germany; Paphos, Cyprus; Prague, Czech Republic; Warsaw, Poland; Yerevan, Armenia

About JetBrains

We create intelligent software development tools for developers and teams. More than 15 million users, over 300,000 organizations, and 88 of the Fortune Global Top 100 companies rely on our products to solve real, complex problems. Our mission is simple: make development teams more productive and AI adoptable at scale.

What you’ll do

As part of the Kotlin Common Backend team, you’ll take ownership of the central pipeline that connects the compiler’s frontend with multiple backends. This is deep, technical work that directly influences how Kotlin code is transformed, validated, and optimized. You’ll make architectural decisions that improve compiler performance and memory usage without sacrificing backward compatibility. Working closely with other Kotlin teams, your efforts will shape the evolution of the language and improve the daily experience for Kotlin developers worldwide.

Day to day, you will:

  • Develop and implement new language features.
  • Implement and fine-tune intermediate representation (IR) lowering passes.
  • Investigate and resolve complex compiler bugs and edge cases.
  • Improve compiler performance and memory usage.
  • Work with other Kotlin teams to shape how the language evolves. 
  • Help improve the developer experience for Kotlin users.

What you’ll bring

  • Precision. You care about every detail – from clean architecture to edge cases.
  • A strong sense of ownership. You’re comfortable taking on complex technical challenges.
  • Clear communication. You can explain your thinking and justify your technical decisions to other experts.
  • A collaborative mindset. You work well with teammates to find the best solutions.
  • A long-term focus on quality. You prioritize maintainability and backward compatibility over quick fixes.

What you’ll need

  • Proficiency in developing with Kotlin/JVM or Java.
  • A deep understanding of algorithms and data structures.
  • The proven ability to write clean, maintainable, and well-tested code.
  • Experience in compiler development would be a definite plus.
  • Experience developing Gradle plugins would be advantageous. 
  • Demonstrated success in optimizing JVM application performance would also be a plus.

What success looks like

In your first few months, you’ll dive into the compiler's central pipeline and start taking ownership of specific lowering passes and bug fixes. Over time, you’ll be making significant architectural contributions that measurably improve compiler performance and memory usage. Success means earning the trust of your team through clear communication, well-reasoned decisions, and code that leaves the Kotlin compiler cleaner and more robust than you found it.


Why join JetBrains? 

  • Strong base salary. We offer competitive pay that reflects your skills and experience.
  • Flexible work location. Enjoy the freedom to work from home or from the office.
  • Remote work. Spend up to 30 days per year working remotely from abroad.
  • Extra time off. More days to relax, recharge, and do the things you love.
  • Medical insurance allowance. Enjoy peace of mind for you and your family
  • Learning and development opportunities. Access to conferences, courses, and language classes.
  • Relocation support. We help make your move as smooth and stress-free as possible. (keep if relevant for the role)
  • Language classes. Pick up the local language or sharpen your English skills.
  • Fuel your day. Enjoy a hot meal or receive a lunch allowance on workdays.
  • Mental health support. To help you feel your best, we provide easy access to professional mental health services.
  • Sports benefit. Enjoy an on-site gym or sports club stipend.
  • Internal events. Join company-wide celebrations and team gatherings.

*Some benefits may vary depending on location.

#LI-IM1

#LI-DNI - if you don't want LinkedIn to post your role in all the locations where the role is open or if you want to post it manually yourse;f ---> leave this tag in JD
#LI-HYBRID - if you want LinkedIn to post your role as hybrid in all the locations where the role is open ---> leave this tag in JD
#LI-REMOTE - if you want LinkedIn to post your role as remote in all the locations where the role is open ---> leave this tag in JD
#LI-YY1 - edit the tag to your personal one instead, so the role is posted as promoted under your name as a poster ---> you can check your personal tag here next to "Edit user tag for promoting jobs"

You can make the tag invisible on the job post by making the color of the tag white, for this go to ---> Format - Text color and choose white colour for your tag(s)

We are an equal opportunity employer

We know great ideas can come from anyone, anywhere. That’s why we do our best to create an open and inclusive workplace – one that welcomes everyone regardless of their background, identity, religion, age, accessibility needs, or orientation.

We process the data provided in your job application in accordance with the Recruitment Privacy Policy.

Apply for this job

*

indicates a required field

Phone
Resume/CV*

Accepted file types: pdf, doc, docx, txt, rtf

Cover Letter

Accepted file types: pdf, doc, docx, txt, rtf


Select...
Which is your preferred location for this role? *

A lot of teams at JetBrains are distributed across our core locations. If you are not based in one of the locations above, we’d be happy to talk through relocation possibilities with you.