why I turned off suggestions when writing software
A few days ago, a friend joined me for a 1-on-1 programming session and some minutes into the session, she asked why I wasn’t getting code suggestions like she did in her editor. I explained why I keep that feature off, and knowing this question will come up again, I figured I’d write a short post about it.
Before I get into the reasons, a little history and context. I’ve been programming for about ten years now, and one thing that has remained constant is my reliance on configuring code suggestions; the popup that offers completions as you type. My choice of editor has changed over the years: I started with Visual Studio Community Edition with Unity for game development, moved to VSCode, then Vim/NeoVim in 2023, and currently on Doom Emacs for my workflow and in every one of these editors, I always made sure to configure code suggestions before I even started using them.
For a long time, I relied on this feature to help me learn new languages and write code efficiently, both for work and personal projects. The suggestions were usually smart and useful but then about six months ago, I turned them off as an experiment and forgot to turn them back on. Here’s why I’ve kept them off.
How It Started
- The main reason I turned off code suggestions? Honestly, as a joke. I wanted to see how long I could go before I was "forced" to turn them back on. Six months later, this is one of the longest-running jokes I’ve ever committed to...
- Before I even attempted this, I had read a Hacker News thread about developers who had turned off code suggestions and how it improved their coding skills in unexpected ways. The idea seemed strange and intriguing, so I gave it a shot.
- I quickly realized how much I had come to depend on the editor to complete my code. I would pause for the popup, tab through suggestions, and pick the best fit. When code suggestions broke in Vim/NeoVim, I became the slowest programmer on the planet. Turning them off forced me to rely on my own knowledge instead of waiting for the editor to fill in the blanks.
Why I Still Keep Them Off
- The first week was rough. I had built up small habits over the years; constantly pausing to check for completions and breaking them took effort. Eventually I got used to not having that feature and noticed how much better I flowed when writing code.
- I’ve noticed a deeper mastery of the languages I use. Lately, I’ve been writing a lot of Go for my current project, and I can feel my control over the language improving. Without relying on popups, I’ve become more aware of syntax, patterns, and best practices instead of delegating such knowledge to the editor's code suggestions.
- I’ve also started appreciating documentation more. I'm forced to look up how things are done properly instead of guessing what might come next based on the editor’s suggestions. I've been combining official documentation with AI tools to work and this has had an unexpected but valuable and interesting shift in how I approach ideas and solutions.
- And finally… it just feels cool, I guess. :)