In 2021 I want to consolidate and improve upon some skills I already have, rather than add more. Here’s what I mean, and how I got inspired.

In October last year Samir Talwar tweeted something simple yet profound: “Do less, and do it better”.

In my work and play I discover and start using various tools and technologies. The pace of change in this industry, coupled with the (not unpleasant) demands on what I have to produce, means that I often end up with only a shallow understanding of things. And sometimes these are things I use every day.

The nature of my job as a developer advocate (but I think this extends to development in general), in the context of that fast pace of change, means that there’s always something new to learn, to adopt, and to incorporate into a workflow, process or solution. But that can come at a price - of limited comprehension and mastery.

To explain further, I’m going to stretch a metaphor relating to ploughing a field and sowing seeds.

Ploughing and sowing

As an individual, I sometimes feel as though I’m trying to prepare a large field and plant seeds there using a poorly hand-constructed and inefficient plough made of the wrong sort of wood and bits of string, combined with a seed drill made out of old toilet rolls and sticky tape. Not only that, but I’m trying to plant across the entire field, 50 furrows wide, as I move along.

Needless to say, the ploughing doesn’t go very well, and the seeds are planted imprecisely, sometimes superficially, mostly wastefully, resulting in poor distribution, low growth and high energy expenditure.

But if I were to abandon the idea of going wide, and instead go narrow, focusing on just a handful of furrows, I could afford to take the time to correctly plant each seed, nurturing & watering each one, producing strong plants with deep roots and healthy growth.

I’ve thought this for a while but never got round to doing anything about it. Samir’s tweet has galvanised me into spending some time working out what that means for me.


So this year I’m attempting to “do less, and do it better” by acknowledging the tools I use day in day out, and learn more about them, restricting myself to a narrow set of topics, move a step closer towards mastery in each, and really benefit from everything they have to offer.

Here’s an example from this weekend; I read the entirety of the main README for the excellent fuzzy-finder tool fzf, all 16 pages. That might seem ridiculous to say (16 pages is not a lot) but I’ve used fzf for a year or so and never RTFM’d before. In my defence, I’ve also been constantly and painfully aware that I’ve merely scratched the surface. I’ve now discovered some fzf gems that I can put into practice immediately, and some areas that I need to dig into more.

Likewise for other tools that I use, tools that are not only essential, but which, when mastered, can make my workflows even better. I’m thinking of Vim (I’ve recently started watching my friend and colleague David Kunz’s DevOnDuty series, which I can strongly recommend), tmux (rwxrob is a great practitioner, and I should re-read Brian P. Hogan’s great book on tmux too) and of course the environment and language that ties it all together for me - Bash.

The lockdown has afforded me time to read more, and I need to embrace that and work out how I can keep that momentum up. I want to tip the balance over from always having my fingers on the keyboard towards stepping away from the keyboard to read, reflect and consolidate my learning.

Update 02 Feb 2021: I’ve started digging deeper into fzf - see fzf - the basics part 1 - layout over on my Autodidactics blog.