The 4 Elements of a Strong Engineering Culture
Culture is the backbone of any engineering team. It’s what drives the team forward as a cohesive unit, keeping engineers engaged and attracting new, high-quality talent.
I see culture as two tightly coupled aspects. On the one hand, you have the internal values and external brand of the engineering team. On the other, there's the day-to-day process that defines, guides and reinforces the engineering culture.
There Are 4 Key Elements to a Strong Engineering Culture
One of the most important things for an engineering team to do well is to deliver a high rate of quality output — meaning there needs to be emphasis on strong delivery. Teams should be aligned on their mission with clear visibility into long-term roadmaps.
This is especially true for any fast-moving, high-growth startup when you’re trying new things and constantly evolving. When I joined Opendoor last year, I saw that execution was a key component of our culture. And even now, as a public company, our engineering team still operates this way. We are nimble, flexible and extensible in our work. We don’t always know all the information ahead of time, so iterations are crucial. With succinct mission statements and longer-term roadmaps, teams and engineers can always level-up their work to the broader team and company mission.
Agile execution can only be accomplished with an emphasis on focus. As they say, less is more. Teams should ruthlessly prioritize and ensure they are working on the most impactful projects — the projects that support the company’s mission and goals.
For example, when I started at Opendoor, I was focused on upleveling the seller organization, which is our team focused on the home selling process and experience. At the time, the team was spread too thin. They had too many projects going on at once, with too few engineers focused on each.
To remedy this, I helped the team establish clear metrics that the org should focus on, ensured teams’ roadmaps were prioritized against those metrics and pushed them to focus on fewer, higher-impact projects. I made it clear that the raw number of projects does not matter. Instead, teams can achieve greater business impact through stronger execution.
At a high level, it’s about quality not quantity. Make sure your teams are spending their time on projects that matter the most.
Having real impact ensures that everyone is delivering on work that is positively helping customers. For this to be successful, engineers need to be empowered and feel a sense of ownership of their work. Successful teams and organizations are highly aligned among all functions — from engineering and product to design and operations — and have an equal voice in the decision-making process.
I believe engineers should be entrepreneurial — always thinking with a business and customer mindset. Instead of engineers simply taking a product spec and opening as many pull requests as possible, they should be more involved with product direction. Engineers should also have empathy towards their customers and their pain points.
Customer empathy can be achieved in many ways: meeting regularly with your users, understanding their challenges by reading support tickets, answering support tickets, reading sentiment surveys and so on.
The last piece of impact is a metrics-based approach to everything. For us to ensure we are delivering work that is positively helping our customers, we need to be able to measure it and use it as input for prioritizing roadmaps. Projects should be experiments, and results should be measurable with clear success criteria. This allows everyone to make informed decisions, objectively prioritize or deprioritize projects, celebrate successes or learn from failures.
Of course, there is a balance, and there are exceptions. Some projects are ones you know you need to do — such as projects related to trust and safety — while others are big bets you can go for. Oftentimes, higher risk translates to higher reward.
An engineering team’s culture is ultimately composed of many smaller teams’ cultures. A strong organizational culture demands a strong team culture where individuals can rely on each other, feel supported and be vulnerable.
A key piece of this is a blameless culture. Things are bound to go wrong at one point or another, but it’s important that engineers learn from their mistakes through a blameless postmortem.
Want a few tips on how to do this? Start the postmortem through the lens that everyone operated with positive intent. The goal is to learn and avoid the outage from occurring in the future. The discussion should be objective, discussing what happened and not who did (or didn’t do) something. When making suggestions on improvements, focus on how it will fix things moving forward instead of retroactively attempting to avoid the issue.
Engineers should be able to always rely on their teammates, from code reviews to architecture and design help to supporting each other when personal crises arise. This specifically requires numerous mechanisms that engineering leadership creates to allow team cultures to foster. I personally find team bonding events — like offsites, hackathons and learning programs — to be invaluable.
The other aspect of teamwork is a mentality of personal growth. This manifests itself in numerous ways, but a sure sign is having engineers who are always eager to learn new things and further their careers. Engineering leadership can foster that through learning programs, such as tech “brown bags,” budgets for learning and development classes or books and a strong desire to use new technologies. With a desire for personal growth, engineers must also be able to receive high-quality feedback from their managers and peers with clear goals on how to progress in their careers.
Lastly, engineering excellence is crucial for long-term company stability, engineering efficiency and an individual’s happiness. While this mostly refers to high-quality code output, there are many times when work simply needs to be deployed as quickly as possible. That is absolutely acceptable — as long as that is the exception and not the norm. I have experienced many teams crumble under mounting technical debt without the ability to deliver on new features. This could be due to highly coupled code, lack of abstractions, a lack of investment in bug fixing, rigid designs that are not easily modifiable or dozens of other problems.
One key way for engineering leadership to show their focus on quality is through their investment, such as headcount, infrastructure and platform teams. Meaning: If you’re going to talk the talk, you need to walk the walk. If quality is really important, you need to take action. These teams’ true focus should be on engineering excellence and uplifting the rest of the engineering team through constant improvements, automations and technical leadership.
Over the years, I’ve helped influence and foster culture through a few different means. As an engineering leader, it’s important to clearly define the attributes that will drive your company forward. And I truly believe these four elements are essential to creating a strong culture that will set your team up for success.