Around late 2012, I suffered a shoulder injury while playing badminton that later turned into chronic pain. Several physiotherapy sessions resulted in improvements but I was not able to sit before a computer for prolonged sessions.

I was reading up on ergonomic keyboards, sitting arrangements, and posture all day to find something that would relieve me of the pain. I bought a better keyboard. Taught myself how to sit in a better posture.

I also became aware of RSI at that time. I discovered how common it was among programmers in general.

After much studying, I decided to teach myself Dvorak.

Switching keyboard layout was one of the hardest things I had to teach myself. The first few days, my head and hands were in constant battle. It’s difficult to change habits. It’s way harder if the habit had turned into instinct. QWERTY had become a part of my instinct.

After a painful couple of months, I was at my regular speed. Now it’s been a couple of years and while it’s a matter of opinion, I think Dvorak is much more comfortable to type on than QWERTY.

At the beginning of 2014, I wanted to try a better editor. Around that time text editor churn was extremely fast. We had Brackets from Adobe, Atom from Github, Lighttable, Sublime Text, and a new one coming every day. What could be a tool that I can keep using for the next 20 years? The common answers on online forums were two, Vim or Emacs. I went with Vim because I liked its idea of modal editing.

Learning Vim took some patience. I tried several times but had to switch back to Sublime Text because the productivity drop was noticeable. Vim’s layout is such that it’s made for QWERTY typists. “hjkl” is used for navigation. But luckily, Dvorak’s layout works surprisingly well with Vim. In QWERTY, you have to navigate using one hand but in Dvorak, you’ll be using both of your hands to navigate which is much better and intuitive. The keys are also in very sensible positions.

After using Vim for a year, I understand why there’s so much talk about it. It’s an editor unlike any other. I think a lot of software design could benefit from the principles of Vim, to let the users express themselves and trust them with more power.

If you haven’t taught yourself how to type yet, you need to know the programming’s dirty little secret.