Building unstoppable open source organizations
2021-02-11 - Mitchell Hashimoto started his nerd path when he was just 12 years old, teaching himself some basic programming concepts. He then pursued computer science at the college level before getting his first job at Ruby as a junior engineer, which helped kick off his passion for infrastructure automation. Now, Mitchell is the CTO and co-founder of HashiCorp, a software company with the most widely used multi-cloud infrastructure automation products globally—including Terraform, Vagrant, Vault, Consul, and Nomad. In this podcast, Tobi speaks with Mitchell about how HashiCorp has grown, from a team of less than 15 to over 1000 employees in under ten years. He also shares with Tobi the secret sauce for building successful open source projects, where to draw the line in open core businesses, and how to prevent cloud providers from sucking your blood. Mitchell also talks about how he balances between growing his company and being an active Github user.
Mitchell learned to code with Ruby while he was an employee at Ruby. At the time, he was a consultant whose job involved working on multiple projects all at the same time. But this was no easy task.
“It was really frustrating for me to switch projects because they'd have a totally different tech stack or just versions of like Ruby or database or whatever would be different, and they would affect things. And so I wanted a solution to that.” That’s how Vagrant was born.
Vagrant is an open-source software product built for developers to increase production and lower the time of setting up development environments.
Vagrant’s success came as a surprise to Mitchell.
“At the moment when I was making it, there was nothing serious about it. It was just another one of dozens of side projects that maybe I would finish, or maybe I wouldn't finish, and maybe it would work, and maybe it wouldn't work or whatever. And, you know, there wasn't a lot of pressure behind it. I was just working on it to see, you know, maybe can I make this better. It struck a nerve… people liked it for different reasons.”
When Tobi asks Mitchell why, given the success of Vagrant, he didn’t come up with Docker, Mitchell doesn’t shy away from appreciating Docker Inc., who executed an idea that many other developers might have had at the time.
“A lot of people will see a successful company… and they would say, ‘I thought of that years ago.’ And it's like, your idea is somewhat valueless. Like it's worth zero. Exactly zero! ‘Cause an idea that isn't executed is zero value.”
Yet, developers are quite frustrated, especially when using Docker in a Mac, especially when using an interpreted language like Ruby and boot up a large Rails project: it takes ages.
Mitchell has a workaround.
“The approach I've taken is getting rid of the shared folder aspect completely, and I've moved my development completely inside of graphical VM. So, I use a Mac full time, but I run a very big Linux VM with a window and windowing system installed. And I dedicate three-quarters of my CPU and memory to the VM that's in my Mac. I just work in there: no shared folders or anything. Computers are so fast nowadays that if you don't have that shared folder overhead, that sort of VM experience is maybe 85 to 90% the speed of native.”
Tobi asks about a recent tweet Mitchell posted, saying the founder doesn't necessarily have to give 110% to his company.
“There's this misconception, I think, that for a startup to be successful, you must sacrifice everything else other than your company to make it successful. I think for me, there was a period of time where I did that with my company… and it resulted in what you'd expect, which is sort of a form of burnout in a sense, regrets at not doing other things in your life.”
Luckily for him, he came to this realization reasonably young. Nowadays, he tells new people who join HashiCorp to put a start time, end time, and a lunch block in their calendar.
“It's just really important to have these boundaries and find other things in life because anything can sort of disappear or not be good at any moment. You have ups and downs, and when there's a down, you have to have other stuff to balance it out for you.”
Mitchell shares several inflection points that have marked HashiCorp’s growth over the years. He says the first inflection point happened when HashiCorp transitioned from what his co-founder calls a well-funded research project to a business. The second inflection point occurred when they realized that HashiCorp was going to be an enterprise sales-oriented business. The company has grown exponentially from around seven people in 2014 to the over 1,000 it has today.
One of the most interesting things about the HashiCorp business proposition is that all its products start in open source.
“We're an open-core-based company. And so, everything sort of starts at the open-source side of things, and then there's an enterprise version that we monetize later,” Mitchel explains as he goes into detail how that looks like.
And why is HashiCorp an enterprise sales-oriented business? He explains that there are two types of people who use open source: one group that would never pay for anything whether it costs 99 cents or $10, and another— these are medium-sized businesses— that dreads free things and is willing to pay your ask.
“They're (medium-sized enterprises) the opposite. Free is scary to them because free means a lack of sustainability, lack of support, potentially… lack of influence, and the ability to make what they want happen in the product… And so, they shy away from free things. They would, as a business, rather pay for things.”
Tobi also asks Mitchell how to get to 20k stars on GitHub.
He gives three tips:
This is a philosophy I've always had in my life, which is you just gotta do the work every day. There's no fast path to success. You just have to go to work every day and lay bricks, and eventually, you build a building.”