Senior Software Developer
IntelliJ IDEA is our smart IDE for Java and other programming languages, which we've been developing and perfecting for many years. IntelliJ IDEA drives innovation in software development, making hundreds of thousands of developers worldwide more productive.
We’ll be happy to have you on our team if you:
- Enjoy solving complex and challenging problems.
- Want to improve IntelliJ IDEA and know how you would go about it.
- Have at least 5 years of Java development experience.
- Can design and write code that is easy to read and support.
- Understand the algorithms behind the code you write.
- Have strong teamwork skills, are open to diverse opinions, and can argue your points with sound reasoning.
- Want to grow as a professional and to master and apply new approaches and technologies.
- Take pride in your work.
We’ll be especially thrilled if you:
- Have contributed to open-source projects or have developed projects of your own.
- Know other programming languages and paradigms (Haskell, Python, Scala, Ruby, etc.).
- Are familiar with compiler development and code analysis.
What tasks we have in store for you:
- We deal with two categories of tasks:
Tasks related to processing big volumes of source code. The IDE must analyze the code on the fly, highlight errors, suggest autocomplete options, ensure quick navigation between related elements, and support automated refactorings.
Tasks related to the integration of the IDE with external systems such as compilers, debuggers, version control systems, and application servers. The user must be able to work with all of these tools comfortably without leaving the IDE.
- You may take on the task of improving any of the subsystems or develop new features of your own design.
How we develop IntelliJ IDEA:
- The source code is stored in Git repositories, some of which are available on GitHub (https://github.com/JetBrains/intellij-community).
- Most of the source code is written in Java 8, some is in Groovy, and more and more of the code is being written in Kotlin.
- For effective team collaboration, we use JetBrains products: Upsource for code review, TeamCity to run tests and builds automatically, and YouTrack for bug tracking and feature management.