Today we’d like to share the most interesting parts from our conversation with Nick Kononov, a full-stack web developer and an avid user of JetBrains IDEs. Nick told us about his background and explained why he decided to stick with WebStorm despite a negative first impression.
Hi Nick! Could you tell us a little bit about what you do?
Right now I’m working on a massive project called Empathic Building. The main idea behind it is to make office buildings more human-centric, which, in turn, would make employees more efficient and businesses more successful. Originally I started as an integrations developer, mainly handling custom integration requests from our clients. Later on, I expanded to doing client-side work. Now I also provide some technical assistance to the rest of our team, so I’d say I’ve become a jack of all trades. Before that, I had two other jobs where I was responsible for frontend tasks and got to work with Node.js and Android.
What technologies do you get to work with at your current job?
Our client is written in React with Redux and there’s a bunch of other smaller packages that are used here and there. On the backend, we do Python. As for databases, we use PostgreSQL. We also have our own engine for 2D and 3D graphics. That’s the current state of affairs.
Do you remember how you started using JetBrains products?
A colleague of mine got me hooked on them at my current job. I remember trying WebStorm when Atom was in its infancy and VS Code wasn’t a thing. The initial impression was that it was slow and clunky, but I guess I just wasn’t ready.
When I started doing Python development, PyCharm became indispensable because of its integration with Docker, code completion, and a lot of other things that helped me stay productive. So, PyCharm Professional became my first JetBrains IDE. Then I got an All Products Pack subscription as I also wanted to use WebStorm, GoLand, and DataGrip. I knew that technically I could get everything I needed from just two IDEs, PyCharm Professional and GoLand, as they include all the features of WebStorm and DataGrip, but I like having a dedicated tool for each purpose.
You said WebStorm was clunky and slow, yet you decided to switch to it later. What made you change your mind?
As I said, I think I just wasn’t ready for it the first time. I was a student back then and wasn’t really looking for something powerful, something that could help me do my work more efficiently. I just needed a tool that was free and, well, good enough.
After Atom, VS Code came into the picture. It had great TypeScript support, and as I was doing TypeScript at that point, I was happy with it. Later I started doing Angular and React. The projects became more complex and I realized that VS Code sorely lacked an understanding of the project structure. To make the IDE understand it better, you had to install multiple third-party plugins, which often refused to work reliably. Even with all the plugins installed, some features like auto-imports didn’t work in a consistent manner.
As I was successfully using PyCharm for Python development in parallel, I figured I could’ve formed the wrong first impression of WebStorm. So, I decided to give it another chance, and it didn’t let me down!
What exactly sold you on WebStorm this time?
Even this time WebStorm required some getting used to. However, the fact that I could just open a large project and everything was working flawlessly (apart from very specific things) made me enjoy WebStorm a lot. Second, the integration with Prettier was so much easier to execute. I can’t say the integration was hard to use in VS Code, but it felt much faster in WebStorm by comparison. But what sold me completely was refactoring, because of how easy and reliable it is.
When getting used to WebStorm, what was the hardest part? Can you give any advice to those who are new to it?
Getting to know the shortcuts. It’s true for other JetBrains IDEs that I used, as shortcuts are the same for all of them. What eased the transition the most was the Key Promoter X plugin, which I would definitely recommend to all new users. Whenever I did something with the mouse, the plugin would show me a popup saying, “Hey, instead of navigating with the mouse, you can press this key combination”. I naturally learned to use the mouse less and less, and that helped me code faster.
I’d also say that you have to realize that WebStorm isn’t a simple text editor but an IDE. Yes, it might be less lightweight than text editors and have a more difficult learning curve at the very beginning. But once you get used to it, it increases your productivity a lot.
Nice tips, thank you! And one last question: what are your favorite WebStorm features?
My top favorite feature would be Search Everywhere (Shift+Shift). It’s the perfect way to look for anything, be it files, symbols, classes, or actions.
Next would be Git integration. It’s insane how well comparing branches and reviewing the diff work. Plus, I like how the IDE reminds you of checking TODOs, optimizing imports, all of that headache, right before committing changes.
Lastly, I use code refactorings a lot, especially the ones for extracting different kinds of things, like variables and methods.
We’d like to thank Nick for taking part in this Q&A.
If you use WebStorm and feel like sharing your experience with us, please let us know by leaving a comment below or contacting us.
The WebStorm team