Before using IntelliJ IDEA, I used to work with another IDE, Eclipse. After some issues with tomcat configuration, my colleagues suggested using IDEA as a development tool for our project, MidPoint. Of course, the process of transformation from one IDE to another is always a little painful, but after some help from my colleagues and a couple of tutorials, I was able to work on our project within couple of hours.
In my opinion, developing with IDEA is very comfortable. I did not realise this fact until I had to use Eclipse in a different project and to my surprise, I found out developing with Eclipse was quite different. Why? IntelliJ IDEA is an IDE that just knows what you are doing. As I have found out later, IDEA is indexing basically everything within your project and thanks to this fact, IDEA provides really unique feel of context during development. As an example, let’s consider a feature standard for every IDE, auto-completion. Thanks to indexing, it really seems that IDEA knows what you want to type and the desired option is first or within first three or four auto-complete suggestions most of the time ( + you don’t need to press Ctrl + Space like gazillion times a day). Vast indexing of project files and state also leads to very comfortable refactoring and debugging.
On the other side, IDEA is quite a resource consumer. I can feel this often when I am working on my older laptop. But increased resource consumption is a little price to pay for intelligent Java IDE such as IDEA.