At JetBrains, code is our passion. Ever since we started, back in 2000, we have been striving to make the strongest, most effective developer tools on earth. By automating routine checks and corrections, our tools speed up production, freeing developers to grow, discover, and create.
The Kotlin Analysis API team develops a code analysis engine used in the Kotlin IntelliJ IDEA plugin. We share a significant part of the logic with the Kotlin compiler, and it allows us to provide consistent error checking and get support for new language features automatically.
However, it does not mean that simply calling any old compiler API is sufficient. There are numerous differences in behavior between the compiler and the IDE:
Handling all of these differences robustly and efficiently is the responsibility of our Analysis Core team.
Previously, we faced numerous issues with calling the Kotlin compiler from the IDE directly. So, in K2, we encapsulated all work with the compiler into the Kotlin Analysis API library. Not only did it allow us to have a stable resolution API surface for the Kotlin IDE plugin (and third-party plugins that depend on it), but also to build a command-line implementation to be used in tools, such as Dokka, Kotlin Symbol Processing, and various lint tools.
We would be especially thrilled if you have experience with language support development for IntelliJ IDEA or have worked on some other code analysis tool. Solid knowledge of Java concurrency would also be a huge bonus.
Depending on office facilities and local market rules