Daily Practice
Author
Marcus HeldHi,
Have you ever tried closing vim?
You probably know the meme. Even after decades, I still find it funny 😁
But what I haven’t managed to do in all these years is to seriously learn how to use vim. Sure, I press i
to enter insert mode and then I can type. And I’ve also learned dd
to delete a line. And yes, of course, I was one of the three million viewers who were helped by Stack Overflow
to close vim 😉
What else? Not much, really. I never took the time to really understand and learn vim motions.
But who among us learns this in school? Or in university? Or in training?
It’s initially unnatural. All kinds of hotkeys that can jump to different parts of the text with various semantics.
h
,j
,k
,l
- instead of the arrow keys (by the way, the ADM-3A is to blame )w
- to jump to the next word^d
- to scroll half a page downgg
- to jump to the beginning of the file- …
Now, a vim cheat sheet is stuck on the wall next to my screen.
Deliberate learning is important!
As software developers, we don’t work with wood or with hammer and chisel. Our tool is the keyboard. Our material is text files. Our techniques are programming languages.
All these things need to be learned and practiced.
In professional sports, this is natural. All athletes train every day. Training sessions are consciously developed to improve individual aspects of one’s performance.
And we only achieve perfection with deliberate practice. We have to practice. Every day.
In recent years, I have consciously practiced touch typing, using the English ANSI layout, and using IntelliJ without a mouse. And now it’s time for vim motions. It’s the next piece of the puzzle to work really efficiently. My focus should only be on the content. I don’t want to waste energy on other tasks.
And I can assure you that the effort is worth it.
Give it a try. You don’t yet type consistently with 10 fingers? Then go to keybr.com every day for 10 minutes. You contort your fingers on a German keyboard while programming? Then buy a cheap keyboard with the US layout and use it to write for half an hour every day.
And as a leader, you should encourage your team to practice deliberately. How about a regular coding dojo? It’s a wonderful opportunity to share such ideas for efficiency improvement.
, what do you do to increase your efficiency? I’m always looking for new ideas!
Rule the Backend,
~ Marcus