Programming without auto-complete

It's been over a month since I have turned off all my auto-complete in my editor. Well turned off is not exactly true, as I deleted the plugins that facilitated auto-complete. So how has it been? Will I turn it back on again?

How is it programming without auto complete?

Honestly, the first thing I noticed was that I was waiting for something midway through typing a method. I was waiting for the auto complete to kick in, until a few seconds later, when I realized that it's no longer there. The next thing, I noticed that I was not sure if I was typing the right thing, but then the LSP would let me know, so that was not a big deal either. At first I had to look up method names in the doc a few times, but overtime like the last couple of weeks, I remember a lot more than I ever did. Another unexpected benefit, my spellings have gotten a lot better. When I was using auto-complete, I would be blindly copying over the mistakes all over the code base. But that one is not such a big deal as it's easy to replace a definition project-wide with an LSP.

The most crucial one that I noticed was that, I would import the wrong libraries when I used code action. Then again, it's not really a big problem as the methods that I wanted did not exist, so the LSP would complain to let me know. Since, then I've been paying closer attention when I import anything outside of the standard library.

Will I be turning it back on?

Honestly, If I really thought it was that much of a deal breaker, I would have turned it on already. As I did not remove it to prove a point, but rather just to satisfy my own curiosity. My depth of the language of the standard library methods have improved vastly in the four or five weeks since I've turned off my auto-complete. This for me is a bonus, when I write code, the flow is so much smoother when you don't have to wait a fraction of a second for every other method name. So the answer is no, I won't be turning it back on. Plus my Neovim config is a lot more smaller, I like that. Although that is not the goal. I've been playing around with the Neovim debug adapter protocol (dap) lately and will be introducing some new dependencies soon.

Should you turn off your auto-complete?

I'd recommend it. At least temporarily, for a few days or so. You could do this on a regular basis if you would like to. What I have found is that, the benefits are quite worth turning it off forever. As the upside is that you remember your language better. This allows you to be a lot more faster, but you will be a lot slower in the beginning. It's like going slow, to go faster. Just like the time when I switched from VsCode to Vim five years ago. In the long run. If you are like me, and want to get better and program for the foreseeable future, this should not be a big deal. There is a kind of joy to competence, that will stay with you longer. It will also, want to program for longer. I don't remember anytime in the past when I kept doing something, when there was no challenge to it, or the possibility of getting better. Sport is a good comparison. When you try to learn the right stroke in swimming, you will feel so slow, but in time, you have the possibility to swim faster than you ever have.

I'm liking these less flashier ways to be a better programmer. I've been recently working on my typing too, I'm happy to say that I've improved from forty-forty five wpm to sixty-seventy. I believe all the small and large things will compound over the course of the next few years or the decade, and this makes me excited, someone to look forward to. Me, ten years from today. A programming Giga Chad. I like the sound of that.