One by one, engineers in the room started to voice some of the tensions they faced at work.
One engineer shared that he found it frustrating whenever goals changed mid-way through a project because of all the wasted effort and throwaway code.
One commented that she sometimes found it hard to get another team to commit to or help out on something she was working on. Everyone's working at the same company, so it really didn't seem like it should be that hard to align everyone on the same goals. And yet there'd be friction to get things done.
One engineer had trouble balancing individual contributor work and responsibilities being a tech lead.
Another shared a stressful experience of having her team committed to a deadline that she had no say in, feeling like they had to aggressively hack together code and cut corners to hit the deadline, and then feeling frustrated that there wasn't time to clean up the technical debt afterwards.
There was a lot of energy and resonance in the room as people nodded their heads in agreement to what was being said.
I was at Pinterest this week, having been invited there for a fireside chat and Q&A with 70-80 members of the product engineering team. At Pinterest, they have three core principles on product engineering: Start Simple, Build for Impact, and Own It. We started to explore that last principle — what does “owning it” even mean?
What is it that holds us back from taking more ownership and initiative at work? From there, some common tensions surfaced.
That tension between seemingly competing values — whether it's velocity and quality, individual needs and team needs, engineering goals and business goals — was a common theme. The issues surfaced in the conversation were familiar, as they are the same ones that show up at every tech company.
The more senior we become in our roles and get recognized either implicitly or explicitly as leaders, the more head-on we start to encounter those tensions. They reflect the reality of trade-offs we all have to make.
But when we feel like we're the only one worrying about them, it can feel lonely, isolating, and stressful. We feel like we're shouldering a burden on our own and that other people seem to be working against what we want.
The stress, frustration, friction, and anxiety reflect a mismatch in alignment. They reflect an internal belief that “I care more about this thing than other people do, and so I have to be the sole person fighting for it.”
Misalignment Leads to Poor Trade-offs
When I was working at Quora, there was one summer when our engineering team was about to double in size due to an influx of new full-time hires and interns. Because we used continuous deployment — where every code commit was immediately pushed into production — I was really afraid that the product would break all the time.
How do we make sure the new hires cared enough about uptime and quality as much the rest of the team? How do we balance moving fast and not breaking things? How do we make sure they had a good experience? And why do I seem to be only person really worrying about this?
Looking back, I'm grateful for that fear — it drove me to really focus my efforts on developing an onboarding and mentoring program at the company. And that experience eventually led me to scale my educational efforts into writing my book, The Effective Engineer.
But now it's also clear that my fear came from a communication gap around what mattered at the company. We valued shipping quickly, but there was also an implicit baseline level of product quality that was expected but never explicitly articulated. And not having everyone fully aligned on what that baseline level of quality was made it really difficult for me to imagine new hires making the right trade-offs.
I approached that problem by providing more training — which certainly helped — but even more helpful would have been conversations that built alignment across the team around what was expected. What sorts of production issues were acceptable? What standards do we hold for data integrity and uptime? How would we know when we crossed the line from acceptable to unacceptable?
This fear of misalignment isn't just something that's present in small startups. It shows up in larger companies as well, particularly ones that grow quickly.
A few years ago, I attended a panel on Engineering for High Growth and posed this question to leaders from Dropbox, Facebook, Stripe, and Lyft:
“As teams and companies grow, what processes and systems break down that often don’t get addressed quickly enough?”
All the responses pointed towards one theme: communication is the first thing that breaks as teams grow. It gets harder to share ideas and to make sure that everyone is on the same page. Assumptions that used to be true and patterns that used to work no longer do.
Even though everyone at a company might share a common goal of having the organization succeed, individual goals may differ day-to-day. One person cares strongly about the company's mission. Another might care about the paycheck. Yet another might care most about the technical work or about the people.
When what's important to people isn't addressed, that misalignment causes all sorts of friction.
Close Communication Gaps by Building Alignment
As teams grow, building alignment becomes one of the highest-leverage tools you can use for effectively getting things done.
Here are a few simple and high-leverage investments to get you started:
- Share what you want. Suppose you're interested in exploring management and want to get a better sense of what it'd be like. By sharing that with your manager, she can help you identify what's important to you about it — helping people grow, designing team processes, strategizing on team priorities, etc. — and work with you to identify opportunities for that growth.
- Ask, “What's important about that?” This is one of the most useful and powerful questions you can ask about any goal, expectation, priority, or change. When we know what's important to the other person, we can do a much more effective job — maybe even suggest better solutions to the underlying problem than what's being suggested.
- Explicitly design your 1:1 time. Oftentimes, especially in 1:1's with our manager or our reports, we fall into a pattern of just defaulting to was done before, instead of intentionally designing how to best use that time. Have an explicit conversation around, “What would make this time most useful for each of us?”
- Articulate or ask for priorities. When priorities for a team or an organization aren't clearly articulated, that leads to people working on the wrong things or good things at the wrong time. At the beginning of every month, Jean and I will have a conversation around what priorities and goals for the month, so that we spend our time in the right place.
- Bring any gaps in understanding to the shared awareness. This is especially useful to do during retrospectives or sprint kick-offs. Even saying something as simple as, “I noticed that there might be a gap in our understanding of X. My understanding is Y” can be a great way to start bringing attention to a tension where misalignment might exist.
- Reframe what you want from another person's perspective. Trying to pitch that you want a day to refactor code and clean up technical debt might not get you very far in convincing a stakeholder who cares about business outcomes. But explaining how you'll be targeting your refactoring efforts specifically at a couple known areas of the codebase that will let you ship critical features significantly faster would be very enticing for someone who cares about the business.
- Sit at the table earlier in the conversation. When work gets just handed to us, it can often feel like the work doesn't take our hopes, thoughts, and concerns aren't being considered. By voicing issues earlier (or by having someone you're aligned with voice those issues), you help ensure that more alignment gets created.
If you'd like to learn more, come attend our upcoming Building Alignment: How to Create the Impact and Influence You Want as a Leader in Tech. It's a full-day leadership experience in San Francisco where you bring a co-worker (or two), learn frameworks and tools together for building alignment, and also leave with stronger trust and alignment with each other.
We also lead an Building Alignment online course for those who are remote.