How HashiCorp Works: Building and Scaling a Remote Company

As organizations weigh continuing to work remotely versus returning to offices, there are a lot of questions about how to build and scale with a distributed team. HashiCorp has been distributed since day one and has grown into a multi-cloud infrastructure automation leader. We recently hosted a webinar with HashiCorp’s Co-founder Armon Dadgar and Chief of Staff Kevin Fishner who shared their lessons learned for scaling remote companies, including:

  1. Treating the culture and company as a product, not an afterthought;
  2. Making implicit practices explicit;
  3. Designing norms to be inclusive of in-person and remote teams;
  4. Prioritizing EQ in hiring;
  5. Choosing the right tools and communication mediums;
  6. Creating community cohorts during the onboarding process.

Below is the full recording and transcript from the event. Thanks again to HashiCorp and SVB for partnering with us. To learn more, visit How HashiCorp Works.

Transcript

Navin Chaddha:
Good afternoon, everyone. I’m Navin Chaddha from Mayfield. I’m pleased to have Armon and Kevin from HashiCorp with us here today. As you might know, we led their Series A financing back in 2014. And since then, HashiCorp, a remote first company, has grown into a leader in the multi-cloud infrastructure, security networking, and application automation space. Today, I have the pleasure of having Armon, who’s co-founder and CTO, and Kevin, who was the first business hire, and is Chief of Staff today. HashiCorp has been a distributed company since day one. A month ago, they launched a resource called How HashiCorp Works. Now, I would like Armon and Kevin to share some key learnings, and why they created this, and how other companies can use it to help them transition to a hybrid remote model. With that, let’s start with Kevin.

Kevin Fishner:
Awesome, thanks Navin. So, How HashiCorp Works for us started as an internal resource to help new employees learn some of our internal working practices. So as a company, we add about 5% to 10% new employees each month. So at any given time, about 50% of the company has less than a year’s tenure. So it’s hard to disseminate these internal practices just by word of mouth and kind of positive gossip, when a significant percentage of the employee base doesn’t really know what those working practices are. Additionally, as Navin mentioned, we are a remote-first company. So we have employees in, I think 30+ states, 13 or more countries. We work in a lot of time zones, which can be difficult at times. But the important thing is those new employees who are coming into their company, many of them don’t have any remote work experience, or they’ve worked at companies who do have remote cultures, but they might be quite different than ours.

How HashiCorp Works was an effort to work with our existing employees to understand what practices they have that have helped them be successful, take that kind of siloed knowledge inside of their brains and document it. So, it would be global knowledge for all employees to be able to use and be successful with. And we found that these types of practices are very closely coupled with the culture overall. So we get asked a lot, “How do you create culture in a remote organization,” or really, “How do you create company culture at all?” And it’s our view that culture itself isn’t something you create. Rather, culture is an emergent property of the types of folks, types of people that you hire, and the types of systems that you build into the company. So, How HashiCorp Works defines both sides of that. So, our people practices as well as our systems practices.

I’ll show you a quick view of How HashiCorp Works and our opinions on culture specifically. So the website is just works.HashiCorp.com. We have a bunch of articles organized by individual practices, team practices, and company practices. So, I’ll start with the culture one, since it’s kind of a wrapper for everything. But as I mentioned, we believe culture is an emergent property on top of your people components and your systems components. And for us, both of these are grounded in our principles as some of our principles, which you can see here, are integrity, kindness, pragmatism, humility, vision, execution, communication, beauty works better and reflection. And as Armon likes to say, principles don’t work very well if they’re just words on a wall. So we try to take these principles and design them into our practices.

So for us, the really important people practices are who we hire, how we do professional development and promotions, and who we let go from the company, which often doesn’t get talked about that much, because it can be a touchy subject, but it’s just as important as the other two. And then on the system side, the components that are related to stewards of our culture are how we use writing to make decisions, how we run meetings in an inclusive way, and how we use an operating cadence to set goals annually, review progress quarterly, and track key performance indicators on a weekly basis.

So you can actually learn more about each of these within How HashiCorp Works. So there’s articles about writing articles, about running meetings, operating cadence, as well as hiring, and interviewing. We’re going to be releasing a few more articles, actually tomorrow as well, about how we use data to inform our decision making, and also how we do performance reviews and feedback. So, that’s the inspiration for How HashiCorp Works. Again, it started as an internal resource to help employees learn what working practices work well at HashiCorp and what it takes to be successful as an individual, as a team, and then as part of the company, overall.

We get asked questions about our working practices all the time, especially as remote has become required, essentially. So, we decided to open source these practices for other folks to learn from. We open sourced it a few weeks ago. We encourage other companies to use this as just one data point and a point of inspiration. We don’t expect people to just copy our practices, because every company is different. Every company has different practices that work for them. So that’s it for the overview for How HashiCorp Works. And Navin, if you have any questions from yourself, the audience, I think we can take those.

Navin Chaddha:
No, thanks a lot, Kevin. Let’s jump into the audience questions. We have quite a few questions which were pre-submitted and a lot of them are coming in. Let me start with Armon. Armon, being the co-founder of the company, how important was it to sell the culture and the values right from the beginning to think that you’re going to build a remote first distributed company?

