I have a strong familiarity with Jetbrains products, having used most of them since around 2015. However, in the past 6 months, I have started transitioning to Neovim as my primary "IDE". This is due to the extensive nature of my work, where I would typically load a different JetBrains product for each programming language I was working with. I wanted to reduce the amount of RAM I was using and have an easier time exporting my setup to weaker hardware.
My current setup, which is still a work in progress, consists of Neovim, tmux, and a few other applications. It took me a while, but I now feel much more comfortable working with this setup than I did with Jetbrains products. In the past, I often had to change my workflow or struggle with some of the tooling provided by JetBrains.
While I haven't worked with Java in a production environment for a few years, I have been working with TypeScript, PHP, Python, C++, and C#. Neovim works well for almost everything, but I do encounter some issues when working with .NET. In these cases, JetBrains Rider seems to be a better fit for C#, and I hope to resolve these issues. I also have an extensive ruleset setup (naming schemes and whatnot) in the JetBrains ecosystem that I have yet to find a suitable alternative of enforcement in Neovim.
However, I am now facing the prospect of returning to a Java stack at work. I'm wondering whether I should continue with Neovim and invest more time in configuring it and researching more about its Language Server Protocol (LSP) capabilities, or if I should return to IntelliJ and not waste the effort. Can Neovim be as good as, or almost as good as, IntelliJ for Java development? Talking about Kotlin is a plus, but my focus is on Java and potentially working with the Spring ecosystem.
I have used the JetBrains' vim plugin for about 2 years. It does not hold a candle to using nvim.
Probably this shouldn't affect the question much, but: I am a Linux/Windows guy, however, I will be forced to use macOS at work.