The start of 2026 sent me into a loop of “how do I interact with my workbench?”: I started a new job, installed a new OS on my personal computer, and began organizing files for consistency and portability across environments.
For the past few years I’ve been something of a JetBrains evangelist. I tried a bunch of their tools for Java, Go, C, Rust, and data engineering work. But my context changed a lot in 2025, so I switched to VS Code as my main IDE. Even though it served me well, I never felt as confident as I did with JetBrains tools: debugging, running apps, and managing Git often pushed me out of the IDE and into the terminal.
As always, there are good trade-offs between tools, and I’m thankful to VS Code for its speed and adaptability - and for pushing me to get more comfortable in the terminal.
I don’t remember the exact moment I first used Vim, but it’s been years since I could do some simple editing with it. I mostly remember it becoming “more intimate” when I started working with Kubernetes and had to edit manifests.
Vim always made me uncomfortable as a full IDE. Trying prebuilt configurations (LazyVim/NVChad) never made me more productive; they usually made me feel slower, because it was hard to understand what was going on inside a bunch of preformatted .lua files.
What changed my perspective was watching this video. And to be clear: I don’t think it’s a great starter video today. A few steps are hard to reproduce, and some plugins have changed or been abandoned over the last three years. But the key takeaway for me was: if you want to get into Neovim, it’s better to build your own setup from scratch.
Many new programmers make the mistake of adopting a single power tool, such as a particular integrated development environment (IDE), and never leave its cozy interface. This really is a mistake. We need to be comfortable beyond the limits imposed by an IDE. The only way to do this is to keep the basic tool set sharp and ready to use.
– Andy Hunt & Dave Thomas, The Pragmatic Programmer
As I kept changing context and got more comfortable working in the terminal, I decided to experiment with using Neovim as my main IDE at work.
It took me around two weeks of tweaking: choosing a plugin manager, building a checklist of what I’d need, and getting comfortable with the workflow. That didn’t mean I was 100% confident, but I could get through the challenges.
Like any beginning, it had its challenges - but solving them on my own, at my own pace, was really rewarding.
Right now I feel comfortable writing and running code in Neovim, but that doesn’t automatically mean I’m fast at running, debugging, testing, and so on. Still, I have the basics (and the tools) to keep improving - and eventually apply the same setup mindset beyond Go.
You can check out my current Neovim setup in my dotfiles repo.