Armon Dadgar:
Yeah, it’s a really good question. And I guess I’ll almost answer indirectly, and then I’ll come back to it, which is, I think it was super obvious to me that culture was going to be really important to us. And I think one thing people don’t actually realize is, when I first … when I was studying Computer Science, I did a few internships. And I worked at some very big tech companies and the experience was so bad. It was so disheartening that I actually fully changed gears and decided to not go into industry and go to academia. So when I first moved to the bay area, it was actually to go to grad school, and it was with the full intent of never working in industry. Because the cultural experience of the companies I’d worked with was so bad that even though I had a passion for Computer Science, I was like, “I wouldn’t want to work in this environment.” It was so negative was my reaction.

So, flash forward a little bit, I think I obviously got a little bit of startup exposure that made me realize that there were different cultures. It wasn’t just monolithic, mega tech companies. And so, getting a bit of that and realizing, “Hey, there’s these different flavors. There’s bits that are good. There’s bits that are bad,” but really getting an appreciation of how dramatically I think culture impacts what that experience is like as an employee and just realizing how radically different it is. How it can go from being a really fun, really engaging culture where you feel like you can bring your best to. So, it can be hyper political and feel like you’re getting stabbed in the back by people, or it’s this death match for resources, or how the attitude can just be like, you are a gear in this machine and we couldn’t care less about you. There’s the door. And you have this entire spectrum, and I think culture really defines what that employee experience is going to be.

So I think for us, it was really, coming in, it was like, “Okay, this is our chance to really craft what that experience is going to be. We want to be really intentional about it.” And I think there’s these extremes in Silicon Valley. I think for us, what we really want to do is find a healthy middle ground where we want it to be a place that’s low ego. We want it to be a place that’s not political. You come and you do your best work and it’s not where you’re fighting these other fights or you’re pampering some executive’s ego. It’s like, “Let’s do the right thing for the right reasons. Let’s really make sure the technical merit is what matters, but at the same time build a culture that is designed around kindness, build a culture in the office built around work/life balance.” I don’t want to have Nerf gun battles at the office.

Our last company, we had prominent investors that were celebrities. And they’d come to the office, and we’d have parties where they’re deejaying. And it was like, “Okay, that’s fine,” but we don’t want that. We want to be a serious B2B business. We’re not here because we want to throw giant VC parties, and hang out with celebrities. If you want to do that, move to LA, right? We’re here to build a real business. So, I think we wanted to find that middle ground of it’s a professional place. It’s a place where people are excited to come and do their best work. We treat people with kindness. There is a work/life balance. These were things that were really important, and in many ways were a reaction to the experience that we’d had in working at other companies being like, “What was good? What was bad? What was ugly? What do we want HashiCorp to feel like?” So that was a big piece of it.

To the remote part of it, I think really early on, we were three employees and we had three locations. I was based in SF. Mitchell was in LA. Our first hire was based in New York. And so, it was really clear from the very beginning, we’re going to be a hyper distributed company. And how can we be super intentional about how we build for that design for it, support it, so it’s not an accidental thing?

Navin Chaddha:
Got it, got it. Kevin, let’s switch gears. Given that you led How HashiCorp Works, can you share, how does one determine that a system they had in place is going to meet the needs of the organization moving forward, especially as people start thinking about remote and distributed organizations?

Kevin Fishner:
This is a good question. It’s a difficult one. Someone once told me that a company’s systems break on the threes and the sevens. And what that means is as you go from three people to seven people, to 30 to 70, to 300, 700, 3000, everything you’re doing breaks. At HashiCorp, we had the fortune of those day shifts happening every six to nine months, which was very cool that we were growing that fast, but also very difficult to build company infrastructure at the time. So how do you know when something is breaking? My simplistic answer is, when employees don’t understand what the company priorities are. So when there was … Well, I wasn’t there when there was three. I was there when there was four or five of us. But as we were seven people and 30 people, it was really easy, because we had weekly stand ups.

But as you get to 70 to 300, you can’t do weekly stand ups, and understand what everyone is doing. So you move to more centralized information, and then you communicate that out. Maybe you have All Hands where only a few people speak rather than the entire company. So, I would use the heuristic of when people don’t understand what the company priorities are, some of your systems are not working well. And you can use that at a local level, too, where if you’re in a team, where let’s say someone doesn’t know … an engineer doesn’t know the product roadmap, there’s probably an issue with the way that you’re defining the product roadmap and sharing that out to the dependent teams. So, that’s what I would watch for.

Navin Chaddha:
Got it. I was on mute. Very, very helpful. So Armon, given that HashiCorp has scaled so well, are there any key attributes you look for in employees to determine if they’ll do well in a distributed environment? And given that you have this heavy culture of writing, could you share some learnings on what you look for in employees as you hire them? Because there’s a lot of questions related to this topic.

Armon Dadgar:
Yeah, for sure. I think a few things start to pop and I think it also changes depending on the role you’re in. I think one thing I’d say for sure, especially in leadership roles is it requires a much, much higher level of EQ than you’d expect in a central role. And what I mean by that is if you’re hiring and everyone is centralized in the office, there are a lot of cues you’re going to get. I’ll call it kind of for free or organically. It’s body language, it’s tone. You come in the office, you’re like, “Oh, Alice seems not as high energy.” Or, “Bob is weirdly irritable or whatever.” You’re going to pick up on a lot of these things in person and you kind of get that in a freeway versus one year purely online. If you imagine the interfaces between your employees and you, it’s a lot more mediated. Yeah, think about how the information density of Slack.

