Yesterday, I had the pleasure to interview Armon Dadgar, co-founder and CTO of HashiCorp, over dinner with a great group of founders of several exciting enterprise startups.
Having first invested in HashiCorp’s Series A in 2014, we at GGV are delighted to have watched the company’s extraordinary growth under its two young co-founders, Armon and Mitchell Hashimoto. The company’s popular open source software, such as Vagrant, Consul, Terraform, Nomad and Vault, are now deployed at companies across all major industries and geographies.
During the conversation, Armon candidly shared HashiCorp’s journey and the lessons he’s learned along the way. Below are ten takeaways from the dialogue that will help other founders and company builders.
1. Community is key.
HashiCorp’s first products were conceived when Armon and Mitchell started getting involved with the Ops community in Seattle and got exposed to their operational challenges. Having participated in gatherings of the configuration management community, they saw tremendous power in having all community members physically together.
HashiCorp has been hosting an annual conference for the DevOps community called “HashiConf” for the past three years, growing in size from 250 people in 2015 to over 800 people in September of this year.
At these events, there’s incredible energy in the room, and the team gets valuable feedback from practitioners. Developers can learn about HashiCorp’s products from other fellow developers; those who may be unsure regarding committing to HashiCorp’s products learn from others and often become converts since they hear about how much other companies trust the company’s products.
“It’s much more authentic than anything we could say ourselves,” Armon said. “We fly our product leads to all conferences. We want them to be talking to users.”
2. Figure out who your customers are from day one.
In the beginning, Armon and Mitchell focused on developing solutions and thought they didn’t have to pick who their customers were. “Why couldn’t we just be all things to all people under all conditions?”
But it turned out that it was important to understand their audience. Messages, pricing, and packaging all need to be tailored for different user groups. It took a lot of soul searching for the team to figure out that they should focus on enterprise customers, since HashiCorp’s value proposition lies in solving problems at scale. For example, one of HashiCorp’s products, Vault, solves the problem of compliance governance – a problem that only large companies have.
Looking back, Armon said he wished he had thought through HashiCorp’s target customer earlier. Instead of singularly focusing on solving the problem, try to think about whom you’re solving the problem for.
3. It’s helpful to have just the right amount of naiveté.
In the beginning, Armon said, the team was extremely naive. “We thought: Why can’t we just change the way people do provisioning? How hard can it be? We didn’t even realize how audacious the idea was.”
This was essential, because it led them to get right into the action. As Armon says, if you add all the “if” and “buts” and do all the failure analysis, you will never do it.
But naiveté also led to a lot of pain: The company didn’t know who their customers were. It was “death by a thousand paper cuts.”
Sometimes it helps to have both eyes closed, but having both eyes closed while you are standing over a cliff would not be the best.
4. There is a trade-off between sales and marketing
Marketing is easy when you’re open source. The community becomes your marketers. But when you have free marketing from open source, sales is often very difficult, since nobody wants to pay for your product. It takes a lot of energy to get a community that’s used to open source products to start paying. Being open source is a double-edged sword.
5. Initial user growth is a long, slow ramp.
In the early days, Mitchell and Armon spent an extraordinary amount of time speaking at meetup groups, webinars, and conferences in order to get the first few hundred customers for Vagrant, their first open source product. It was exhausting. As Armon attests to, “Starting an open source project really shaves several years off your life.”
Over time, Vagrant was adopted by Chef employees and the public cloud community. It then spread to the configuration community more broadly, then the operations community, and finally the greater development community. It was a chain reaction.
The growth curve started with a flat line, before evolving into a slow linear path. It was only after users were turned into evangelists that Vagrant started to experience exponential growth. Most of the HashiCorp’s other open source products have experienced the same growth curve – a long, gradual growth followed by a sharp elbow in the curve at some unpredictable point.
6. Having a geographically distributed team can be a plus, but also requires “over-communication.”
HashiCorp’s team has been spread across multiple geographical locations from the very beginning, so they’ve always had everything intensely documented, archived, and indexed. Everything lives in one of the tools they use, whether it’s Github, Zoom, or Slack. This has worked well to ensure that everyone is on the same page, and the company actually doesn’t allow co-location of members of the same product team because then too much communication will happen outside the truly shared, public channels.
The downside of virtual communication is that you lose the emotional context. It requires a lot more “over-communication,” which sometimes means numerous Zoom calls. The company also needs to organize a lot more physical get-togethers for employees to build rapport among team members.
7. Master the psychology of paying vs. non-paying customers.
Armon said the open-source community has high expectations – you don’t get a free pass just because open source is free. Non-paying users expect HashiCorp to provide customer service at all hours of the day, for example. “We realized we were dealing with a sensitive community that has to be nurtured and listened to,” he said.
When it came time for the company to launch commercial products, the team also recognized that people have an especially strong aversion to loss, so they couldn’t take any free, open source features away from users. Armon and Mitchell needed to figure out how they could charge money despite having given users so much for free.
Starting with the product Vault, Armon said they realized that certain features were only needed by small groups of customers who are subject to regulations and have deep pockets. So they created a special enterprise version and charged for those features.
“There’s an amazing shift in psychology when you go from free to 99 cents,” Armon said. “As long as it’s not free, people suddenly come to have lots of expectations for your product.”
8. You’re justified charging for enterprise versions of complex open source software.
One of HashiCorp’s early customers was a large financial services company. When the team first tried to sell this financial services giant open source support, the company said that its policy was not to pay for open source products. “We told them our policy is not to support non-paying customers,” Armon said.
The financial services company was taken aback. But there is a difference between a simple open source project that any programmer can build in minutes and a complex open source project that you can run a bank on. HashiCorp was expected to add features and solve performance problems in an enterprise version. “It took a while, but eventually it became obvious that they should be paying us,” Armon recalled.
9. If you want to do events, hire a full-time event person.
People always tend to underestimate the time and energy it takes to run an event. At first Armon and Mitchell thought they could organize a HashiConf by themselves in their spare time. “Our event consultant sent us a checklist of things that needed to be done, and there were literally a thousand items.” They quickly realized that they needed a full-time employee who just focuses on events, and HashiCorp now has a 3-person events team.
10. Don’t try to hire a superman/superwoman. Hire for specific strengths.
When it became clear that the company needed senior talent, Armon and Mitchell at first wanted a person who was “amazing at everything” – and quickly realized that such a person does not exist. Every hiring decision involves trade-offs.
“So we asked ourselves: if this person had to have one superpower, what would it be? Financial, marketing, or sales?” They came to the conclusion that a marketer would be the best fit.
Eventually, the co-founders brought in Dave McJannet, the former CMO of HortonWorks (and previously Senior Director of Marketing at VMware and VP of Marketing at GitHub) as CEO.
Armon said the process of hiring a CEO was the most stressful period of his life. I remember receiving a nervous phone call from him at that time. I told him that no matter what happens, HashiCorp will always be his and Mitchell’s company. Hiring a CEO is not the right decision for every founder, but I thought Armon and Mitchell made a courageous decision to come to the board with the idea to hire a CEO. Time will show that they did the right thing because hiring Dave has allowed Armon and Mitchell to focus on product, roadmap and community, which is critical to HashiCorp’s future success.
(Compiled by Zara Zhang)