I have written a blogpost for work after I uncovered some new (to me) features in Rspec; these discoveries made a previously-intimidating realm seem suddenly utterly benign, and I hoped a write-up of my bumblings might be useful to others.
And this is where the problems begin: because I now have a much better grasp of this (pretty narrow) topic, it all seems blindingly obvious to me and I’m starting to convince myself that there’s no way anybody else will be remotely interested in this stuff.
I’m also supposed to use it as the basis for a talk I’m going to propose for a forthcoming LRUG, but in my head that’s turned into me, standing on a platform, going “Hello (hundreds of) super-smart London Ruby people, I’m going to attempt to explain something that you all already understand way better than me, this is definitely a waste of everybody’s time”.
This mode of thinking cuts across other areas of my life too: I’ll often catch some drum groove, or even a tiny snippet of technique, when I’m listening to music, and then spend hours learning it, and practicing it, and once I’ve got it baked into my muscle-memory enough that I can really start to have fun with it, it becomes impossible to conceive of a world in which I couldn’t do this.
A small digression suggests itself at this point: there’s a qualitative difference between dicking around with Custom Rspec Matchers and learning a drum groove, in that almost by definition, once I’ve moved the groove to the category called Things I Have Learned, it’s subliminal - it would be very hard to pick it apart in order to explain how it’s put together (and in fact, if my mind wanders while I’m playing and I start to think about the patterns inside the groove, there’s an extremely good chance I’ll fuck it up). The whole point of my writing about Rspec, on the other hand, is to very clearly and methodically explain what I’ve learned. This leads me to conclude that playing music is orders of magnitude more complex than building software. Anyway, on with the show…
I recently found out about a thing called The Zone Of Proximal Development. Here’s how it goes down, at least for me:
By the time I’ve reached Stage 3 and I’m deep inside that purple circle at the centre, my perspective has changed substantially: Sam Who Could Not Do The Thing is an unimaginable concept. And if I can do The Thing with such aplomb, then surely everybody else can too - in fact, The Thing is Easy, and attempting to explain it would be pointless. I’m pretty sure this is why I have no patience when I’m trying to teach anybody anything.
Just occasionally, I am able to escape this spiral - a couple of years ago I built a suite of tools of such monumental, breathtaking pointlessness that it seemed utterly inconceivable that anybody else had ploughed this particular furrow before - there simply could not be anybody with more experience of this exact strand of bullshit than me, so I had no fears about presenting it to the world.
If there’s a point to all of my rambling, then maybe it’s this: I’ve been reading a lot lately, on Twitter and elsewhere, about our tech communities not being very friendly and welcoming. We say that things are ‘obvious’ and ‘trivial’ and ‘easy’, and of course to us, who have had our viewpoint shifted by passing through the Stage 3 Looking Glass, they are. We would do well, though, to recall what it was like when we were at Stage 1, to arrest at least a small part of the growth of our reputation as Callous, Sneering Arseholes.
It occurs to me, as I draw to a close, that this may be little more than Variations On A Theme Of Tom Stuart, and anyway I’m hesitant to publish because of course now I’ve marshalled it into this form it’s all very obvious and why would anybody want to read it?
Published under a Creative Commons Attribution-NonCommercial licence