If someone says, “Okay, no problem,” on Slack. That’s very different than when you’re in person and someone says like, “Okay, no problem.” Or their eye rolling or their attitude… Really, everything from tone to body language, all of that that you get in person is completely lost in your day to day mediation over email and Slack. And so I think, especially for people, leaders, managers, things like that, we do self-select on a lot higher EQ, right? You need the people who can read between the lines, whether it’s on Slack, whether it’s on their one-on-ones over Zoom, et cetera, to really have a pulse of, Hey, where are people… Is there an issue here? Is something off? So I think that piece is super, super important and we sort of select for that.

And I think where we see people fail in roles is when they prioritize IQ over EQ. In those kinds of management leadership roles at the same time, I think, for everyone managers, ICs, I think clarity of communication is a lot bigger of an issue. And so I think, even in terms of how we do our interview process tends to be a lot more like, “Hey, I want you to explain the thing to me.” And I think there’s a strong emphasis on whether that’s in a programming exercise where we do more of a test driven type of exercise, where it’s about getting them to explain their thinking and getting them to explain, “Hey, why are you thinking about these test cases?” It’s so much more stressing their ability to collaborate, their ability to communicate.

And the same thing when you talk about leadership, it’s like, I want you to put together a written plan and then do a read out to me and present it and walk us through it. So I think what we’re really stress testing is people’s ability to communicate in these settings and particularly in a written form of communication, because that’s the lifeblood of the company. Everything for us is sort of a written artifact, so it’s important that people have that. And I think that there’s a lot of company cultures where everything is a PowerPoint. And I think we need to kind of detect that, which is like, are you comfortable only presenting a 40 slide PowerPoint at a synchronous meeting and it takes an hour, or can you just capture your thoughts on a three-page document and walk us through it? And so I think it’s really important to filter on that. Especially just the way our culture works is we try to avoid the synchronous meeting with the 40 slide PowerPoint.

Navin Chaddha:
Got it. No, very helpful. So as a follow-up, there’s a question. What works or doesn’t work and why between your sync and async communication cultures? So anything. And what would you do differently if you had to go back?

Armon Dadgar:
Yeah. I’m happy to take this on. Kevin, maybe we can add some color too. So I think the guidance we try and give people is that each of the mediums has strengths and weaknesses. No one medium is the right one. I think what we sort of described is like, hey, if something is not time critical, but you want to make sure people don’t miss it, email is the way to go. Write a document, share it via email. That way it’ll sit in someone’s inbox until they get to it, but it means they’ll get to it at some point. So if it’s not timely, but you want a high guarantee of delivery, you go there and it’s great for having these, “Hey, I just want your thoughts on this or feedback, or this is just an FYI. Read this thing.” Then I think there’s a case of where you want the semi real time.

And I think for us, that semi async is Slack. I think the trade-off is great. You get a response a lot faster, but you might not get a response at all. If I’m in the middle of a meeting, I get 50 Slack messages and I’m in back-to-back for six hours, by the end of the day, I’m not going to respond to your message from six hours ago. So there’s no guarantee I’m going to see that message. If I’m free, I’ll respond right away. If I’m not free, I might not respond at all. So I think you have to treat it that way of like, it’s sort of this semi synchronous thing, but it might turn into async, and it might be lossy, right. If you send in a lot of Slack channels, it’s hard to read them all. It’s hard to hard to follow up when there’s a lot of conversation.

So I think you have to just accept that might happen. So it’s best suited when you’re like, “Hey, I have this quick question. Can you just answer this for me?” And if I don’t get an answer back, I can go bug someone else. It’s not good if I’m like, “Hey, let’s do a collaboration on this thing,” and you’re offline and you’re in the middle of another meeting. Then I think there was synchronous, which is like, hey, sometimes it’s best just get everyone in a room. Particularly, I think if it’s a contentious topic where if I put it just in a written document and blast out to people, if everyone comes back and they disagree, this is why I think we should do path B versus A, that’s when you kind of want to get every room, get some broad level of alignment and consensus of like, “Hey, do we think path A or path B is right. Okay, great. We think path A. Let me capture that as a document and I’ll circle back to this group.”

So I think anytime you have a lot of contention or there’s a lot of getting in the weeds people want to do, synchronous is probably the right format. And so I think where we see things break down is when people use the wrong format for things. So you might think, “Hey, this is an uncontentious proposal. I’m going to write an RFC for an incentive to the group.” And when you detect, hey, we’re 20 emails into this thread going back and forth and there’s 1,000 comments on the document, I think that’s the moment where you need to hit pause and say, “We’re using the wrong medium. We thought this wasn’t going to be contentious. It clearly is. Okay. Let’s schedule a Zoom call and get everybody in a room.”

Other times, it’s like you scheduled a Zoom call and you’re just reading them the document and everyone’s just nodding along and they’re like, “Yeah, okay. Why don’t you just email this to me? There’s nothing to discuss here. Sure, this all sounds fine.” So I think usually you can tell when you’ve picked the wrong medium, either people are talking too much or people are not talking enough, and that’s a good indicator that you’re either in the right or the wrong medium.

Navin Chaddha:
Yeah. I think that method can be very helpful, even if people are in the same office, because everybody is getting used to getting answers instantly. And if you don’t respond, then either people will send you a text, they’ll send you a Slack, or they’ll even walk into your office. So I think some of these practices even apply to a company which has employees in the same location. I think let’s switch gears to onboarding. Kevin, there’s a question. How does one handle onboarding from the perspective of sharing information, and more importantly, ensuring the new hires get to know people?

