This is an unashamed, self congratulatory ode to how much I love my keyboard skills. My hands dance over the keys, words streaming from their tips, dev tools opening after a magic combo of fingers flicks, tabs switching, panes resizing, lines jumped, macros run.
It wasn’t always this way. There’s no big secret in getting better - it’s taken time, effort and conscious practice. This is a reminder to myself that these things don’t happen overnight. Here’s quick journey of me and my keyboard, stopping off at all the places where I’ve worked along the way.
The seed of inspiration
My first job was in finance and being able to navigate an excel spreadsheet quickly was essential - so much so that part of the onboarding exams they took away our mouse forcing us to learn keyboard shortcuts. Ten years in finance and the shortcuts became second nature. But there was a catch - I was still tapping away with a couple of fingers not touch typing.
Consciously deciding to get better
In 2011 I’d decided my future lay in coding. Learning to code was obviously key but I also thought that if I was to spend a large chunk of my life wielding a keyboard I should try and make sure I could use it as quickly and effectively as possible.
Learning touch typing is a lot of repetition and practice and you can fit it into short chunks of the day. This was ideal and during coffee/lunch breaks I got to finesse my skills.
I’d also been researching coding and learnt about VIM. This seemed to tick all the boxes in how I wanted to operate - purely focused on using the keyboard with sophisticated key strokes to help make the terminal dance. I was hooked. I started learning Vim. It’s hard.
I’m a coder!
2014 I headed off to general assembly to become a full time coder. My touch typing was ok. I could navigate around in a single document in vim. I was going to rule the world. At GA we used sublime text - this was awesome in terms of managing multiple files with a whole bunch of awesome features (multiple cursors swoon…) I continued to code using sublime for the next year but I still thought Vim might be somewhere in my future so I installed a vim plugin for sublime - in insert mode you get all the sublime goodness but hit the magic escape button and you can dance the dance of Vim, hoping from word to line to paragraph with ease.
New Job, New IDE
2015 and I was off to MOO. A big job at a big startup and a new big IDE to learn. We were coding part of the time in Java and PHP and needed a more powerful tool - step in Intellij. A bit more cumbersome than sublime but it worked welland to my delight it came with a Vim plugin too. Hurrah. My touch typing had stalled a bit so I put stickers on my keyboard to hide the keys. You think you don’t look at your keyboard but you do. Try a few stickers (i’ve got some spare) it really challenges you although makes pairing hard...
Practice and Vim Golf
Six months on and I continue to grow and learn. For most basic functionality I reckon I’m as quick if not quicker than other tools. However it’s the power functions that are a treat - complex, concatenated regexs updating multiple buffers is now commonplace. Writing quick macros means tedious tasks become simple, each one saving me previous time. I can either be more productive or finish early. In a future post i'll be talking about how I've moved my dev environment to the cloud - I don't think I could of done that as effectively if I my keyboard skills weren't up to scratch.
I want to code and I want my thoughts and understanding to be the limiting factor, not my interaction with the keyboard. Do you need to touch type or learn vim? No not at all - many coders I know don't but for me it was worth it.
It gives me a thrill when I learn a new shortcut or feature. I know I’m going to get better but for now I want to sit back and bask in a seven year slog that has turned out just the way I wanted it to.
Some links to helpful tools