(Engineering) Culture

Table of Contents

This post is followed by Culture Hacking post

Since Mark Zuckerberg’s 2012 annual letter to Facebook investors I’ve been interested on how culture drives businesses. Especially, tech businesses.

Since last year after reading Dave Thomas’ post about it’s time to kill agile I was looking for engineering culture examples. Relying on culture instead of on processes, methods and tools is easier. And lasts for more time.

Amazon, Google, Facebook, Twitter, Rackspace, Netflix and Spotify have really good engineering culture principles. Take Spotify as an example and go ahead with these two videos ;)

Common foundation of great engineering cultures

Trust

Software Engineering Creative working activities usually are a perfect mix of science and craft. To promote craftsmanship you need to trust on your people. As stated by Laszlo Bock on his amazing Work Rules! book:

“Give people slightly more trust, freedom and authority than you are comfortable giving them. If you’re not nervous, you haven’t given them enough.”

Shared sense of responsibility

Companies with strong cultures have employees that act as founders. They aren’t there only for money. They’re moved by a purpose and by improving his craft. Quoting one of the signs at Facebook HQ, “no problem is someone else’s problem”. It’s that time someone provide a link to Daniel Pink’s 2009 TED Talk, right?

Practice-oriented

The way people conceive, build and deliver software value is constantly changing. State of the art and status quo simply do not exist. Pragmatic cultures works. Dogmas don’t.

Tailor-made

“One size does not fit all” and “There is no silver bullet” are classic quotes in Software Engineering. They’re also true for establishing a engineering culture. Well known engineering cultures are a good point of start and serve more as an inspiration than as a guideline. Before start implementing your engineering culture take a break and discover what makes your organization unique.

Diversity

A strong culture generally started on early stages of a company and does not change a lot along the way. Counterintuitively how do you implement your culture and how your culture touches all daily activities of your company could change all the time until you get it right. And that’s fine. Implementing powerful cultures requires an environment that truly embraces diversity of all kinds. Diverse people together drives innovation. Diversity is the key for keeping your culture alive and updated.

Update (7/14/16): Adding the recently open sourced GitLab’s Handbook and remembering the great Valve’s Handbook for New Employees

Update (7/2/16): This post expanded a lot since its original post date. Engineering are now optional. Great tech-intensive companies not only have great engineering culture. They also have great company-wide culture in place.

Update (6/1/16): Just watched Programmer Anarchy keynote by Fred George. It’s a completely different approach for organizing highly performant Engineering Teams. Mind-blowing!

Update (8/31/15): After publishing this post I’ve found two new articles related to engineering culture that worth to be added here. The first is about LinkedIn’s Kevin Scott on how he structured engineering teams (there is also an old and great article on how LinkedIn changed their development cycle to grow their business). The second is about 5 great tech companies cultures. Buffer and GitHub are my favorites.