5 posts, 5 years worth of learnings. Posts about mistakes I made, explained, so they need not be repeated. 15-ish mins reading time each. Bargain.
Part 1: Things I learned about people or, “Why I deleted the word ‘techie’ from my vocabulary”*
* Or am trying to…
- Finding a role I loved at a technical organisation despite having zero technical background. Jump to this part
- "Sorry, you work with hackers?!" - What I would say to my grandmother if she ever asked me this question. Jump to this part
- The difference between "techies" and "non-techies". Jump to this part
- Being a woman in civic-tech Jump to this part
Welcome to the Open Knowledge Foundation
"Only technical people are valuable in technical organisations"
It is March 2011, my first day at the Open Knowledge Foundation.
The induction process is entirely in Rufus Pollock’s head. Rufus is my new boss and founder of the organisation. At this point, there are a couple of other people who work for the organisation, but no-one else is around and most of them are part time so Rufus has to do the induction himself.
Within the first hour, I have signed up for about 40 different accounts. The names and URLs of the services he wants me to sign up for fire out of Rufus’s mouth with the frequency of popcorn pops; initially quickly, then they pop away sporadically all afternoon until he has remembered them all.
Down to work
Rufus hands me a series of supposedly easy tasks, but there’s a minor problem; I’ve never edited a wiki, I have never heard of markdown and:
What’s that ‘IRC’ thing you keep mentioning?
It’s day one, and I’m already convinced that Rufus must feel he has made a massive error in hiring me, but patiently points me to a couple of guides online and leaves me to my own devices.
I don’t let on that I’m 99% sure I can guess what machine-readable means, but probably not as sure as I should be to work in an open data organisation. I make a note to myself to Google it at home…
The command line
And then, the command line: a process I have referred to as ‘computer brain surgery’ ever since. Rufus asks me to open the terminal. Luckily, I have seen Nick (who you will meet later if you read on) use it, so I know where to find it this time.
Rufus then spurts a series of dashes and one to three letter sequences for me to type into terminal. My fingers do a terrible job at converting these into the intended sequence, routinely missing out spaces or putting them where they are supposed to be. I’m a linguist, so I assume that there should be some grammar associated with this that should tell me where the spaces should or should not be. Right now, however, I am like the proverbial monkey with a typewriter.
Somehow, even in those early stages, I never messed up the entire company’s email address file which I was given access to manage, but the whole thing did feel like tightrope walking over Niagara Falls…
My first training event
'Not being a techie' in a technical organisation can be an asset, if you are intentional about it...
It’s a few months later, and I’m with a colleague, Friedrich Lindenberg, in Kyiv, for the Global Investigative Journalism Conference 2011. Data Journalism is taking off and we are there to do a workshop on data acquisition from freedom of information requests to scraping.
My remit is primarily research into user needs for a project we are both working on, but I’ll help out a little with the workshop if needed as I speak Russian. I can’t scrape, though I’m hoping I’ll somehow pick up some tips from Friedrich by osmosis.
The Computer Assisted Reporting trainers, Global Investigative Journalism Conference 2011.
Scraping is a very popular topic, the room is packed. The workshop is going well, people are really excited by the possibilities the new skill might bring for their work. Friedrich is doing a very good job of keeping the energy up in the room and a participatory workshop. We’re flying through.
A jargon bomb
Then it happens. About 10 minutes in to the workshop we reach on the topic of why you might want to invest the energy to learn to scrape. He says something like:
"Governments don't always give you machine-readable data, and scraping is a way of getting it."
A couple of people in the front row nod.
Friedrich is busy and doesn’t see a subtle shift in one lady’s body language. It is the sign of someone thinking that everyone in the room knows what the workshop leader is talking about, except for them. They don’t ask for clarification but they disengage slightly from the process, wondering this skill is for them after all.
I have a sense of which term has caused the confusion. It’s the same one I was not 100% sure of 7 months previously.
Friedrich, picks up the cue and in signature style delivers a definition that makes me forget that English is his second language. The lady smiles, writes it down and reengages. After the workshop, she ends up pestering Friedrich for scraping lessons in the break and hanging out with us for the after party.
Ah-ha moment: This is tech-translation
This was a very different type of translation to the type I had been preparing for, but I realised that it was one that I was going to enjoy.
But, in order to be good at it, I was going to need to avoid the Curse of Expertise; I needed a mechanism not to forget what hadn’t always been self-evident.
I now regularly catch myself dropping in casual references to APIs and other jargon. I ask people to slap me if they catch me. I think forgetting what you didn’t always know is somewhat inevitable. In fact, I’ve only ever found 2 ways to combat it:
- Write a lot down and date it. Revisit it. Revise it. Look back from time to time at what you wrote before. (This is why these posts are version controlled.)
- Get people who have just learned a skill to teach it, they’ll make fewer assumptions than you.
Nicholas Stenning and the Irony of the Black Box
Let’s zoom back in time the full five years, to when I met my boyfriend. Nick was the first software developer I had actually ever met.
It really doesn't help in convincing my grandmother that I am not engaged in international spying if you keep talking about "hacking" on things...
Nick did lots of things that I didn’t understand, such as:
- Stare at the black box (terminal) for hours. He used it for everything, even moving files rather than dragging and dropping them on the interface like normal people. He used it instead of a calculator. He would do puzzles hopping between his black box text editor and his black box terminal. I had grown up with a gaming geek brother but this was different, there were no pictures, he wasn’t even shooting anything. Weird.
- Ban me from doing things the easy way. I was doing a course on building a website when we met. Dreamweaver was being being taught to make our lives easier. Nick made me do the whole project from scratch. At 2am in the morning on the day the final assignment was due, I really didn’t like him very much.
- Take anything apart and sometimes break things to find out how they worked. Things that I didn’t even think could be taken apart would be methodically dismembered on our kitchen table. The “huh, interesting!” sounds he made were very similar, whether he was watching a video on someone expertly deboning a chicken or whether he had the cover off the router and was poking it with a screwdriver. I, on the other hand, always bought pre-filleted chicken.
Making a withdrawal from Gringotts Bank
As a reflection of why this way of operating was puzzling to me, I will try and convey the type of thing that is going on in my head at this point. For those of you who are familiar with Harry Potter, let’s imagine that Nick and I are trying to make a withdrawal from the wizarding bank, Gringotts, where your treasure is kept in vaults deep underground and the only way of accessing it is to navigate a roller-coaster like series of tunnels.
(Clarifications before we begin 1. I am in no way suggesting that computers are actually built by goblins, or 2. that anyone who uses the terminal is actually trying to rob a bank (we’ll talk more about this later). Just play along with me, K? We’ve come this far…)
There are two ways that you can choose to get into your vault at Gringotts:
- I take a guided tour, down the wiggledy piggledy chute with a pedantic goblin who takes me straight to my vault. My goblin guide gives me a nice map (or user interface) at the entrance so I have a bird's-eye view of where I am. I don't need to know the mechanics of how I get to my vault. I get what I need to done and get out of there. I never have to worry about whether or not I locked my wizard vault behind me because I spend the entire time accompanied by the pedantic goblin who asks me periodically:
"Are you sure you really want to do that?"
- Nick says: "No thank you, Mr Goblin, I'll show myself down" . The Gringotts tunnel system is pretty opaque and there is no way of telling how deep it is. Some make it out alive, but most don't. There are some people who are charmed, lucky or just bolshy enough to get in, like Harry Potter, Nick or Lord Voldemort. They somehow know how to navigate the tunnels, know the magical incantations to get through the doors. If a pedantic goblin gets in the way, or a door won't open, they utter the magic word:
"sudo"which is basically the computer equivalent of "Open Sesame" and lets them do whatever they want. The way out is just as treacherous as the way in, particularly if they used sudo, as they have now changed how the goblin roller coasters work. If their confidence in their ability is overblown, maybe they have entirely deleted the rollercoaster which is their only way out. If they are truly amazing, they might have managed to build an express teleporter, which will cut out the time waiting for the roller coaster and make all future visits to the vault much more efficient.
So now we pose the question: “Which of the two options seems more attractive to you?” If you are screaming:
Give me the pedantic goblin guide!
Then you are feeling much like I did four years ago.
And then I went to Chaos Computer Camp 2011…
Image credits friendlymessage
"The Chaos Communication Camp is an international meeting of hackers [...] for providing information about technical and societal issues, such as privacy, freedom of information and data security.
Wikipedia captures the technicalities of the event, but nothing of the headspinning weirdness of the event for a first timer.
Imagine living in a tent and having the fastest internet connection you have ever had.
Imagine forgetting your shiny new Macbook in the middle of a tent, going to bed, freaking out because you have lost it and going to get it in the morning and it still being there. Yours is puny, and everyone else’s there is pimped to the nines.
Imagine sitting down and opening your computer, to have the two people either side of you simultaneously drop what they are doing and check you have got your firewall up before you connect to said superfast internet. Hackers being generally benevolent, there are those who are not shy of playing games with those who are slow to lock down their computers.
One of the things I found fascinating about Chaos was that it was not all about computers. There were obviously a lot of computers: many of the talks were totally impenetrable if you had not been coding since you were 8. But there was also an eclectic mix of other things: food hacking, knit hacks, laser shows, people flying drones, lock picking.
Nick had been coding since he was eight: fat chance I was going to catch up now, the same way he is probably never going to speak better Russian than I do.
And the frustrating thing was, it didn’t matter which of the eclectic activities he picked, Nick was good at most of them. Maybe he was Ron Weasley…
Ironically, it was not Nick looking at a black box the whole time, it was me.
I know lots of people have looked into the anthropology of Hackers and the Free Software community. I will attempt no such profound analysis here.
All I will say is that I realised something about Nick while I was watching him pick a lock. What I learned is still key (no pun intended) to my personal understanding both of the term ‘hacker’ and of why events like Chaos are so attractive to people who identify with the term.
There was a large and complex demonstrator lock system, encased in a clear plastic box, and Nick and Friedrich were circling it and ogling it. We stood there for what felt like ages, while someone else was picking the lock, watching how the mechanism adjusted with the hand movements.
Eventually, the lock clicked open. Nick, having seen how it worked, now wanted to test his theory. Something clicked in my head about the similarities between the black box and the transparent lock system.
My personal definitions
Software EngineerSomeone who builds software. Simple.
HackerNot, as common usage, someone who breaks into banks and steals all the money. Those are crackers.
Hackers have an intellectual thirst for understanding the fundamentals of how something works, sometimes down to the smallest possible components. Hackers may and frequently do signal distrust of black boxes, or anything that will not show them how it operates.
Hacker is a positive term. It is simultaneously a mindset, a system of values and a community that people identify with.---
Someone can be both of the above or either, or choose to wear different hats at different points in time. It's a spectrum rather than a dichotomy.
I learned from numerous experiments that there are times when a hacker is exactly the right person for the job. You want a rapid prototype to test something out, hire a hacker.
You want a system that is going to be maintained for a long time, you should veer somewhat further towards software engineer end of the spectrum.Better still: pair them up.
It was at Chaos Camp that I first understood some of the non-financial arguments for free and open software, particularly auditability. Security is a big topic at the camp, the Snowden revelations prove why, and only with this mindset of really want to get to the bottom of how something works that catching security holes in hardware and software becomes possible.
But Chaos is not just about technology. It is about politics, culture, freedom and expression. It’s about a particular mindset which strives to understand the underpinnings of all of the above. (Thank you to Friedrich for so eloquently phrasing this point.)
It is no coincidence that “hacking” has entered other vocabularies outside the tech space (e.g. “agenda hacking”, “process hacking”) as a mechanism to reshuffle and improve a process.
Tweak is the new Twerk
"Coding is like riding a bike: You can either do it or you can't"
I had been planning on having a quiet night in when Thomas Levine knocked on my door to ask something about our internet connection (which he was borrowing) and we had started talking.
Now I was cooking dinner and Tom was staring at me like I had just told him that the bottom had just fallen out of the internet and all of the cats had drained away: he was wearing an expression of utter incredulity.
"What do you mean you don't code? You do complex spreadsheets..."
It was like one of those moments they tell you about in literature class, where silence is used to augment a dramatic effect. Had Tom not looked so utterly perplexed by my words I think this moment would probably not have stuck in my head…
It was a point I had never thought about before. When I originally took over School of Data and we focussed on our remit would be, we talked of a “code ceiling”. Our hypothesis (in the team at Open Knowledge Central) was that where we would add value as a project most would be below that ceiling. Our chosen direction therefore indicated that we would largely not focus on teaching people to code (though occasionally we did, and partners are free to do as they choose).
I still believe the essence of that hypothesis is correct. Many of the data workflows that NGOs need to tackle are pretty simple and the level of even spreadsheet literacy is so low, that unless we sorted that, we aren’t going to get anywhere.
However, I didn’t realise that by choosing that framing, I had reinforced the impression that there was somehow something vastly different between what we were teaching and what coders did. Code remained something mystical and elusive.
"It's a bit more complicated than a techie/non-techie dichotomy"
It was true, I had told Tom I didn’t code. There are many things that I could have said which would have probably been closer to the point:
- “I’ve never built a web application” (Though I have built websites)
- “Mostly, I have tweaked code that someone else has written” (Rather than build stuff from scratch myself)
- “Spreadsheets have been my tool of choice, because they seem more accessible to teach, and things I have learned to do with them are far more complex than the equivalent simpler version in code.”
But for some reason, I chose the wording I did, that I can’t code. I’m glad I did. Sometimes, you need to say stupid things to smart people to learn the best lessons.
Later on in the progression of School of Data, due largely to some great brainwork by Tony Hirst, we would build on the concept of ‘tweaking’. Tweaking was a way of getting people less overwhelmed by looking at code. Later trainings, and some data investigations we did, included IPython notebooks, which Tony would set up and participants, including myself, would happily tweak away at and spit data out like there was no tomorrow.
One final digression: On being a woman in a technical organisation
The funny thing about the last story is that in all of the time I have worked in the tech sphere, I have had what appears to be exactly the opposite experience of many women in the space: people (admittedly not everyone) relatively often assume that I do code.
Sure, I have also been asked whether I am Rufus’s secretary, but precisely once, three weeks into working at Open Knowledge (not by a colleague, I stress). I don’t mean to start a debate on women in the tech industry; I mention this because I noticed that all of the people who I have referenced in this post are guys (don’t worry, women will also feature heavily in future posts).
Throughout the past four years, I have been treated with respect and equality by men and women alike. For this I am grateful: it gave me permission to ask the stupid questions and learn what I have.
My hypothesis as to why this is:
For some reason, I was lucky; I was surrounded by the kind of people who valued inquisitive minds, no matter whose they were. I am interested in whether this is due to the nature of civic-tech work, where people skills will sometimes get you further than computer skills, sometimes exactly the opposite. I would love to hear from others working in the field as to whether they have had a similar experience.
Techies and non-techies are both mythical beasts. For me at least, the terms were unhelpful in that I truly believed that I was not a techie and did not know how to earn that badge of honour. This in turn became a barrier for how much energy I was willing to put into things like learning to code.
I now prefer to see the techie/non-techie thing as a spectrum, rather than a dichotomy. Now I know that the direction of travel must not always be in the more technical direction: those who have the knowledge need to be able to put themselves in the shoes of those who do not have it.
Thank you to Rufus, Friedrich, Nick and Tom for patiently reviewing this beast and for giving me so much food for thought for the past 5 years.