There are these wineglasses that my partner likes. They’re pretty, but they’re so tall they only fit in the cupboard above the fridge. He can reach that cupboard, but I have to fetch a stool to get in there. He uses these glasses all the time, while I always choose the squattier glasses that I can reach unaided. It’s free (in time costs) for him to use the pretty glasses, expensive for me.
At work, what tools do you reach for that your coworkers don’t? Or do some of them have tools that you ask them to use for you, because they understand them and you’d have to look stuff up?
When something is free, we use it all the time. Once we do that, we get benefits never thought possible. Branching in git is like that. Autocomplete as a way of exploring an API. Some of us use grep and cut to explore log files, because we know these tools well enough that it’s just as easy as opening the file and searching inside. At a previous job, I was the fastest at production support because I built up a library of SQL joins that tracked down the useful data.
When we take the time to learn a new tool, it’s like we get taller. We can bring down answers and build solutions that were out of reach before. That’s not an option for me with the wine glasses, but it is with Chef and Jenkins, Graphite and the Typesafe Console, Kleisli and Liebniz (strange scalaz types).
Learning a new tool might feel like yak-shaving. Learn it well enough that it’s free (no cognitive load), and you just gained a few inches on everyone else.