RE: Engineering Culture
Today one of my dear friends Nick Ciubotariu wrote a little piece, Hacking corporate jargon: the “engineering culture” and what that really means. If you haven’t read it you should do so now. While I generally love what Nick had to say I want to step back to the beginning of the article and peel back his premise.
Nick described engineering culture over a few pages, but started by noting that if your company has engineers that it has an engineering culture. While he does distinguish “great” engineering cultures I think he missed an important distinction. If yours is an organizations that collects cultures then hiring a few engineers is “having” an engineering culture. That definition is the same lack-luster excuse that crap recruiters use when trying to lure some poor college graduate into an organization/culture in which they have neither contributed nor participated. “Engineering Culture” is one of many idioms that have been ruined by recruiters, vice presidents, and evangelists. Add this phrase to the list including “full stack,” and “DevOps.” I’d like to raise the bar here.
There is a difference between “having” many cultures where one is an engineering culture and participating in a single culture that drives your organizational values. Not sure about you, but I don’t want to be anybody’s “pet” engineer. I certainly don’t appreciate being misled to about your overarching corporate culture. When I hear that you have an engineering culture I expect that your overarching corporate culture reflects engineering values.
Engineering is not software, hardware, circuit design, construction, or bridge building. Engineering is a problem solving approach that can be applied to any practice. If you have an engineering culture, then it needs to be applied to every practice in your organization. That includes management, accounting, human resources, legal (these people are more engineering centric than they’d like you to believe), facilities, design, sales, marketing, etc. Everything. These are components of a well-engineered company that works together in tight feedback loops to deliver solid solutions to real problems.
I believe an engineering culture is one that values data driven decisions, precision solutions, and purposeful interfaces for humans and integrations alike. It is a culture where emphasis is on merit of content rather than authority or ego. It is a culture where leaders are happy to be wrong, learning is paramount, and respect is earned (not hired). In order to have an engineering culture your people need clear access to data, transparent interests, well-communicated goals, freedom to experiment, and a consequence structure that aligns with these values.
It is almost hilariously simple to spot a company with strong engineering culture from the outside. Off the top of my head I’d list Amazon, Netflix, Google, Tesla, SpaceX, Facebook, Docker, and maybe Apple’s hardware division. I might have added Microsoft to this list, but only for a few years in the 90s and maybe again today. These companies do hard things. They do them because they have a strong product first vision (clear goals). They are not afraid to take near term losses in order to build those projects because they have the data and knowhow required to convert cash and time into something revolutionary.
If you haven’t read the Netflix culture deck, do it.
Culture starts at the top and in the beginning, but it is not static. Jeff Bezos and Elon Musk are two of my favorite engineering leaders. Jeff is famous for his high engineering bar. He’ll sit in and critique whiteboard sessions as if he’d been on a project for months (probably because he’s been working it out in his head the whole time you were working on it). If he blows up with disappointment people STFU because they are about to get an education. Few complain, because the conversation is valuable and in the end everyone knows that they are leaving the room with a plan to build the right product. These conversations are not adversarial; you are responsible to your teammates. Either you did the work, brought data, and proposed a clearly communicated design to solve a problem… or you didn’t. Coming to the wrong conclusion or a sub-optimal solution is okay, but coming to a conclusion without supporting data is a potential job opening.
Elon Musk is wonderfully similar. This is a person who, for fun, proposes solutions to the world’s gigantic problems. He makes enormous efforts and then just says, “Here is a massive amount of data. Here is a plan. Would someone please just take this idea and run with it?” I don’t have to have worked at any of his companies to know what values are held at the top. Reading his tweets, blog articles, and looking at the things that he builds will help you understand that engineering is not a profession; it is a perspective.
Unless your founding team is dominated by an engineering influence your company never had an engineering culture and without strong engineering minded leadership on your executive team you will surely lose the engineering culture you might have had. Moreover, every layer of lazy management you add between those cultural leaders and the bulk of your employees the more that becomes diluted and muddied by copy-and-paste policies, procedures, and management best practices.
Qualified but thoughtless employees are poison pills. Put one high enough and you can kill and entire division of your company. I’ve seen it first hand, and the sad part is that you won’t realize its dead until its too late.
<Insert image of Satya with a defibrillator over MS>
If you let that culture fail you’ll end up like <insert your own list of companies that don’t strike you as having an engineering culture>. At that point your engineers would be as happy working for an insurance company, or running an IT department for the state. You will only compete for talent by paying top dollar. Your products will suck. Your sales will be great, but your customers would love to see you bleed. The market will beg for more competitors, and they will show up with pockets overflowing with VC. You’ll spend more money lobbying the federal government to make your product cannon than you will on product development. You’ll demonstrate your weakness by investing in “defensive” IP and letting your lawyers paint your company as a succubus.
Don’t create an open source policy and say you have an engineering culture.
Don’t buy ping-pong tables and say you have an engineering culture.
Don’t theme your buildings for your products and say you have an engineering culture.
Don’t point to your lack of a dress code and say you have an engineering culture.
Don’t sponsor a hackathon and say you have an engineering culture.
Don’t be an engineering culture poser. Engineers can tell the difference.
Nick’s article is packed with good ideas for maintaining your engineering culture. If you think you have one and want to keep it please realize that doing so requires vigilance with every hire, review, promotion, and product decision. Don’t drop the ball. If you do, pick it up again.
Update: I’m not suggesting that there aren’t brilliant engineers working at companies without rich engineering cultures. That would be ridiculous. I do imagine that those engineers are put in positions where they are at odds with management, product, loathe Sales, and feel frustrated by process more often than they would otherwise.