Defining culture

Engineering values at Coursera

Jiquan Ngiam
4 min readMay 27, 2014

We have been having discussions on the engineering team on code quality, which turned into higher level discussions on our culture and values. As we are maturing as an organization, these discussions are important to help us understand how we want to function as a team. This article was an email sent to the team (now with fancy medium formatting), providing a frame to think about values and also summarizing the values we converged on.

There were five monkeys in a room. In the center of the room, there was a banana at the top of a ladder. One of the five monkeys goes up the ladder to get the banana, and just as he climbs up, the other four monkeys get sprayed with cold water. After a while, whenever one of the monkeys went up the ladder, the rest would quickly beat up the one on the ladder. Soon, none of the monkeys ventured up the ladder despite the temptation.

A new monkey was then substituted for one of the existing five. The first thing the new monkey did was to go up the ladder. Right away, the new monkey was beaten up by the other monkeys. The new member quickly learned that climbing the ladder was bad, but did not know why. The other monkeys were then substituted, one at a time, each one quickly learning the rule about climbing the ladder. What was left was a group of five monkeys that would not attempt to climb the ladder though none of them experienced the cold shower.

We’re not monkeys. But, as a group we have norms that influence our beliefs and behaviors. Norms run deep: they influence what we reward, and what we chastise, what we decide to focus on, how we resolve conflicts, and the way we are quirky. They define our culture.

Our cultural norms have existed, and they will change. But, we are not powerless in this change. Each and everyone of us owns our culture.

Our cultural norms have existed, and they will change. But, we are not powerless in this change. Each and everyone of us owns our culture. You will find yourself in situations which challenge our norms: You might get a code review that you think needs more work, but there is pressure to release; do you accept it or do you not? An issue happened in production and you noticed it; do you hold your teammates responsible to writing up a post-mortem? Someone on a different team modifies a service that your team maintains; do you help try to get their modifications in, or do you try to put it off? Your actions in each of these situations will shape and influence where our norms go.

The leaders in our organization play an important role in fostering culture. They have the ability to hire, fire, promote, mentor, and model; but they do not control what happens day to day. They will be able to define the environment that the team operates in. It is up to individuals on our teams to define the norms, they cannot be mandated. At all hands, we have created an environment that encourages asking tough questions, but it is up to everyone to ask tough questions to create a culture of openness.

The leaders in our organization play an important role in fostering culture. They have the ability to hire, fire, promote, mentor, and model and thus, define the environment that the team operates in. But it is up to individuals on our teams to define the norms.

So what’s up with the engineering values we just came up with? Values are going to give us a common language to talk about our norms and culture. They provide an environment for us to have healthy debates on what we do — you can live our values and use them to make and challenge decisions. They will be tested, and how we use them will define our cultural norms.

I want us to build an organization that is enduring. I want us to be proud of what were doing and hold each other responsible. How would you want to describe the team you’ve worked with in a year’s time? How do you want to describe the environment, the team, and the people? You play an important role in keeping our culture.

Coursera Engineering Values | May 2014

Find high mountains

1 year perspective

We build products and tools that will be around for years. We proactively consider how what we are doing today could impact us a year from now.

Focus on impact

We measure our success by our impact to our users, our business, and our organization.

Data-driven decisions

We strive to use data to drive the questions we ask and the decisions we make.

Climb effectively

Value responding to change over following a plan

We are nimble and adapt our actions to data. We do not constrain ourselves with our past decisions.

Value optimizing for iteration over perfection

We ship once it works, and iterate based on data to improve.

Value extensibility over one-off hacks or perfection

We are building an extensible platform for many users, not a customized solution per customer, nor a platform that serves every conceivable use-case.

Valuable software is the best measure of progress

We value software that’s actively used and having an impact to our users, our business, and our organization.

Be sherpas

Value shared ownership over silos

We work as a team and help each other.

Value personal responsibility over formal processes

We trust every engineer and give them the freedom and responsibility to do their best.

Value solving problems over complaining

We accept that nothing is perfect and work towards solutions together.

Accept and learn from our mistakes

We are fallible. We are open and transparent with our mistakes and strive to learn from them.

--

--