June 06, 2019 by Marco Cecconi
Why is it so hard to determine and change a company's development culture? The answer lies in how customs come to be and how we are biased not to see the economic factors shaping them.
When we look at broad social trends, at the winners and the losers, the tendency is to personalize the merits and failures, because this works in everyday experience. Unfortunately, this is often misleading in the case of outliers. This bias can mean assuming Michael Jackson is the greatest pop singer of the 80s simply because he sold so many copies, considering that Barack Obama or Donald Trump won their elections because they were the best candidates at the time, or conversely thinking that their opponents were not good enough for the job.
The assumption that the best win the race is not exactly right. I would think that Hillary Clinton, for example, is considered an experienced politician, even though she did not succeed against Donald Trump who was at the time, running his first political race. A lot of experienced politicians were quite sure she was the most qualified of the two candidates, yet she lost.
Why is it that some politicians, actors, musicians or, indeed, products make it to the top, whereas some of the equally worthy, or even superior competition does not? The answer to this question is very close to what marketers call "mind share" or "top-of-mind awareness," but I prefer to express this concept with the word "alignment."
Allow me to have an aside at this point. Let's talk about magnets. How do magnets work? Magnets are made of atoms. Each atom is a small magnet itself, with a tiny north and south pole. In an ordinary piece of metal, these atoms are aligned so to the overall effect of canceling out each other's magnetic field. If we magnetize this piece of metal, the field of the magnet we use for this will spin a lot of these atoms so they all point in the same direction. In a ferromagnetic metal, when we remove the magnet, the atoms will stay in place.
Here's the kicker: the alignment of all the atoms has made the piece of metal magnetically active.
Here's the other crucial piece of information: the orientation of the first magnet did not matter at all. You merely need a strong enough magnet.
Let's go back to economics and politics, and, as we shall see, these lessons apply to development teams as well. Without influencing factors, the public has a variety of opinions, and the overall effect is that no particular idea is stronger than the others. Then, some social, political, and economic factors appear and start to influence society, just like a magnet would affect a piece of metal. For example, some of these forces are our elementary needs: hunger, need for physical safety, psychological safety, love, and friendship. Other factors can be more subtle: mental biases like preferring people similar to us, the advent of the scientific method as a means of discovering objective truth, technology, and tools, but also events like wars, historical memories, or even memes.
Since the XX century, we have had the most significant change in these factors since the invention of writing, and this is the creation of mass communication tools. These allowed for a new heavyweight factor: mass propaganda. Starting with systematically distributed pamphlets like Marx's Communist Manifesto in the XIX century, the propaganda factor is reaching new heights every time more mass media emerge in society. Cinema and radio coincided with the rise of fascism, communism, and Nazism; television likely led to the advent of marketing and consumerism; finally the internet and social media, which are leading to the rise of new populism and, more in general, memetics.
"How does this affect me, and my development teams," you may ask? Team cultures, like society, are shaped by economic forces, factors, and incentives. Understanding which particular set of factors are in place for your teams will tell you how your current culture has come to be. Furthermore, changing those incentives is the key to changing the culture.
The first part to understand here is how to set up incentives properly. Remember the magnet example? We want people to align on certain lines. As such negative incentives are unlikely to work: if you banally blame people for not writing tests, you are setting up an excuse not to do something, and not a reason to do something specific. For example, Hillary Clinton was a very qualified candidate for the presidency, having been there as the first lady twice and having had an outstanding career ever since. Unfortunately, though, her campaign focused too much about convincing people not to vote for Trump (remember the "deplorables" or "Love Trumps Hate"?) and this was unlikely to work. No matter how bipolar the system is, convincing people not to vote for Trump does not translate in votes for Clinton. It increases the undecided. When Trump instead criticized Clinton, he made it into a positive message: "I will send Hillary to jail if elected", This kind of message aligns people. It might sound horrible to Trump's opposers, but to people who agree with Trump, this is a message that convinces them to vote for him. The key is that the message is focused.
Obama did the same, in a world of conservatives that were criticizing him for his birth certificate and throwing various slanders, he had a home run with "Yes We Can," "Hope" and "Change." All positive messages, they align people; they make them resonate with each other.
Would you like more examples? Advertisement: when you see a Coca-Cola ad, there are always people having fun, and the product is with them. They don't tell you not to drink Pepsi. They inform you that you are going to be happy with their product. Their latest campaign is called "Taste the feeling," and that feeling is "happiness."
“Taste the Feeling” will bring to life the idea that drinking a Coca-Cola – any Coca-Cola – is a simple pleasure that makes everyday moments more special. While Coke’s award-winning “Open Happiness” campaign leaned heavily on what the brand stands for over the last seven years, “Taste the Feeling” will feature universal storytelling with the product at the heart to reflect both the functional and emotional aspects of the Coca-Cola experience.
So here's what you can do: instead of blaming your developers for not writing tests, or in addition to that, set up a celebration of positive examples. Systematically praise good testing behaviors: people who do write tests; people who help others doing so; people that show expertise in writing tests; people that make testing more efficient and effective.
There are many do's and don'ts in about how to effectively govern messaging in a development department, and this is the topic for another post, but as for this post let me recapitulate a few key points.
Political and economic factors determine the internal culture of a company. Changing and controlling these factors is how we can improve and fix a problematic culture in our business. Effective factors are positive ("do", "can") and focused ("do this", "can do that"): they are "calls to action" and tell people which behaviors are correct. They are not focused on what to avoid ("don't write bugs", "don't commit uncovered code"). Even in a nuclear power plant, I'm pretty sure that a "don't melt the core" is not a very useful message.
The critical point for this article is to convince you that you need to control incentives that determine culture. The next post will focus on how to do that effectively, dealing with concepts like ubiquity, systematicity, and mind-share. Until then, remember to make your devs happy!
About me: I advise companies on how to improve their culture and their codebase at the same time. This article explains why I build a product named Badgie that gamifies the whole development experience to bring positive in the sea of negative in which we live. While Badgie 6–8 weeks away from MVP release, sign up below to receive weekly progress reports and be one of the first to get in our beta!
Hi, I'm Marco Cecconi. I am the founder of Intelligent Hack, developer, hacker, blogger, conference lecturer. Bio: ex Stack Overflow core team, ex Toptal EM.Read more
November 25, 2020 by Marco Cecconi
Our newest open source initiative, intelligent cache, is available for useRead more
November 19, 2020 by Marco Cecconi
In this post, Salvatore Sanfilippo puts together a list of qualities that I believe make the most difference in programmers’ productivity.Read more
October 27, 2020 by Marco Cecconi
Today I want to introduce our second engineering team: Team EMEARead more
October 23, 2020 by Marco Cecconi
LEGO star-ships aren't made to collect dust on a shelf, but to explore strange new worldsRead more
Software engineers go crazy for the most ridiculous things. We like to think that we’re hyper-rational, but when we have to choose a technology, we end up in a kind of frenzyRead more…