# Language is not the barrier

Learn to type, and remove the friction between you and the computer.

Finding the right tool and language that allows you to express yourself in code isn’t an easy thing. There have been multiple tools and frameworks developed because the existing ones weren’t productive, even computer languages created for the same reason. For me though, learning to type is one of the things that allows me to be productive regardless of the tool or language. Once you’ve learnt the syntax of the language; you still have to transcribe your thinking into the language, and into the computer.

Knowing how to type means I don’t have to think about the physical action of my fingers hitting the keys; it’s all second nature so there’s nothing stopping the flow of my thoughts appearing on the screen before me. This doesn’t help me write more lines of code than the next developer; it does mean that I’m more productive because I’m fully engaged with the problem at hand rather than wrestling with where the keys are. I worked for a while in France and Denmark, and it was a total horror show until I remapped the keyboard to be UK layout. The difference in productivity was astounding for me, less so for the natives when they needed to type something at my workstation. This is incidentally why I can’t get on with Macbooks unless they have an external keyboard mapped to BS48221

Proper tooling will help, people sing praises about the various IDE’s that are out there; they can help take the drudgery of writing and re-factoring code. However, I do think that the long tradition of the editor/OS/language X is better than Y wars misses the point somewhat. Whatever tool you choose to use is probably good enough; some just suit your style more than others. None of them will be perfect because they were built by people; none of them will fit your style of working exactly because the people that developed those tools weren’t you.

Once you’ve found the tools that work well for your development workflow, then you have a solid baseline to evolve against. Changing the tools you use is like choosing a language framework; commit to it for an entire project lifecycle, and decide on whether you want to continue with it or not.

1. Who knew that it was a thing; it’s all there on wikipedia… basically it’s the same keyboard layout as the BBC Model B ↩︎

Powered by Hydejack v6.6.1