Kevin Fishner:
Sure. So I will definitely answer that question. I also wanted to quickly plug some of the How HashiCorp Works articles based on what Armon answered. So if you do want more information about how Armon was talking about synchronous versus asynchronous communication practices, we do have it, of course, written down about when to use which tool. So that’s a standard communication tools document. And Armon was also talking about how we do our hiring and how we screen for those principals. So the Hiring and Interviewing at HashiCorp article talks about how we use behavior based interviewing to suss out some of the EQ things that Armon was talking about as well as communication skills as well. So if you didn’t catch everything, there’s always the written document to go back to, which is a perfect example of when Zoom is good for things and when Google Docs, in this case… Well, these used to be Google Docs. Now they’re websites.

So for the question about how do you onboard employees, make sure they know broad company context and also meet new people. For broad company context, as you might expect, we write down pretty much everything. So you can always see what our company priorities are for the year. We define that two ways. We have North Star goals that never change. They only change in magnitude. So as an example, one of those North Star goals is monthly active users. So we always have a different goal for monthly active users each year. And then we also have three executive priorities that do change each year. So that might be an emphasis on one of the products as an example. So in terms of the overall context for the business, there’s always access to that information. And then in terms of meeting people across the company, we think about this in two ways.

One is your onboarding class and that being your essentially peer group that you can ask some of the dumber questions, I guess, for lack of a better word. So silly things like, “Where can I find our expense policy?” So you can kind of crowdsource that within your group. And those cohorts meet pretty much every month for the first six or so months in what we call Hashi Cafes, which there’s a pretty strong coffee culture at HashiCorp. So there’s a lot of coffee branded things, that being one of them. And then the second is we have an onboarding checklist, and when each employee onboards, their manager connects them with people in other teams that they would be interacting with pretty often. So let’s say you’re a new product manager. You would get connected with the engineering manager, who is your peer, maybe the engineering lead who’s on that team, design lead, and then product marketing folks. So it’s up to your manager to make the appropriate connections for you in the business.

Navin Chaddha:
Got it.

Armon Dadgar:
I’ll add a little bit of just added color to that, because I think there’s probably a few other really important touchstones as we think about just building those connections across the company. Like I think up until COVID, those onboarding classes that Kevin was describing, they would fly into our San Francisco HQ. So great. There’s the February class. We fly them all in. They spend three, four days at our office. So the onboarding would be in person. They meet the other cohort, but then they also meet the people in the SF office. There’s usually a happy hour. So it’s a bunch of existing employees and the new employees will kind of hang out, plus it was, as part of our onboarding, almost all of our executives come and present. So I present, our CEO, Dave, presents. Most of that executive team shows up to explain their function and how the different groups work.

So you get exposure and get to actually meet the different executives of the company as well. So I think that’s an important touchstone as well, making sure people feel like they got to meet and be connected to different folks in the business. And then we have probably two other big ones annually. One is we have our big employee summit, we call HEX, the HashiCorp Employee Exchange. And that’s the whole company getting together once a year. Obviously, the sales team has their sales kickoff once a year where they also all get together within the go-to-market teams. And then most of the other teams do an annual offsite. So it’s like great. Each engineering team will do their own off-site, marketing teams will do their own offsite, things like that. So those become additional opportunities just to get in-person and build those connections that you wouldn’t otherwise build if it was just 100% Zoom all the time.

Navin Chaddha:
Yep. And I’ve seen how successful some of those things have been. A follow-up question after onboarding, you already answered it, is what do you do on an ongoing basis to bring people together? A pretty interesting question. How does one encourage creativity amongst virtual teams? So do you have them play games? Are there leaderboards? What do you help people do? How do you make sure they remain creative and competitive to keep doing great stuff and enjoy the journey?

Armon Dadgar:
This is making me… I’m smiling because I’m thinking of an all hands that our marketing team did recently. And so as you expect, our all hands are all done over Zoom. Once a week, we have this type of a thing. And so what we do is we rotate between different functional groups. So, great. First, let’s say, Thursday of the month, it’s marketing and partner teams read out, then the next one is sales, and the next one’s product engineering design, et cetera. So we kind of rotate. And we had a recent one where the marketing team did their updates, but they all planned where they did it to the tune of Hamilton. And so they basically, they delivered their whole marketing update of, “Hey, here’s the current things we’re working on and what are the things in flight and things like that.”

And they did this great sequence of, they picked some of the key montage scenes out of Hamilton and they themed it to that to tune and did a good job with kind of a show tunes-y the presentation of it. And so I think these are the kind of opportunities where it’s like, yeah, you might say, “Okay, it’s just a readout we do every single week. It rotates through the departments.” It could be this dry, boring thing. But even something as dry and boring as that, you don’t have to make it dry and boring. You can bring the creativity into those things and make it be a fun, high energy thing where people are being creative. So I think that’s a great example of even a thing that’s a total, regular, you’re doing all the time. You can make it fun and interesting. Mix it up every once in a while.

And then I think there’s the more ad hoc stuff. So some of the ad hoc stuff we’ll do is design workshops. And so if you’ve ever done any of these design led thinking or design workshop type exercises, I think those are a great way to get people to take a step back from the day-to-day of it and say, “Okay, big picture, what are we trying to solve for? What are the big blocks here? And let’s do a bit of that blue sky thinking around what can we do? What should really be the priorities?” And so I think doing that on a semi-regular basis with product teams, marketing teams, go-to-market teams, I think is an important exercise to get people to just think about what should we be doing differently, or where are we trapped in a local minimum? We’re just doing it because we’ve been doing it, versus where we should be creative and change what we’re doing. So I think there’s a bunch of these techniques you can do, but I don’t think being remote limits the creativity options.

