I am really unhappy with this post, I don’t think it describes what I wanted to get across. It took me two long train journeys to write, I’m fed up of it and don’t want to write anymore. In the spirit of ‘open’, whatever that may be, here it. I’ll go with a D+, at least I handed it in.
Recently I have been thinking about the push of getting people to code, I have been thinking about it because the HE institution I am based in really seems to struggle with technology. The most painful aspect of the struggle are difficult conversations around what the technology can and can’t do. Frustration comes from users of technology who can’t get it to do what they want, frustration comes from the coders who either aren’t given clear messages about what to or are told to do something that is near impossible. Frustration also comes from the managerial staff who have seen things work in other institutions or at an event and ‘want one of those’. Everyone is frustrated. I suspect a common thought process among many of them is that technology just worked the way they thought it should then everything would be fine: “If I could write applications then I could just make it the way I need it!”, or perhaps from the coders. “If they could write apps the would understand!”.
A few weeks ago, I wrote a post about a different push, the push for people in the field of learning technology to be open about their practice. A question I asked myself that I still haven’t answered is simply, why? The main theme of the post was that I felt examples of being open were showing me were publishing a stance to wordpress and pressing the tweet button, which I thought was pretty much the opposite of being open, both about being open about my self and about being critical around the technology that controls the message.
I think there is an issue around the ‘everyone must code’ mantra that is the same around ‘be more open’. We ask people to do it without explaining properly why they should and what ‘it’ is, this leads to people convincing themselves that they should code without thinking about why they may want to. Often when we tell people to code we don’t tell them why, we presume that, like telling someone to be open, it is obvious what it is and why they should do it. We should turn both of the mantras on their head and instead of telling we should ask them the questions “why would you like to code?” and “Why would you want to be open?”. Thinking about potently answers from the frustrated, I guess their immediate answer may be so that they can make an app to do things the way they want.
But making app’s is not actually what most people who code do. It’s hard to explain – I have apps in app stores but I don’t really make apps. That is really confusing but I consider the apps to be by-products of when I was having fun. Perhaps this is not a good comparison, but maybe it is like have a piece of music or a picture left of over from an activity when you wouldn’t call yourself an artist. I have always had software developer in my job title, currently in a job title of Lecturer in Software Development (although I don’t actually lecture) and before that as a Software Developer for 10 years. I don’t consider myself a software developer. The people I look to for advice and guidance in both technology and coding do not consider themselves software developers either. There are people I consider software developers and those people I consider them to be architects, they have a unique skill set that is hard to explain; they are utterly brilliant but not nessarily my go to people for coding advice, they are sometimes the most frustrated of all.
So, what do people who code do? Well, when we try to teach others we always do it through our interests. If you read tutorials by people who code you notice a pattern – the one who does Facebook API stuff, the one who does Graphs, the one who does Unity. You spot the themes, but they are all very different themes because they are all having fun doing what interests them, they’ve found the reasons they want to code. It is very difficult to explain to people why they might want to code, I think it has to come from them, what do you have fun doing – it probably won’t be writing apps.
I do think it is worth thinking about why you might want to code. I did something very naughty a few weeks ago. I found myself in a room and we were all frustrated. I wanted to talk about something that wasn’t code related, but was related to a difficult position we were all in that was brought about by technology. In a room feeling frustrated my gut reaction was to talk code. I brought something technical up and we chatted. Chatting about what you can get done with code and how you can do it is very liberating to those who understand it, and I knew that. I also knew it would be a foreign language to those who didn’t. So subconsciously or not, I made half the group more relaxed at the expense of isolating the others. This made me think about how coding gives you an insight in to technology and without it people can just chat around you as if your not there. I don’t think the advantage coding gives you is the ability to write full on apps. Sure, it is really useful to be able to write scripts to get things done, but when you start to code you pick up other bits of useful technological knowledge.Which bits plug where, what technologies work with what, where you can and can’t look, what data you can and can’t manipulate.
The frustrated people in the room might think that everything would be solved if they could all write apps, but that isn’t true. However, life would be easier and frustrations would calm if they had more insight in to the technology that is making them frustrated. This isn’t simply a dig at people who can’t code – the most frustrated software developers are oftern frustrated because they simply only want to write code and don’t try to understand others, the conversation is two-way. As technology gets more political being able to talk the talk is getting really important and not just for the frustrated learning technologists, this stuff really is political – WhatsApp backdoors, net neutrality, GHCQ , gig economy, whatever. I think this insight and the ability to debate is the real value, not a finished app.
I don’t expect people to answer the question “why do you want to code?” very easily. I think we should help them, lets take it further, “How do you want to play?”. I do most of my coding for work, yet I still find it is play. Last week I picked up an IDE, browsed Github to find something that looked like it would do and did my work – at the same time I spotted other stuff and made a video visualisation of the top posts over 12 hours on a Donald Trump supports forum. It was like a by-product of play, I thought it was really interesting that just happened and I think it was down to a ‘I code to play’ mindset. It may very well be to do with the toys I had growing up (a commodore 64 and an older brother to show me) and while there is a lot of exciting work going in to kids playing and coding, maybe we should be putting more effort in to asking the same question to adults? I don’t think everyone needs to be an app developer, I’m not actually sure what I think. Perhaps a bit more friendly technical playfulness and less I can code/I can’t code elitism might equip us all better for those frustrating conversations.