Building A Healthy Engineering Culture

Carl Youngblood
Silicon Slopes
Published in
4 min readJun 20, 2017
Photograph by Frank Masi / HBO

The world of tech startups is known for being heavy on hype and inside baseball. You’ve heard the stereotype: a twenty-something ‘brogrammer’ boasts of his latest disruptive social media play, but in reality, it doesn’t get noticed outside the Silicon Valley bubble.

As we build the engineering team at Divvy, we want to be especially careful to avoid these stereotypes. We want our work to make a significant difference in the work lives of everyday people. We also believe in cultivating competence in teams rather than just in individuals. We don’t want to give carte blanche to temperamental “rockstar” programmers whom the rest of the team must tiptoe around. Instead, we want to build the kind of teams that any reasonably competent person can join and quickly become productive, because the intelligence and good habits are embedded in the team’s culture. Such teams 1) clearly define and document their projects and workflows, and 2) create a comfortable, creative environment where people aren’t afraid to ask questions.

Shawn Rider, Director of the Web Development Certificate program at Seattle University, talks about how a culture of fear can unintentionally creep into an engineering team:

All too often, working on a team becomes a never ending sequence of dares. This applies to all teams, but for development teams the problem has some recognizable patterns: Changes are submitted, approved and merged with discussions that take place over the heads of most of the team members — or without explanation at all; projects lack the supportive tooling that makes work efficient and pleasurable for all of the roles on a team; developers are told to “own” a problem and sent off alone as if on some mythical hero quest. This is a set of dares. We dare you to speak up. We dare you to ask for explanation of code you do not understand. We dare you to figure out how to create your own tools. We dare you to find an end-to-end solution in isolation that the rest of the group will deem worthy. The dares may not be explicit, but the implied risk involved in speaking up, asking for help, or seeking collaboration is often real: Our reactions to the behaviors listed above are used as indicators of how smart and good we are. These behaviors, and many others that follow along the same lines, create significant barriers to building and operating inclusive teams that can successfully leverage members from varying backgrounds, with varying levels of training, and with varying subject matter expertise. (“Work Is Not a Dare: Tips for Building Inclusive Teams”)

Here are some specific steps that we have taken to strengthen our teams and foster a healthy engineering culture:

  • We document our culture and workflows carefully so there is no confusion on the part of new hires. We encourage employees to read and consult this documentation often, and to contribute to it whenever they notice gaps.
  • We include a thorough README in every project with all necessary steps to get it running on a developer’s computer, including how to run unit tests.
  • We encourage engineers to be nice to each other. We ask them to be patient and helpful when they ask questions, and not to sound annoyed.
  • We encourage engineers to program in pairs and work together, which helps them to focus, learn from each other, and gain project awareness.
  • We try to weed out abrasive candidates who don’t work well with others during the hiring process. Regardless of how talented they may be, the toxic influence brought by certain personality types can harm a team.
  • We regularly hold lunch-and-learn sessions together to share insightful articles and tips with each other.

Mature teams are greater than the sum of their parts, performing well regardless of the particular team players and configuration. These kinds of teams can only emerge in an environment where people work together in a supportive, non-adversarial way, focusing on delivering long-term value rather than constantly taking the pulse of individual contributors. This is the culture we’re trying to foster at Divvy. We continue to look for ways to improve. I’d love to hear about what has worked for you and your company. Please don’t hesitate to share!

--

--

Carl Youngblood
Silicon Slopes

Software engineer, amateur philosopher, musician and technology enthusiast. CTO at Mainframe.