Navin Chaddha:
Anything to add, Kevin, on that front?

Kevin Fishner:
Yeah, I agree with what Armon said. And I think when folks think about creativity in an office setting, there’s really two approaches to it, I suppose. The first is what people sometimes talk about, the hallway in and the epiphany with the random conversation. You’re like, “Oh, we just came up with the idea for Xbox.” And who knows if those stories are true. I have suspicions that they’re probably not, but the point is the random collision creates new ideas. And then the second is, the group brainstorms, or people put stickies up on a wall and magically you come up with the answers. When you have remote and both of those don’t happen, you don’t have hallways and you don’t necessarily have physical walls to put stickies on, but what you can do is structured brainstorms which are pretty similar to exactly what Armon said with the design sprints. Where, rather than having everybody in a room and having them come up with ideas on the spot, you’re going to have them brainstorm independently and then review their work in the group setting, and then you can kind of combine forces.

And this has a few benefits. The first is, giving people time to prepare independently. They’ll usually come with more thoughtful ideas and you also limit group think, so you don’t have just people echoing what was said before them, so you get much more diverse ideas. And then in the room itself, you give everybody an equal opportunity to share their ideas, so everybody gets an opportunity to feel heard and you can run much more inclusive meetings as a result. And what you’ll find is some patterns start to emerge in the feedback that’s coming and you can kind of group around those patterns and move forward.

As an example, every year for annual planning, each executive comes up with three, what they think the top three priorities are for the company. Then we meet altogether either virtually or in person, each exec gets five minutes to review their proposal, and then we combine any ideas that overlap and we do a weighted voting on what’s the most important. And at the end, we get our top three priorities. Which actually makes what would probably be a very controversial process of getting 12 executives in a room and figuring out what’s the highest priority work to do, and there’s egos involved in there for sure, and it turns out it’s actually not that controversial and everybody has an opportunity to feel heard.

Navin Chaddha:
No, that’s awesome. Switching back to the kind of employees that will fit in into a remote company, the question is, should remote be reserved as a way to recruit rare talent where it’s not available, say, in San Francisco or it’s hard to employ, or is it also effective for regular roles? So, how does one plan an organization and what functions can get centralized? What needs to be distributed? And is it hard to find talent when you go remote or it doesn’t matter?

Armon Dadgar:
I can kick this one off. I actually think if you try and think about it as only a way of attracting rare talent, it’s probably going to fail. And the reason for that is, I think there’s this notion of like, you have to have a critical, massive remote. Because if you don’t, I think what will end up happening is, if you say, “Great, 95% of my workforce is central,” then you have this center of mass and it’s so much easier for process and culture wise for that to be the first class employee and the remote to become the third class employee. And I think it’s very difficult to actually manage that balance, because it’s like, “Okay, great. Do I just walk over and have a chat with that person’s team? Because, that’s the default. They’re right there. It’s going to be the frictionless thing to do. Or do I reserve a conference room, set up a Zoom call, get the seven people who are in the office in the room, and then the one person that happens to be remote, that way they can dial in and join the conversation.”

And so you can see, it’s like, “Okay, well the friction of doing one is like 100 times higher than me just walking over to that area and just asking the question.” And so how does that other person feel? It’s like, “Well, they were outside of the loop of those discussions. They weren’t a part of it. They’re not going to get any of the context.” And so I think you’ll see this, and what ends up happening almost inevitably is, that person feels third-class because of the workflow, the process, the tooling, you’re not investing in any of that because you’re like, “They’re the edge case. They’re not the default case.” And so that rare talent will leave. You’re not going to retain them, because they’re going to be like, “Eh, I’m going to go somewhere that either I feel first-class or I’m not sort of so, I don’t feel like I’m out in the provinces, basically.”

I think you almost, your orientation has to be that we’re setting this up for the regular employee, if you will, and not for the exceptional person. Because again, a person might be exceptional, but your process won’t be. Your process is going to be what caters to everybody. And so I think our view is like, that doesn’t mean you have to apply it to every function. So I think for us, we’ve made the conscious decision that most of our GNA functions are centralized. So if you go to our SF office, it’s by and large legal, finance, HR, that happens to be based sort of in-person, but it’s you take the sort of almost all or nothing view. It’s not like 90% of our finance team is centralized. It’s sort of like 100% of each team is either central or 100% is distributed, because you have to hit the right critical mass. The middle grounds are really, really, really tough.

And I think we’ve even taken it to extremes, where it’s like occasionally we’ve had it where there’s multiple engineers that happen to be on the same project, we don’t allow them to sit on the same part of the floor. They will sit on opposite ends of the floor, so that actually, Slack is the thing that’s lower friction. It’s not just, “Let me swivel my chair and ask them the question,” because that will just be what happens. That will be the default. So we want to force them, does their conversation have to be over Zoom and Slack as well? Otherwise, the rest of the team is going to feel out of sync. In that case, it was the two team leads that were in the office, and we had an issue where the rest of the team’s design decisions are being made all the time and none of us even know about them. So I do think you have to think about what’s the default, what’s the activation energy in any of these communications? And people are like water, they will take the path of least resistance, so you kind of have to design for that.

