At JetBrains, code is our passion. Ever since we started, back in 2000, we have strived to make the 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 JetBrains Research ML4SE lab explores ways to use machine learning and data science techniques to help developers and enhance software development processes. Our work aims to bridge the gap between academic advances in the field of ML4SE and their practical applications
Our lab is looking for a researcher to participate in a variety of projects. Our lab works in different areas: develops machine learning models that work with source code, conducts empirical studies of developers, contributes to general machine learning research, and more. Though the ideal candidate is not expected to have experience in all the tasks we work on, we are looking for someone excited to take on the challenge of doing high-quality research in diverse contexts.
In this role, you will:
- Apply machine learning and deep learning techniques to source code processing and analysis.
- Develop ML-based tools that enhance the software development process.
- Conduct empirical studies of developers.
- Perform large-scale analysis of source code and software development artifacts.
- Develop new methods, and improve existing ones, in code analysis, code summarization, code generation, clone detection, refactoring recommendation, and other ML4SE tasks.
We’ll be happy to have you on our team if you have:
- Deep knowledge of mathematical statistics and machine learning algorithms.
- Experience writing code for data analysis in any programming language, though Python, R, Java, Scala, or Kotlin are preferred.
- Experience with academic reading and writing.
- Experience conducting scientific research.
We don’t expect you to fit all of these criteria, but we are looking for someone who has the expertise to strongly perform and consult colleagues in some of these areas.
Our ideal candidate would also:
- Have a history of publications in fields related to machine learning or software engineering.
- Have experience doing applied research in an industry setting.
- Write clean code that is easy to read and maintain.