Colour.

Over the years, I’ve had to deal with cultural differences in many ways. Firstly, and most obviously, as a British citizen in the US, there are plenty of cultureshocks to be had - on the surface, there’s a lot of similarity between our two countries and cultures, but there are also many, many differences that I have to navigate on a daily basis (note my spelling of “colour” in the title there, for instance!).

In terms of work, I’ve also had to deal with different cultures - I worked for a company a few years back who specialised in developing sites for the Chinese market. Now, what we accept as good design sense here in the West isn’t necessarily the case if you go east - colours have different meanings, people expect different things in terms of layout, and so on. For example, the use of the colour red in Western design usually denotes assertiveness or possibly even aggressiveness. In Chinese culture, red is a very friendly colour, much as we would interpret pink, although less gender-specific. Also, in terms of design, the trend here in the West is towards the minimal - conveying only essential information. Over there, they like it when every inch of the screen is full of content - something that might be considered far too busy for our tastes, but the connotations are different there - it shows you have a lot to offer. Go to an international news stand and pick up any Chinese-language paper - you’ll see every inch of every page is packed with information, and the same is true of their website preferences.

There is also definitely a culture surrounding programming. In many ways, it’s like a microcosm of “real life” culture, but with some significant differences, differing depending on where you go and what you do. The boundaries aren’t necessarily national either, they’re more based on the type of work environment you have, and the technologies you work with.

On one side you have the archetypal “geek” culture, usually espoused by individual programmers and small companies, and, on the other end of things, you have the “corporate IT” culture, usually found in large organisations. The innovations usually happen at the “geek” level and filter up to the “corporate” level, where they’re expanded and adjusted for purpose. For instance, the notion of “agile” development was an innovation from the small compay side of things, primarily those working on iterations of open-source software projects in order to streamline the development process. This approach was sequestered by the corporations, and now many large companies use agile development practices. In my experience, it rarely works the other way around - there’s not many corporate concepts that have filtered back down to the “geek” level. Other differences I have noticed is that smaller companies are more innovation-driven, while larger companies are more market-driven. You only have to look at Twitter to see the impact an innovation-driven team can have, and MySpace to see what a burgeoning corporate culture has done to a formerly innovative company.

As with “meatspace” cultures, some people in one culture often look down on people in another, there’s many differences in philosophy and application, and so on. This aspect sometimes makes it difficult for programmers of different cultures to work together - in many ways, it’s like two different worlds. I’ve personally worked in both environments, and they are like chalk and cheese.

But, also like many aspects of “real-life” culture, there are many similarities, things that unite us instead of dividing us. As programmers, we all speak the same language - the language of code. Programming and mathematics are probably the only two universal languages - you’ll find people in Calcutta, Beijing, Sydney, New York, Paris, Cape Town, Lima, Barcelona, London and Dar Es Salaam all communicating in the same terms, understanding, creating and implementing the same concepts and sharing something beyond their cultures. This degree of transcendence is a great thing that, in my opinion, can help us all to transcend our real-life cultural differences as well. And, as a microcosm of real-world cultures, it also gives us a reference point for understanding them better.

Better living through programming? Maybe not (well, not yet), but it’s a start.

Text tagged as: programming culture