Navin Chaddha:
Got it. Anything else, Kevin, from your perspective?

Kevin Fishner:
I think for our listeners, it might be helpful just to have some numbers to understand all the context. We have about 11, 1200 employees. And if COVID wasn’t happening, about 100-ish work out of the San Francisco office and everyone else is distributed, with engineering, product design, sales, being pretty much fully distributed. And as Armon said, legal, finance, HR, being in the SF office.

Navin Chaddha:
Got it. Kevin, a follow-up question on technologies and tools. What technologies and tools have you found effective for facilitating remote work? And I know you guys want to share some of these things broadly, so could you share what works, what doesn’t, how do you make sure if you are a distributed company you have the underlying infrastructure and technologies to make this a success?

Kevin Fishner:
Sure. So I’m going to actually re-share that one article that we wrote. These are pretty much our primary tools, Zoom, Slack, email, Google Docs, and Asana. For me personally, I use Google Docs for pretty much everything, I get teased about it even. And the reason why I prefer Google Docs to a bunch of other tools, is it’s the easiest thing to collaborate on one source of truth. So I think the beautiful thing about Google Docs and also engineering workflows around GitHub, is rather than creating multiple versions of the same thing, you might do a version where Docs and Dropbox, you replace the existing version with an improvement. You’re always making one artifact, a better source of truth and a better piece of information rather than creating versions that you then need to manage and you lose track of. So we use these tools very heavily for facilitating remote work and communication and collaboration. Armon, I’m trying to think, are there other tools that we use? Oh yeah, we use Donut for random pairings of one-on-one conversations, which are fun. But these are really the core backbone.

Armon Dadgar:
I think within sub teams, these are the ones I think that are sort of certainly corporate wide. Obviously within design you might have things like Figma, engineering obviously has things like GitHub, so I think within different, sort of the business groups, it’s like there’s specialized tooling that they need. But by and large, to kind of the corporate supporting infrastructure, is just that.

Navin Chaddha:
Got it. A lot of questions around compensation, which I think people care about and can be controversial. So Kevin, any best practices as you build a distributed company? How does one think about compensating employees? Because, the places which are very expensive to live like San Francisco, New York, and then there are places where the cost of living is not that high. And I know the big companies have a policy where they take COLA into, cost of living adjustment, into account. So how does a company, when it’s 100 people going to 300, going to a 1,000, think about these things? Any best practices you can share?

Kevin Fishner:
I can go first, and Armon, my information might be a year out of date, so correct me. Just the context of what we did, and this is when we were about 800, 700, 800 employees, is we basically created city tiers. So rather than doing compensation amounts for each individual city where there’s obviously hundreds of major cities all over the world, we grouped cities into tiers based on cost of living, the compensation ranges based off of that. So that’s where we were at last year. Armon, did that change? I think that’s about the same.

Armon Dadgar:
No, I think that’s right. Yeah, I think it’s sort of a matrix-ed view of, obviously, geo being one determiner and yeah to Kevin’s point, core screen bucketing there. It’s like, great, you have certain cities like Bay Area and New York, Seattle, that are maybe kind of tier ones. And then you have kind of your tier two and tier threes, just depending. And I think that gives you some rough comp banding, but I think the general kind of maybe high-level philosophical view is, there’s sort of two aspects; one option is you say, “Everything is indexed against Bay Area.” And so it’s like you go global with a Bay Area comp, that’s one strategy. I think a different strategy is everything is local, everything you index 100% to whatever local comp and Bulgaria is if you’re hiring someone there.

Our view is like, you have to take a bit of a hybrid stance on it. Which is like, it’s sort of neither. Which is, the employee that you’re hiring maybe in Bulgaria, if they’re applying for a remote job, then they’re applying to sort of a global workforce. They’re not applying to a Bulgarian employer. And so great, they could also work at GitHub, they could also work at Microsoft, they could also work at Facebook. Some of those companies might not hire remotely, but you kind of get my point.

You probably need a bit of a blended index, which is like, “Yeah, you’re indexed partially to the local, because there’s a cost of living and a local market reality there, so that should be a part of the index value.” But then a part of it is like, you’re also just competing on a global marketplace and comp is ultimately a reflection of sort of clearing price, if you will. And so you have to adjust accordingly and realize that you’re competing with other companies that are hiring remotely on a global basis, so it has to be a bit of a blended strategy. You don’t want to over-index just to the local geo.

Navin Chaddha:
Got it. A question around interns. When you are a company with a few hundred employees, people start thinking about internship programs for students. Any best practices on how to build and manage a remote internship program?

Armon Dadgar:
Yeah, this is a good question. Actually, I’ll broaden it a little bit in general, which is not just interns, but I’ll say kind of early career folks. For the first few years of HashiCorp, we basically had an implicit policy of, we effectively only hire senior. And the reason for that is, there is so many kind of norms of corporate America, if you will, or corporate anything, not just America, that you, it’s very hard I think, until you’ve been in that environment for a while, you assimilate into it. Of just like, “Okay, how do things work?”

And what we found is that that is assimilation doesn’t work super well remotely. It’s not the same when you’re not in an office if you’re a junior person who’s never been in that setting, it can be a little bit confusing. I think people who are also more junior in their career don’t have the same, I’ll call it a social support network, in terms of, great, you just graduated out of college. You take your first job and move to a new city. You don’t really have friends there, you might not have family there, you don’t really know any of your coworkers, so you don’t really have that social safety net, if you will.

