QA Engineer (Kotlin Compiler Frontend)
About JetBrains
We build intelligent tools for developers and development teams. More than 15 million developers and over 300,000 companies worldwide rely on our products to solve real, complex problems.
Our mission is simple: make development teams more productive and bring more joy to software development.
About the role
As part of the Kotlin Compiler team, you will search for existing and potential problems, working both independently and alongside other team members. You will be expected to show initiative and manage your tasks effectively. This role also requires a willingness to learn new things, and we have a large team of developers who are keen to support you by answering questions and explaining technical details.
On a day-to-day basis, you will:
-
Do exploratory testing of new language functionality, as well as changes to existing functionality, working in tandem with a programmer.
-
Test new language constructs.
-
Search for and localize bugs, submitting the results to our issue tracker, and do regression testing for code fixes.
-
Contribute to automated tests.
-
Take part in planning, including for testing changes.
We understand that Compiler QAs are somewhat rare. Even if you don’t have specific Compiler QA experience, as long as you’re curious and eager to write and debug code, explore new things, and work with automation, this may be the right role for you. Here are some examples of the types of issues our QA Engineers regularly deal with. Take a look and see whether this type of work sparks your interest!
class C { fun foo() = "member" }
fun C.foo() = "ext"
println(C().foo()) // which foo() is called?
val t = (null as String?) ?: throw RuntimeException("x")
println(t.length) // what's the type of t?
You may also want to check out some of the latest features that we tested:
- https://kotlinlang.org/docs/whatsnew2320.html#name-based-destructuring
- https://kotlinlang.org/docs/whatsnew-eap.html#explicit-context-arguments-for-context-parameters
- https://kotlinlang.org/docs/whatsnew23.html#explicit-backing-fields
We’ll be happy to have you on our team if you have
- Knowledge of Kotlin, both in general and with respect to specific features and how they interact. Knowledge of other programming languages would be a plus.
- Coding ability sufficient to create test examples and simple programs.
- The ability to master new programming languages and technologies.
- Experience working with IDEs, bug trackers, version control systems, and continuous integration systems.
If this sounds like you, be sure to get in touch!
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-DNI
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

