Shortcuts, typing speed and other parlor tricks

regularly come across developers that seem to think that programming is a game of marginal gains, where the second (or millisecond) that you gain by not taking your hand off the keyboard represents over the long term significant time.

In a vacuum, that might be true. But I find that typing speed or a second here or there are rarely my limiting factors. And I would argue that if your limiting factor is your 'code speed' either you are doing something wrong or that limiting factor is so small as to not be worth too much effort.

The cool factor

I will readily admit that seeing someone who types at the speed of light, doing magic shortcuts, and using Vim and the CLI looks and feels super cool.

I remember during my boot camp being super impressed by one of my teachers due to his speed, and thinking that it would be super cool to be able to do all that. But to be honest, what should have impressed me should have been his knowledge (which he had to spare!)

Limiting factors

When you are working (be it code, browsing, e-mails, etc) the limiting factor is rarely how quickly you put your ideas into writing, it is to have good ideas. I would even argue that being too fast might hinder you from finding good ideas.

A fast horse might reach a destination quicker, but he might not reach the correct destination after all.

So, no shortcuts?

By all means, learn some useful shortcuts, and if you enjoy vim go for it. There are good reasons to use both. And I do have some shortcuts that are muscle memory for me.

But, don't do it because you think it will make you cooler, or to impress yourself or others.