#21 - How we build Engineering Resilience at Carta | Javier Lopez, VP of Engineering
Add these insights to your Carta 🛒
Hey friends, we’re now 2,200+ on Substack, and we’re happy to welcome more readers each week. I’m sure we can make it to 3,000 with your help!
…or
Today, I’m thrilled to invite Javier Lopez, whom we’ve known for many years and learned from day after day. As a mentor to us (and to Plato mentees!), we had naturally invited him to share his wisdom with a wider audience at Elevate’23. And now, he made an article out of it.
Read on!
Javier Lopez, a 20-career in Engineering, from Mexico to San Francisco
Javier Lopez started his career in 2004, as a software engineer in Mexico City. After gaining experience in different companies, he relocated to San Francisco about 10 years ago. After a few stints as an engineering leader at GuideSpark, Patreon, or Wonderschool, he joined Carta in 2021 as a Senior Director of Engineering and quickly rose to the VP of Engineering role, which he has been holding since 2023. If you don’t know Carta, it’s a platform of software and services that helps people manage equity and invest in companies.
Apart from his impressive curriculum, what I love about Javier is how easygoing he is. We’ve met him several times and he’s got a talent for putting people at ease and listening to their stories genuinely while sharing his best advice. He likes to say that his engineers are the talented ones and that he’s here to act as a facilitator and set them up for success. That’s also what he’s done as a Plato Mentor since…the beginning of Plato in 2017!
You can follow Javier Lopez on LinkedIn.
How we build Engineering Resilience at Carta
Here’s the reality about working in tech: the uncertainty and constant change we face are unlikely to go away. Reorgs and layoffs—as stressful and destabilizing as they can be—have become much more commonplace. So, instead of trying to ignore those facts and pretending they don’t exist, you, as an engineering leader, can take steps to help your team build resilience and adapt to these changes more easily. That’s what I’d like to share with you here.
I’m Javier Lopez, and I’m a VP of Engineering at Carta. When I presented at Elevate in November 2023, I was a Senior Director, and our team had 54 engineers spread across 3 countries, 13 cities, and 7 offices. Since then, we’ve grown to 70+ engineers.
To provide more context on my team and me, I joined Carta at the beginning of 2021, the Corporations business unit. Since then, my team has had multiple configurations: we’ve had engineers leave to join different organizations within and outside Carta. We’ve also gone through many internal changes such as reorgs and layoffs, which led to time spent on reworking, planning, updating roadmaps, and defining new strategies.
Of course, I’m not the only one affected by such change. I also hear from engineers about the struggles they’re facing, the stress they can feel during a reorg, the frustration and pain they can experience during a planning meeting, or hits on morale when we face negative press and workforce reduction.
At the same time, I’m incredibly privileged to have one of the most reliable, efficient, and productive teams. They’re the most supportive, inclusive, and resilient people I’ve ever worked with. And I don’t believe this is by accident.
I’d like to share what we’ve done and how this might help you.
3 ways to build resilience on your engineering team
We’ve taken three practical steps to build resilience here on my team. They are:
Listen to the individuals
Talk to the humans
Trust your team
Throughout the rest of this article, I’ll look at each lesson in more detail and share some examples that I believe can help other engineering leaders who hope to build resilience in their teams.
1. Listen to the individuals
As a leader, you’re already doing this (I hope!). But when I say “listen to the individuals”, it’s not just about catching great ideas and fixes, but truly hearing what your team members say and building a foundation of mutual respect. When you do this, you make each person feel like they’re a valued team member. This boosts morale and increases resilience and adaptability.
Let’s look at a few practical ways to achieve this.
Do not try to substitute anything for regular 1:1s
We can all find excuses to justify putting off our 1:1s. But there’s simply no acceptable substitute for this regular time with each of your team members.
I understand why it’s tempting to find ways around regular 1:1s with your direct reports. We can all find excuses around scalability, time, and priorities to justify putting off or avoiding our 1:1s. But there’s simply no acceptable substitute for this regular time with each of your team members.
When you first start holding regular 1:1s, it can seem like you’re fielding a random assortment of questions and concerns. For example, some of the comments I’ve heard from my team in my recent 1:1s may all seem random and unrelated at first glance. But what I’ve learned since I’ve committed to regular 1:1s is that most of the topics fall into a few main categories: sense of purpose, professional challenges, personal challenges, company information, and personal opinion. Most comments can map to each type of concern, eg:
“Last month we were working on churn, this month we are working on growth. What is happening?” → sense of purpose
“It has been very difficult to work with team X. They do things differently and I don’t know how to make them do things our way.” → professional challenges
“My brother has cancer. I don’t know what to do. I can’t focus on anything at work.” → personal challenges
“Blind says that layoffs are coming.” → company information
“I believe we should not use Kafka.” → personal information
Once you’ve identified the common topic categories your team brings to your 1:1s, you can also start outlining the most common answers you can provide.
Let’s take a closer look at each of these common types of answers (listed in order of frequency).
More questions: You will often need to get more information from your team members to determine whether you need to take any specific actions as a result of this conversation. In these cases, you can prompt them with something simple, like “Tell me more…”
Executive vision: As a leader, you will often have access to high-level strategy and it may be more top of mind for you than it is for your team members. You might share your company’s executive vision through a statement like, “Let me give you context, we believe…”
Related stories: You don’t necessarily want to tell your team members exactly what to do in every situation, but you may want to share something similar you’ve experienced (along with any learnings or observations you’ve made in hindsight) to help them decide what to do. You might say something like, “There was this time when I was…”
Limited advice: Again, if you’re striving to be more of a coach, you won’t always want to tell your direct report what to do, but you can restate the options they have available and encourage them to decide for themselves. Your prompt might be something like, “What do you think is the best option out of A, B, and C?”
Personal opinion: There will be occasions where you don’t have information about the issue but your team member still wants to hear what you think. In those situations, it’s important to be clear that you’re speculating and sharing an opinion, not a fact. You can say something like, “I cannot tell you what they are thinking, but I can tell you what I think…”
As I began categorizing my interactions during my 1:1s, I realized that most of my answers were trying to get more information. This brings us back to the topic of listening. The more information you get, the more you’ll be able to diagnose the major issues you need to solve.
Open communication leads to self-care
Committing to regular 1:1s and identifying the common types of questions and responses they require from me created a baseline of knowledge. And with that foundation in place, I can now understand and acknowledge when we do something wrong. I can be accountable. Whenever I hear that someone has personal issues, we can work on them. We all have ups and downs. We create a personal connection just by listening. In other words, open communication leads to self-care.
You can start to identify and anticipate what your team wants
This regular communication and ability to be honest about our individual needs helps you identify and anticipate what your team needs. At a basic level, they expect respect, honesty, empathy, and feedback.
Again, this may seem obvious, but without regular touchpoints with your team members, it’s easy to lag in these areas.
So as a quick recap: listening to the individuals on your team is the foundation for everything else!
2. Talk to the humans
The previous section was all about listening, now it’s time to focus on talking. My advice is to treat people like humans—not robots when you talk to them. It seems obvious when said like this, but it’s not as easy as it looks. Let’s have a look at a few more specific examples.
Prioritize transparency
Treat members of your team as what they are: intelligent and capable individuals. We sometimes forget this and we don’t believe our team can handle the truth. But it’s important to remember that it’s human nature to want information and we should never doubt their capacity to handle the truth.
You might be wondering what it means to be transparent. Based on feedback and survey data from my team, here are a few of the ways they perceive transparency.
Communicating the why: If you have insight into the reasoning behind company changes, make sure to share it with your team.
Sharing what you know and what you don’t: Even when you don’t know something, that’s not a reason to avoid talking about it. Your team can still get a lot of value out of you letting them know what you don’t know.
Regular updates: Creating a regular cadence of communication helps your team know when to expect to hear from you. For example, if you always spend a few minutes at your monthly all-hands giving updates, your team knows to expect that and won’t feel out of the loop.
Plain language: English is not my first language, so it can sometimes be tempting to give prompts to ChatGPT for my status updates, but I’ve found that my team appreciates simple, plain language that comes directly from me.
Follow through: It’s not just about what you say, but following up by doing what you said you were going to do.
Genuine interactions: Be human. Show empathy and strive to connect with people.
Don’t be afraid to have “company-agnostic” conversations
Let’s be realistic: it’s very rare for people to stay at a single company for their entire careers today. So instead of ignoring that fact, it’s important to take a company-agnostic point of view for some of your conversations with your team members.
This is especially important when you’re dealing with international and multicultural teams since expectations and norms can vary from country to country.
For example, I visited our Rio office and had some frank conversations with members of the engineering team about the average tenure at a US company vs. a Brazilian one. We can then use this information to consider their career and professional development independent of what Carta can offer them. Of course, if Carta can give them those opportunities, we will, but it’s also important to be open about the fact that the company won’t always be able to accommodate their personal goals.
Find your own version of “Hi everyone!”
I start every message I send on Slack with “Hi everyone!” and I try to send three to four messages to the entire org where I share what’s happening, what I’m working on, what challenges we’re facing, how we’re solving them, and what are the things I don’t know.
I’ve made it a regular pattern to send a few of these messages every week. And if there’s ever a week where I’m falling behind, my team will be sure to let me know!
3. Trust the team
My third piece of advice is to think of your team as a collective rather than a sum of individuals.
We move together, not alone
The slide below showcases some of our basic beliefs about this.
We over-index on group efficiency and group ownership. For example, when we’re creating different dashboards to measure the efficiency of the team, we only look at results on the group level. When we’re discussing who owns what (a common discussion, especially in orgs that go through a lot of restructuring), we own things as a team.
We don’t expect a predictable strategy, but we do expect a predictable environment. I realized that I couldn’t change the company, but I could change my team’s mindset so they’re ready for change, which inevitably happens. For example, I have open and candid conversations about our financial situation, desired executive and board results, explanations of team investments, and potential opportunities for each member of the team (being realistic about what they can expect to learn and what they cannot). Whenever possible, I try to anticipate ongoing executive discussions and give the team a heads-up of incoming changes and reasoning.
When in doubt, go back to basic frameworks and concepts
Whenever you’re unsure about the strategy or answer, go back to basics and let the team build the strategy from the bottom up. The point here is not the framework itself, but to use something familiar and easy to grasp.
For example, because the majority of my teams are product teams, we use the “tripod” concept. This helps us think about the different roles in a cross-functional product team. There’s a product manager, an engineer, and a designer. Everyone is a peer, no one is subordinate to anyone else. These are each person’s responsibilities and the processes that we use to work together as a team.
So, as a quick recap: move as a group and not as a mere sum of individuals, and don’t hesitate to use “basic” frameworks to show and build trust.
Final thoughts
Through all the steps I’ve outlined here, we’ve been able to achieve a solid core group that’s always ready to keep going—no matter which reorgs or changes come our way.
I’m including a few photos from our Slack channels to give you a sense of how people share their lives beyond work. I think this helps illustrate how committed we are to getting to know each other beyond our roles within Carta. And while we don’t pretend to be a family, we’ve created an environment where everyone feels comfortable sharing their life voluntarily.
As a quick recap, here are the steps that I believe were critical to building resilience at Carta:
I created psychological safety by listening to the individuals on my team with genuine curiosity.
I respected the human need for information and trusted my team’s capacity to handle the truth through honest communication.
I prioritized and trusted the group over the individuals.
You may be wondering about how to measure the success or progress of your team’s resilience. I’d recommend looking at metrics like retention, employee survey results, balanced compensation ratio, and constant efficiency.
Remember: reorgs and reductions in forces will not go away, but this is the framework that helps us feel capable of dealing with anything. Looking to the future, I hope we’ll be able to expand these practices and this resilience beyond the engineering team to the entire company.
That’s a wrap! Don’t forget to subscribe if that’s not the case yet, or to share the newsletter with your friends:
Cheers,
Quang & the team at Plato