Typecasting can be useful but has many dangers. Frances Buontempo considers how to pick your way through categories.
Sometimes we put labels on stuff or even people to help us navigate our way through life. A magazine might have a couple of pages at the front for an editorial and yet, though the pages may be filled with words, that doesn’t mean what is written is really an editorial. I have previously tried using machine learning to generate the words for me [Buontempo14], but the results were suspect. Furthermore, I have recently been revisiting playing with Monte Carlo chains (watch this space for details) and derailed myself yet again. Some may claim having hundreds of thoughts and distractions in place is some kind of neuro-atypical attention deficit hyperactivity disorder, while others may recognize joy in having so many interesting things to find out about and muse on. Sometimes labels help and sometimes labels hinder.
First impressions are a type of labelling; first impressions count. What they count is another matter. If I wear jeans and a t-shirt for a meeting, I may look out of place and yet if I wear a suit in a ‘hipster’ office I will also look out of place. Nowadays, wearing pyjamas on a video call has become the great leveller. The context influences whether the initial judgement is positive or negative. First impressions also interleave with stereotypes: try looking for an image of a programmer. You will find different people over time and across the globe. In one place, a middle aged man, fed on junk food, sitting in a darkened room. In another, groups of women. It depends. It’s easy to forget the clichés about people we use to navigate through life. I’ve been reading Software Design X-Ray Patterns by Adam Tornhill recently, and he touched on the subject, saying “The fundamental attribution error is a principle from social psychology that describes our tendency to overestimate the influence of personality – such as competence and carefulness – as we explain the behavior of people.” In other words, we underestimate the context, whether that’s looking at some legacy code or at someone’s behaviour. You know, thoughts like “Typical Java coder” and the like.
Stereotypes and clichés do give broad brush strokes and often have roots in the actual but, they are a compressed, ‘lossy’ summary. Worse, it is tempting to extrapolate from one category to another, like a badly trained recommender system. Do not extrapolate from three data points and do not draw conclusions from a coincidence. Well, you can, but if you do, use this as a hypothesis rather than a fact. Challenge your assumptions.
Have you ever described something as ‘typical’? Have you been described as, say, a typical geek? Though some of us may proudly wear ‘geek’ or ‘nerd’ as a kind of badge, it can be dehumanising. Using a label suggests a programmed system with no way to perform in interesting or unexpected ways. A deterministic system gives the same outputs for the same inputs, every time. Now, AI code tends to use randomness to explore possibilities and appear to have agency. Perhaps we are all programmed bots in a simulation, but that’s another matter. I wonder if we could spot a ‘typical AI’. Would its behaviour give it away? Philip K Dick explored this in ‘Do Androids Dream of Electric Sheep?’ The androids tended to give themselves away by lacking empathy, a trait some believe that coders also have, tending to be further along the autistic spectrum than most. I stopped myself from trying to find any evidence for this, because I know, first I’ll end up with far too many tabs open in my browser, and second, I will be hunting out evidence to support a statement I just made. This is a form of confirmation bias. Though I know many other tech people who score highly on autism tests, I am not sure if this label is a help or a hindrance.
A first impression, used as a broad brush stroke to find something in common on a first meeting, can be enabling. If you are wearing a Slayer t-shirt that invites me to throw up metal horns \m/ , a chat about certain types of music will ensue. If you mention C++ on your profile, you give me a potential conversation starter. These hints and clues may be esoteric and not universally recognized. That’s OK. The point of a label is for disambiguation. In contrast, all the kids in a class turning on the skinny one who wears glasses and calling them ‘four eyes’ is another matter. Labels to help start learning and communication are useful; labels for bullying are not. For a while, glasses became a fashion must have, with non-prescription specs available along-side others accessories in shops when shops were a thing. An unexpected phenomenon, but looking like a geek was on trend. This did cause some fake geek girl memes, but perhaps is a hint of a change of mindset, rather than purely a cynical marketing ploy? Who knows?
So, what does a geek look like? The internet does insist on glasses, in the main. I think being a geek is more a state of mind: what’s inside counts. Wikipedia tells me ‘geek’ was a pejorative term for “peculiar person, especially one who is perceived to be overly intellectual, unfashionable, boring, or socially awkward” [Wikipedia], and then mysteriously says the negative connotation is due to its “earlier association with carnival performers”. Possibly something to do with the word ‘geck’ in some dialects meaning fool or clown. Sometimes the label ‘nerd’ is invoked instead of geek, or the words used interchangeably. Do these terms differ? Maybe. My internet search says both wear glasses, but a geek wears a t-shirt whereas a nerd wears a shirt and tie. Again, shallow: it’s what’s inside that counts. I tend to use ‘nerd’ for someone who knows their subject in depth, armed with a vast number of facts and snippets of info. In contrast, a geek would dismantle almost anything to find out how it works. I asked twitter if people considered themselves a geek, nerd or neither. Each option got about a third of the votes, so I have a nice balance in my followers. One person did say they use ‘nerd’ as a very positive term and like nerds because they live for the things they love. Some preferred the term ‘geek’ and many chose ‘neither’. Not every who codes will look or act identically. Once too often I’ve heard the phrase, “You programmers are all the same” followed by some claim about not being able to create what the users want, or spending time faffing about with whitespace or so on. Incredibly unfair; don’t use caricatures of people to prejudge their character.
Mindlessly applying labels can cause all kinds of harm. And yet, labelling data, particularly images, has become a part of everyday life. My phone has some ‘AI lens’ for the camera app, which tries to label what it sees. Sometimes a cat, sometimes a dog (wrong – it was the cat, but hey), once a waterfall (also wrong – the cat was sitting on a green chair) and failing that ‘portrait’. I presume if I rotate the phone appropriately, it would become ‘landscape’. There must be a way to provide feedback to increase the intelligence of the so-called AI, but I’ve never bothered investigating. Many forms of machine learning or AI required labelled data, so the mind-numbing task of attaching labels cat/dog, good/bad and so on to reams of data must be farmed out to humans. This is now tending to be called human in the loop machine learning. This is quite an old phrase and used to mean a human steering where the machine was going; a much broader idea than a human slave slapping labels on datasets. How many times have you been asked to identify traffic lights when a sign-in like reCAPTCHA [Google] goes wrong? Why are you being asked to do this? To label data for self-driving cars, one presumes. What happens if you deliberately get it wrong a few times? You get more pictures to label. Your choice is compared to others and the majority votes wins. The wisdom of crowds.
Sometimes a crowd is more like an angry mob and shouldn’t be trusted. However, while one individual may be terrible at making a numerical estimate, the average can often be very close to the actual value. Wikipedia (again, forgive me) reports Galton’s “surprise that the crowd at a county fair accurately guessed the weight of an ox when their individual guesses were averaged (the average was closer to the ox’s true butchered weight than the estimates of most crowd members)” [Wikipedia-2] If you play planning poker at work, perhaps you should take the median or mean of the story points and see where that gets you. Guessing, or predicting, the number in a range is one task we leave to stats and AI, and averages or ensemble methods can work well here. Finding the average of a category or label is much harder. You could count the most common, but with equal votes between geek, nerd or neither you will be hard pressed to report the winner. Building consensus requires more than taking an average or declaring ‘nerd’ the winner having received 35.3% of votes, with ‘geek’ and ‘neither’ a close second at 32.4%.
Labels can be useful as a starting point for learning or exploring. We learn language by pointing and declaring “cat” or “dog”, or, in my nephew’s case, “Mummy” while pointing at a leather clad biker in a pub. Fortunately, the biker saw the funny side. When we label data for AI, it can cheat and memorise the labels. Perfect recall is not the same as intelligence. If a computer has a lookup table of outcomes for possible moves in chess, is it displaying intelligence? If a person can recite hundreds of digits or pi, are they exhibiting understanding? Probably not. Does it matter? It depends. I suspect we cannot define intelligence accurately. What we find amazing, in terms of the capabilities of tech or humans, changes over time. The thermostat, to control a heating system, was invented a long time ago. It was referred to as a heat governor, capable of ‘self-acting’ [Ure37]. The idea of self-acting or agency often plays a part in our intuitive sense of what intelligence means, and yet seeing a thermostat as AI would seem weird today. Perhaps one day, photos labelled automatically, chat bots helping customers, self-driving cars and transporters and replicators will be the norm. ‘Normal’ has a time axis, so if you feel out of sorts, like a socially awkward geek or nerd, fear not, you might just be an embodiment giving a glimpse of the future.
When you discover a word you don’t know, how comfortable do you feel using it in a sentence? A child may not be shy about pointing at everyone in sight and declaring them to be “Mummy”, but may become a bit more self-conscious later on. Don’t let that put you off learning new things. Something similar happens when you try to take on board new programming paradigms. Many listen and watch others before having a go, perhaps in the privacy of a bedroom, or shed or wherever. Perhaps you feel like a fraud putting a new language on your CV which you have just started to learn. Maybe you don’t feel you know enough to write an article. These hints of imposter syndrome bite us all from time to time. Don’t let your inner voice tell you, “You can’t do this”. You got this. Fake it till you make it. Try out the new word, write different code, punt an article to a magazine. It might be fun. You might learn something. Don’t let labels, yours or others, box you in.
Let’s avoid too much typecasting. Start with labels, sure, but we all know the trouble inappropriate
reinterpret_cast can cause if applied carelessly. What matters most is how you self-identify. Are you a geek, a nerd or neither? I don’t mind, but I’m interested in what you want to talk about and what you do. Imagine a world, where you could choose your own label. Imagine if you could choose your own job title. How would you describe yourself? I’d settle for Code Improver. What about you? Whether you count yourself as a geek, nerd or neither is by the by. Above all, you are human and have interesting things to do and say.
[Buontempo14] Random (Non)sense, Overload, 22(119):2-3, February 2014 https://accu.org/journals/overload/22/119/buontempo_1853/
[Google] reCAPTCHA: https://www.google.com/recaptcha/about/
[Wikipedia] Geek: https://en.wikipedia.org/wiki/Geek
[Wikipedia-2] Wisdom of Crowds: https://en.wikipedia.org/wiki/The_Wisdom_of_Crowds
has a BA in Maths + Philosophy, an MSc in Pure Maths and a PhD technically in Chemical Engineering, but mainly programming and learning about AI and data mining. She has been a programmer since the 90s, and learnt to program by reading the manual for her Dad’s BBC model B machine.