And I think those folks really struggled at HashiCorp, because it was like, “Okay, great. I started this new job, I don’t really have friends in the new city I’m living in.” And for a lot of people, the way they meet that initially is through their work colleagues and going out for drinks afterward and things like that. And so, a lot of that interaction just doesn’t exist. And so I think the first few years we sort of dabbled with it and found that we didn’t do well, it just didn’t work super well particularly. As we’ve gotten much bigger, obviously we’ve changed that.

We’re more able to bring in folks that are junior. Actually, we launched a formal early career program last year to bring people, not just interns, but whose first job might be tech type of a thing, but they’re not interning. So I think we’ve sort of turned that dial, but I think we had to be a lot bigger before we could have the bandwidth to focus on enabling those people and making sure they’re successful and formalizing an intern program where you have to have high support from people and clear one-to-one one-to-one mentorship, and a buddy system and things like that. So I think we’ve sort of upped the ante over time, but I will say it is very hard if you’re a small company to absorb that. Junior people do take in more time and resources to mentor them and get them up to speed. And I think some of that happens implicitly when you’re in person, and there’s an extra effort that it takes to make that explicit once you go remote. And so that can be a high bandwidth cost.

Navin Chaddha:
Got it. So a few questions have come in. “You guys addressed the benefits of highly remote and distributed teams, but what are the negatives or where do you see limitations, and how does one address them?” So I don’t know if Kevin or Armon, you want to take that? And then we’re going to have time for probably two, three more questions. So if people want to start sending them in, that’ll be great because we won’t have time to answer every question. So let’s come back to the negatives or the limitations, and how does one address them? Because nothing is perfect. And I think you guys have done a great job of making sure onboarding happens well, day-to-day stuff happens well, how do you do off-sites, how you bring the entire employee base together. But what are the other limitations that one needs to keep in mind and how to address them?

Kevin Fishner:
I can take a first crack at this. So, there’s two limitations that come to mind for me. The first is the communication overhead is a lot higher. You don’t get the benefits of positive gossip, where information just kind of disseminates throughout an in-person office, whether or not you’re deliberate about it or not. So you need to be really explicit and build communication systems that make sure employees know what’s going on at the highest level. But also, and I saw some questions in Slack coming through about, “Have you run into issues with Slack being used as a source of truth for decisions and people not knowing or getting lost in the feed?” And 100% yes, we’ve definitely had those issues. And we really encourage decisions to be made in Google Docs, and written down in RFCs, not in Slack or in Zoom. But that requires a lot more work.

You have to take out the information that you just discussed in Slack, document it in Google Docs, and then share it with all the folks that would be affected. So, it requires work. It requires intentionality. I would argue that that intentionality and deliberateness is very good because it keeps people in the loop, but it’s work. The second downside, or it’s not even necessarily a downside but difference, is the relationships that you have with coworkers aren’t as close friendships as you might in person. So as an example, Armon and I worked, before HashiCorp, worked at the same company together. There were about 40 people in the company. 10 of those people, I’m still extremely close with. I’ve been to their weddings, they’re going to come to my wedding. We’re very, very close friends.

In a remote setting, those types of very deep relationships don’t come as easily. So your community is much more your community where you live, rather than your work community. Which as Armon said before, if you don’t have a social network already, that can be difficult. But the positive side is you get to create your own community wherever you live or even virtually if you want. So, you kind of have more say in that. So, it’s just a difference. It’s not necessarily a downside. But I think it’s important to acknowledge.

Armon Dadgar:
Yeah. I’ll add some more. I think Kevin hit a lot of the substantive ones. I think some of the ones that, even when we’ve talked about kind of the work style, it’s a lot harder to do things like design sessions. I think the day-to-day kind of transactional stuff is fine. I think the things where you’re like, “Hey, I want us to get on a whiteboard and architect through this idea and do this kind of brainstorming,” that kind of stuff is a lot harder remote. So I think that’s where you want to supplement it with team off sites. I think that’s where you look at, “Hey, instead of trying to do this white-boarding together remotely,” yeah, there’s tools you can use, Miro and things like that, it’s just not the same.

It’s a lot easier to just fly everyone in and be like, “Great. We’re just going to get in a conference room and use the whiteboard and jam out for two, three days.” I think what’s nice about that is because you’re intentional about it, you’re like, “We’re going to clear two or three days to go do this. We’re not going to pack it with other meetings and try and squeeze it in.” So, it forces you to have a higher level of focus on those kinds of things. So I think you can manage those trade-offs. Then I guess I’ll talk about some of the boring downsides. The boring, nuts-and-bolts stuff is you should anticipate higher T&E. By virtue of being distributed, yeah, you have to supplement it with all hands and employee summits and off-sites and things like that.

So, factor in there’s going to be a higher T&E cost because you’re budgeting for more hotels and flights and things like that. Flip side is relative to the cost of SF office space, you still probably net out ahead. But you should budget for that. There will be a higher T&E cost than a central company, which doesn’t probably have a whole lot of it. So that’s one piece of it. I do think there’s a bunch of GNA challenges, especially when you start talking about many states, many countries. Your options as you go international, for example, if you’re only hiring two or three people, it’s like you go through a PEO firm. They’re going to add a 20-30% overhead per head. So it’s not cheap. And then as you say, “Okay, great, I’m going to have a density of folks that’s more than three, five people in a country,” then there’s a bunch of overhead of, “I’m going to create a legal subsidiary, a financial subsidiary, set up a global banking relationship.”

