Senior management should make engineering culture a top priority and create the framework which supports building a good engineering culture. You need values for culture to evolve, supported by rules that govern how things are done.
Manu Cupcic, Senior Staff Development Lead at Criteo, spoke about Evolving the Engineering Culture @Criteo at QCon London 2017. InfoQ is covering the conference with Q&As, summaries and articles.
Engineering culture is more than values; it should also include a set of rules that govern how we do things, said Cupcic. His definition of engineering culture is:
A process to make distributed decisions.
We make a lot of decisions, which makes it important to look at how we make them. Top down decision making doesn’t scale, argued Cupcic. Things change fast in our industry, so we need agility to be able to make decisions quickly.
The recipe for the culture is very lightweight at Criteo. There is no central place in the organization that is responsible for evolving the culture, and they have a "framework" to "guide" the evolution. Cupcic stated: "We accept that trying to evolve the culture from a central place is futile; culture is inherently distributed."
At Criteo there is a think tank of engineers and managers; a sounding board for new ideas. They meet bi-weekly and anyone can join by booking a time slot to present and discuss a topic. The engineers and managers will listen, debate, and give advice and feedback, explained Cupcic. They might also suggest to the speaker to go to specific people in the organization to talk about the topic or get some ideas. Speakers will get an appointment for the next meeting to discuss how things developed; this helps to mature ideas, said Cupcic.
There is also a techleaders group which consists of top managers and key influencers. If they like an idea that is presented to them, then they can help to make it happen.
Criteo has two values which define their culture: Empowerment and Experiment. The values are more important than the groups, said Cupcic. If you don’t have the groups, the culture can still evolve, although there might be more failures, e.g. people attempt something but forget to ask the key people because the groups were not there to point it out to them. But if you don’t have the values, the culture will just not evolve, or not evolve in the right direction, because nobody will be driven to change it in the right direction.
Empowerment means that culture is everybody’s responsibility. Without empowerment it is impossible to have distributed decisions, argued Cupcic. They promote empowerment by rewarding it, for instance, if someone solves problems then they get the opportunity to be promoted.
Experiments are used to try something small first and then learn. Changing the culture is changing habits, Cupcic claimed. He suggested to not push experiments too fast, but instead to gather data and try different ways.
Cupcic gave an example of how people at Criteo have improved the engineering culture. There is the "Voyagers" program which aims at making collaboration easier by sharing best practices. In this program people go to other teams than where they are working currently to share and collect and bring back ideas to their own team.
The idea of this program was discussed in the think tank of engineers and managers where they explored how to make it easy to exchange people and discussed what the typical duration of a "voyage" should be. It was also presented in the techleaders group where the rules for exchange were defined. After going through these two groups, the Voyager program was introduced in an "all hands" meeting.
The program has become part of the culture at Criteo, said Cupcic. It increases flexibility, facilitates mobility, and leads to less "us versus them" thinking and behavior.
Culture is too important to leave to chance, said Cupcic. It can take a lot of time to establish a good engineering culture so you have to start early. Senior management should make engineering culture top priority, but they will not be the ones working on it. Instead they should create the framework which supports building a good engineering culture, argued Cupcic.