How Culture Get's Into Code
Culture seeps into all code, mostly subconsciously. This can have profound effects on software, both socially and culturally. How does it happen?
Writing software code is very much about logic and being logical. It’s about solving problems. It can be like some form of magic, which is in part, why coding draws so many in. It seems illogical then, that culture gets into code. But it does. With sometimes profound impacts on humans, both good and bad.
How does culture get into code? Why is it important to understand and what are the considerations in a hyper-connected world? Can it be solved for? Perhaps. Maybe too, culture in the code is a good thing. But how to make it work better?
Since disaster headlines are rather popular today, we mostly hear the bad stuff about culture in the code. Which is good, because that’s how we learn and make better code. But that only addresses a very small part of culture in the code. Two of the biggest challenges of culture in the code is gender and racial biases. Especially in Artificial Intelligence (AI) tools like Generative AI, Machine Learning and Neural Networks.
One of the most cited instances of racial bias was the use of AI tools in the American justice system for creating sentencing programs for offenders. The systems disproportionately gave black men and women longer sentences than white men and women. This was because of the data used to train the system and the cultural biases present within the coders who created the algorithms. It’s unlikely that the coders did this on purpose, it was likely a subconscious sociocultural reaction.
Unless you’re a cultural anthropologist or a sociologist, you probably don’t spend much time thinking about the norms, social behaviours, traditions and customs of whatever culture you’re from or live in. That would probably be a bit boring.
Yet these things inform who we are. How we go about working, playing and behaving in the places we live. In a way, we might see culture itself as a type of operating system like macOS or Windows, but for human societies.
There’s a term in cultural anthropology called the Circuit of Culture, which is a framework designed in the late 1990’s based on the Sony Walkman. It’s a way of understanding how humans use technologies, specifically digital ones. It includes representation, identity, production, consumption and regulation. And if I go on anymore you’ll probably yawn.
Back to how culture gets into code. When a coder is creating a software program or an algorithm they all have their own style of writing it. Coders love to tease one another about how bad their code is sometimes. They’ll laud high-performance codes like they’re some mystical genius. This is part of the culture of coders themselves. They have ways of working and social behaviours. As do all professions.
These behaviours, customs and norms vary by whatever country that coder is in and often when coders move from say India or China to the USA, they bring their cultural behaviours and norms with them.
In the early years of coding, in the 50s and 60’s, software code was predominantly written by women. By the late 70’s and into the 80’s, women, unfortunately, were edged out and men began to dominate software development and engineering. And mostly white, educated men. Even today only about 23% of women are software developers.
This carries through to other countries as well. There’s no hard stats on China, but what’s encouraging is that female representation for coders in India stands around 35%. India’s culture is more welcoming of women in the IT industry.
It’s then quite likely that code written in India will have much more female influence than in America, the UK or Canada. Countries that are trying, but not very successfully, to get more women into the world of coding.
Cultural norms and influences will impact many aspects of code. Coders that live in a culture that is more community oriented, for example, will create code that considers not their own challenges and problems, but those of broader society. Coders in more individualistic countries, like America, will take a more individualistic approach to how they write code and the way they approach problem solving.
One simple example of this is date setting. Some cultures use DD/MM/YY while others use MM/DD/YY which leads to confusing in user interface design. Or that certain colours mean different things. In Western cultures, black is the colour of death, in India it is yellow.
In terms of AI, especially Generative AI and Large Language Models (LLMs) we have seen issues of race and gender bias because most of those developing and training LLMs are white American males. There are Indian, Hispanic, Chinese and other cultures working on GAI in the States, but they are minorities and have less influence over the final product and will often adopt the behaviours, norms and customs of their host country.
AI tools developed in China will carry the cultural norms and values of Chinese societies. The same will happen in Argentina, Brazil or Norway.
Coders of a particular culture rarely think of how their code might impact other cultures. This is not malicious or mean, it’s just that we all tend to frame our view of the world based on the culture in which we grew up and and live in. It’s our default setting in the cultural code of humanity. We are all still, in many ways, tribal and primal.
Creating Code for a Global Culture
So how do we get the culture out of the code? The better question might be, how do we take the good parts of cultures and leverage them to make better code for the whole world? That’s a tough challenge. And not one to be solved by writing code. At least not to begin with.
Aside from the cultural biases we all have, coders included, software developers and designers tend to think of users, mostly from an individualistic perspective. I’ve long argued the word “user” is terrible because it creates mental dissociation in the mind of the coder and UX designer. They see a user, not a human. There has been an attempt at using ethnography in UX design, but UX research has largely been cut in many software firms over the past few years.
One option may be to include cultural anthropology, sociology and psychology courses into computer sciences teaching. If a coder is a brilliant mind who is self-taught, companies could require they get some online learning in on the above sciences. I’m not talking about DEI programs, just learning some of the human sciences.
In the early 1990’s we saw the interest in ethnocomputing that aimed to include sociocultural considerations in developing software. It’s not gained much traction.
If sociocultural understandings are included in software development and even hardware products, it could lead to some innovations and enhancements that would be of even greater benefit to human societies.
I’ve worked alongside hundreds of coders for nearly three decades. Most of them are absolutely wonderful, bright, intensely curious and thoughtful. Coders tend to be more egalitarian than might be thought. Some aren’t. Most are.
In an increasing connected global society, it’s hard to see how we can’t become more socioculturally aware of the culture on the code. Or the code in the culture.