So you start to bring in a bunch of legal, financial cost and overhead. And then from a tax situation, great. Do you end up dealing with 50 different tax authorities because you’re in all these different states and countries? And so there are some underside things like that. It’s not totally costless. You do have to end up bearing some more legal and financial and HR costs for every new country and state that you’re lighting up because of different laws, different compliance requirements, different ways they handle equity. Benefits are slightly different. So all of this kind of stuff, it does add this sort of hidden cost to it all that it’s not apparent.

And oftentimes, we get this feedback from someone who says, “Oh, HashiCorp says they’re remote. And I tried to apply for the company, but I’m in some random country and HashiCorp rejected me. And it’s a lie that they’re remote.” And the thing about that, we have to usually respond to kind of diffuse that situation, like, “Just because you’re remote doesn’t mean that we have 180 legal entities in every single country and every possible benefit provider for every country on earth.” There is still a logistical limitation. You can’t just hire anyone anywhere. So yes, we’re remote. Yes, we’re global. Yes, there’s a set of, I don’t know, 20 something countries and 30 states that we’ve lit up, and we’re expanding that over time, but it’s not trivial. Every quarter we add two more countries to our list that we try to go onboard, but yeah, you’re only adding two to three countries every six months. Because there is this overhead to it. So, there is this tension, there is this trade-off. So I think you have to message and manage that correctly.

Navin Chaddha:
I think I’m going to leave it to one question to end for each one of you. So for Armon, the question is if you could go back to the beginning of the founding of the company, what would be one or two things, now that you know what it means to be a 1,000 plus people company as remote and distributed, what would you do differently? What would you do differently? You wrote the Tao of HashiCorp. You talked about the product. You talked about the culture. But anything, if you had to go back to 2012, what would you do?

Armon Dadgar:
That’s a tough question. I mean, there’s a lot of things I would do differently. But thinking about the kind of the culture specifically and sort of the remote workforce pieces, I don’t know why we felt strongly that G&A had to be centralized. I think what COVID has taught us is even that didn’t need to be centralized. So if anything, I think we probably could have turned the dial even further, even a bit more extreme. And I think it would have changed our approach to the SF office. Because right now, we still have a, I don’t know, 30,000 square foot office space. So we still have a pretty large footprint. And that’s because we have the G&A folks in there. I think I probably would have changed that to go with more of a hoteling setup, optimized it more for conference rooms, treated it as a place where you come into the office to collaborate, as opposed to we have a bunch of like, “This is your dedicated seat if you’re in some of these functions.”

So I think we would have probably changed our use of real estate a little bit. Having done it, I don’t think I would go to a place where… I think there’s some companies that take it to such an extreme where they say, “We have no office.” I don’t think we would do that. And part of it’s the nature of our business. We’re in B2B. Great, JP Morgan wants to come to our office and have an EBC. I’m not going to invite them to come to my living room. So, I think you do want that. If you were a pure consumer and you’re never meeting with people, maybe you could take it to that sort of an extreme.

But I think being B2B, you still want an office space, and I think you want a space where you can collaborate and make it easy for people to have an onsite, if you will, where they’re flying in and coming into your SF office and and meeting and doing that kind of stuff. So that’s probably what I would change the most, but I think it’s served us well to hire remotely. And I think from that perspective, I wouldn’t change it. If anything, I’d lean into it more.

Navin Chaddha:
No, that’s great. Kevin, ending question for you. Given that you put this together and took the leadership on how HashiCorp works and the site, how far do you think this scales? Is it limitless and endless? Or at some point, you will need more and more things for the stuff you guys talked about that doesn’t work to be more of a hybrid thing. You could still be remote, but bringing in people to have face-time, to create that bonding. So if you could take a minute or so to talk about, how far does it scale?

Kevin Fishner:
Sure. I was hoping this would be the last question. I saw it come through. I was like, “Oh, that’s good. That’s thought-provoking.” I think it can scale… Well, limitlessly. I don’t know how large any organization could become. I think Amazon and IBM are stretching the limits of million plus organizations, which is wild to me. But if you look at other tech companies like Google and Facebook are good examples, they have offices all around the world. So even though they have office cultures, they’re globally distributed. So I think for us, what it would look like is we wouldn’t have large offices all around the world, but we have a globally distributed workforce with small offices that people could come in and collaborate in, exactly as Armon said. So Armon touched on this in a lot of his answer, but I think one of the ways that we approach remote and really all company things is with a heavy dose of pragmatism.

And there are some companies that are very strict about everything must be remote. But for us, it’s what makes sense remote, what doesn’t make sense remote, how do we keep evolving it over time? So we have opened up small offices in places like Singapore. There’s actually going to be a small office here in Austin. So as long as we keep the principle of remote first, and decisions must be made in a transparent and globally communicated way, then where you work, whether that’s in your home or in a small office or in San Francisco, is kind of a detail. So, we just have to continue the remote first mindset, and we can scale from there.

Navin Chaddha:
Great. Great. I want to thank you both for taking the time to be with us here today. Keep doing the great work you guys are doing. And always keep in mind the work you have done for being a community first company and open sourcing your software, and now open sourcing the best practices of how to scale as a company, as a remote first and distributed company, is appreciated by all. So, thank you very much. And thanks everyone for spending the time with us today.

You May Also Enjoy