9 Things Warmly's Engineering Team Doesn't Do
Written by Alan Zhao, CTO & Cofounder
During my time at Warmly, I've had the great privilege of working with an incredible team of engineers. They are the people driving the technical engine of the company. And we have all learned a lot from each other.
Our culture and how we operate have been shaped by the mistakes we've made and learned from in the past. Below are 9 standout tenets:
1. We don’t repaint the Taj Mahal.
We focus on outcome, not output. It is crucial that we avoid the engineering build trap of building for the sake of building. We never want to throw time and effort into the machine without a firm strategy. Everything we release at Warmly had been prioritized for highest business impact. Our job is to build the next Taj Mahal, not recoat it with another layer of paint.
2. We don't prescribe solutions.
When collaborating on product ideas, leadership does not prescribe a specific solution but paints a clear picture of the problem or opportunity and then brings the engineers into the meetings with customers. That way, by the time the tickets are reviewed, everyone is on the same page. Leadership decides the “why”. Product and engineering collaboratively decide the “what”. Engineering decides the “how”.
3. We don't burn ourselves out.
Using hard work to solve all our problems is a crutch for real innovation. It’s also a depleting resource that may not have the intended long-term effect. There's a saying that startups don't die, they commit suicide. Trying to sustain hard work for long periods with no end in sight leads to burnout, frustration, and eventually churn. We take care of our mental health and are always thinking of creative ways to do more with less. We set a very high bar during hiring so everyone on the team is already efficient, can self-organize, and is intrinsically motivated.
4. We don't micromanage.
While newer engineers at Warmly are encouraged to over-communicate changes and run them by tech leads, senior engineers maintain and “own” parts of the code base and have more discretion. This allows our engineers to preserve personal autonomy and flexibility, while also controlling against the codebase descending into chaos.
5. We don't expect conformity.
Consistency is a value in and of itself. Being able to agree on how things are generally done frees up mental space to focus on creating great product. That said, technical culture here is less a doctrine than a living document. Different engineers will have different feelings about PR best practices or how much testing should be done. While we have some overarching broad strokes that we try to reinforce, even that is ever-evolving because each person that joins the team brings something new.
6. We don’t evolve for the sake of evolving.
Though we take pride in our tech stack, we never want to focus all our innovation tokens on technological innovation. Anything we do is in service of pushing the long-term success of the business. When we bring in a new technology, it’s because of the impact it would have on our customers. We consider how well new tech integrates, how much lift it will give us, or what’s the cost of maintenance. We optimize globally, not locally. We’re always evolving, but never for the sake of evolving.
7. We don’t care who wins.
Conflict often happens from egos clashing and people wanting to be right. The theory of Energy Leadership identifies seven levels of energy in communication.
Level 1: “I lose.”
Level 2: “I win, you lose.”
Level 3: “I win, and if you win, I’m ok.”
Level 4: “You win, then I’ll win.”
Level 5: “We both win.”
Level 6: “The whole company wins.”
Level 7: “Winning and losing is an illusion.”
At the highest level of energy, winning and losing is an illusion. It shouldn’t matter who is right. There are 11 paths, and 9 of them are going to work out, so just pick one and go.
At Warmly, we prioritize a common scoreboard, rather than every department competing with each other. It doesn’t matter how many goals an individual scores if the team doesn’t win. We either all win or we don't win at all. The moment we start to think it’s Engineering versus Product, we’ve already lost.
8. We don’t avoid conflict. (i.e. You want TACOs, not NACHOs.)
Warmly came up with this acronym to describe our structure: Totally Aligned Committed Organization—TACO for short. Everyone needs to be emotionally bought into the success of the company and are not just clocking in and out. Part of that is creating a safe environment that allows questions and a healthy amount of pushback. This is especially important on an “A-player only” team where new engineers might be afraid to ask “Where’s this thing” or “How do I do that?” because nobody wants to be seen as incompetent. When you have a psychologically safe environment it allows for productive conflict, and only through conflict can you get to commitment. Then whatever decision is made, either individuals agree or they feel, “I may not agree with this decision, but I trust the process. I’ve said my piece, everything was considered. Let's give this a shot.”
9. We don’t let underperformance slide.
The other part of commitment is accountability. We make sure that there is clarity on the team goals. “What does success look like, what does failure look like, and what happens if we don’t hit success.” It might be, we try this new thing out and if we don’t see X result by this date, we take it out, or do Y. We put it in writing, publicly, so there’s no ambiguity when goals aren’t being hit. This way members of the team can hold themselves and one another accountable respectfully, while having high expectations for one another’s performance. When we’re worried about letting our teammates down, we’re more willing to step up our performance.
If this sounds interesting to you, shoot me an email ([email protected]). I'd love to hear your thoughts.
October 22, 2022