This is a response which I wrote to a blog from last November by the inimitable Sheila MacNeill entitled Why don’t I code?
Coding engenders a binary thinking which can extend beyond the code itself; it either works or there are bugs. What you are aiming for is to be bug-free. But this can lead to not considering the bigger questions.
It’s quite a relief to exist in a bubble where problems are puzzles that require a fix. What’s more, finding that fix is a pleasure; when it goes well, coding is hugely enjoyable. I think this may contribute to coders encouraging every one to learn to code.
Non-coders are hugely important – by asking the questions that coders sometimes forget to think about. By getting coders to explain why, by demanding.
Those conversations are important. Coders are fixers – every problem is an opportunity. But just because you have the skill-set to fix, it doesn’t mean that you have the skill-set to analyse the bigger problem. Sometimes it is better that the problem is framed by someone who doesn’t have a clue what the answer could be.
I learned to code because I thought I wanted some kind of mastery over machines. Now I’ve come to realise that this is actually not possible – I am sociomaterially entangled with technology and my own agency is severely compromised by auto-playing videos of cats on YouTube.
What I do have is confidence. I can take an educated guess as to what anyone is talking about in most areas of technology. (As an aside, as a woman, somehow I felt the need to acquire a masters in computer science to exercise any authority in an area in which I’d been a hobbiest since childhood.) Learning to code trained me in systematic trouble-shooting and close reading of text. This of course is applicable to lots of areas of life, not just software development. Deciphering emails from colleagues is the first example that pops into my head.
Since I wrote this response I see that commentators on Sheila’s blog have come up with similar ideas about the dangers of losing critical thinking when the focus is on getting everyone to code. But there is a balance to be stuck. Yes, people have specialisms and everyone does not need to code, but the mysterious black box of technology needs to be made more accessible in its meaning and impact for society. This doesn’t have to occur at code level, this can happen through conversations between us all.