I am Mitchell Hashimoto, Founder and CTO of HashiCorp. Ask me anything!

Hey folks, ๐Ÿ‘‹

I am Mitchell Hashimoto, founder and CTO of HashiCorp. HashiCorp is a remote-first, open source-based company that solves development, operations, and security challenges for cloud and infrastructure automation. At the time of writing, HashiCorp has over 400 employees and is valued at nearly $2 billion.

Iโ€™m the creator of Vagrant, Packer, Serf, Consul, Terraform, Vault, and Nomad. All of these projects are open source (MPL2). Fun fact is I started Vagrant in a dorm room, it has come a long way!

I am happy to answer almost any questions, but here are some topics to help:

  • Cloud infrastructure
  • Security
  • Static infrastructure vs dynamic infrastructure
  • Development environments, IDEs, etc.
  • Docker, Kubernetes, etc.
  • Startups and building a business around open source
  • Remote company, culture, hiring, etc.
  • Open Source!

Looking forward to answering your questions! I will answer them live on 30th Jan, 2 PM ET onwards.

Comments (48)

Melvin's photo

Thanks for the AMA! ๐Ÿ™Œ

What's your secret sauce to being so productive? What tools, techniques do you employ to manage your time?

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

Pen and paper! Also: regular schedules including breaks.

I don't really use any software tools to help me with productivity beyond just normal bog-standard development tools (Vim, I don't use an IDE, I don't use a debugger, a browser, etc.)

I write a lot of human language before I write computer language. ๐Ÿ™ƒ I plan things out to a pretty detailed degree. For example before starting Terraform, I think Armon and I collectively wrote about 60 to 80 pages of Google Docs thinking through how it'd work before we wrote ANY code.

After having that detail, I think of a component I want to build, and then usually break that component down to tasks that are achievable in less than an hour. Then, I focus in on that task and while I'm working on a task I do nothing else. I don't use any tools for this although a lot exist, I just focus in. When that task is done, I feel a sense of achievement, happiness, and usually take a break.

I think this "bite-size" task is really important. If you look at any problem holistically, its just too large. If you work on something too long without seeing results, its easier to get demotivated. I recognized this early on in myself, so in high school I started breaking things down into achievable goals first. And that has been key!

Breaks are really important, and I think its why I like working remotely so much. I actually take quite frequent breaks: stopping for 10 or 15 minutes every hour or so. To some bosses that may seem wasteful, but I think my past can show I am productive, and its mentally helpful. I like to sit outside and have a coffee, or just sit.

Sandeep Panda's photo

Hi Mitchell

Thanks for the AMA. โค๏ธ Big fan of Hashicorp and the Open Source projects you have built. I have the following 3 questions for you:

  • In your opinion, what is the best way to recruit and retain a great team?
  • What are some interesting ways to promote and monetize Open Source work?
  • What non-technical aspects do you examine when hiring engineers?

Lastly, do you think cats are cuter than dogs? ๐Ÿ˜ƒ

Show all replies
Mark's photo

Currently focussed on [every programming languages and all of the projects]

So your interview would involve giving me horrible broken code, impossible deadlines, and then I'll be spending that time justifying why it has to be fixed first? I'm not sure I'd want to work there after that...

Varrun Ramani's photo

What are some lessons from growing a software company from open source? If you were to go back and do things differently, what would the changes you would have made? Do you have any tips for entrepreneurs starting companies from open source?

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

Sorry I haven't answered this, this is a really big question and difficult to answer without just typing for hours and hours. I've learned a lot of lessons, I've made numerous mistakes. It's hard to pinpoint them in the moment also because there is so much context around them.

I think my one tip I'd give, and I mentioned this in detail in another answer so for full detail check that out: starting a company of any form is so much more than the technical bits. For me, the technical bits were easy, a given. But you still need to build out support, sales, marketing, etc. And each of those is just as hard in their own way as the core product and technology. It is a big undertaking.

I don't want to discourage people from starting companies though! It has been very rewarding, I had no idea what I was doing going into it, and I am doing okay. You can too. But I also didn't realize how hard it would actually be.

Anand Kepler's photo

Thanks for AMA! Big fan of HashiCorp and we use all your products everyday at work.

Looking for advice as someone who admires your open-source contributions. I see them as well-executed ideas made accessible.

  1. What kinds of products are missing in 2019 and are going to get a lot bigger? (Not limited to infrastructure)
  2. What do you credit for the success of your open source projects like Vagrant?
  3. What other open source projects are you a fan of?
  4. What steps would you recommend to an early-career developer to position themselves to work on successful large-scale, well-designed software projects?
Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

What kinds of products are missing in 2019 and are going to get a lot bigger? (Not limited to infrastructure)

I recently picked up an iPad Pro (2018 model). Before owning one, I thought of it as "just another iOS device." I've owned other iPad models in the past. But this iPad Pro in particular is different: it represents a huge opportunity to shift day to day workloads to it. It's so much closer to just being a computer in the... useful sense.

I think iPad Pro-focused software will grow. I don't necessarily think that 2019 will be huge for it, but I think a lot more people will pick up on this trend.

What do you credit for the success of your open source projects like Vagrant?

A lot of things. A lot of people!

I think the early adopters that help shape the products, take the risk in using an unstable product, etc. are a huge part of that success.

What other open source projects are you a fan of?

Besides the big obvious ones like Vim (I'm a vim user)...

I've really loved watching the serverless stuff take off. I think a lot of it has major issues still but its definitely a radical way of thinking and I give a lot of credit to the "crazies" trying to make it a real thing (I'm not saying it won't be).

What steps would you recommend to an early-career developer to position themselves to work on successful large-scale, well-designed software projects?

I explain in other answers, but be more than just a good coder: be good at communication, be kind, be pragmatic, etc. From there, work on some products and continually shift towards what you want to do.

John Matthews's photo

Hey Mitchell. What mistakes did you do while growing your company? If you were to go back in time, what are a few things you would do differently?

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

I've made a lot of mistakes! I'll bring up a few.

Misidentifying our target market. Our original commercial product we built ultimately fell hard for a lot of reasons, but one big one was we were trying to build something that individuals would like and large Global 2K companies. That might be possible but its really hard. When we decided to focus in on Global 2K and "enterprise," we were much more successful. This mistake though ended up costing us years of engineering time.

Not solidifying processes quick enough. It may seem crazy, but its better to start thinking about and implementing consistent processes to product development and so on earlier than later. We didn't do it in earnest until we had maybe 50 people in product/engineering. We're still digging ourselves out of that hole. Before then we just kind of jumped around and worked on what needed to be worked on. That's productive for awhile but breaks down eventually!

I'll just leave it at that... but its always a bumpy road!

Shih Oon Liong's photo

Thank you again for this AMA. You and your team has been churning out some great tools ever since the days of Vagrant.

  • Who comes up with all the logo/ux design for Hashicorp? The website and all the logos have always been looking clean and snazzy to it.

  • For infrastructure code for Terraform, is Hashicorp come up yet with an approach to testing? We have engineers building lines and lines of Terraform code but we have always been stuck on how we can improve confidence in our codebase.

  • What is your advice to popular open source projects who do not yet have any official funding sources yet - how should they keep going on? Assuming maintainers' still enjoy the work, do they keep on the good work or should they wind down and stop accepting features until they can find more resources (contributors, time).

  • Finally just to ask the question everyone is probably asking, ETA on Terraform 0.12.x? :D

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

Thanks!

Who comes up with all the logo/ux design for Hashicorp? The website and all the logos have always been looking clean and snazzy to it.

Our Director of Product Design (JT) came up with all of this initially. We now have many designers working on it but JT set the initial look & feel.

He was actually my roommate in San Francisco when I first moved there. I didn't know him prior to that. He lived across the hall from me. I didn't even know if he was good, but I knocked on his door one day and just said "hey, can you help me design something?" (of course I offered and did pay him) And he was really good! And we just kept working together. This was before HashiCorp even existed.

For infrastructure code for Terraform, is Hashicorp come up yet with an approach to testing? We have engineers building lines and lines of Terraform code but we have always been stuck on how we can improve confidence in our codebase.

Yeah, this comes up a lot and we're looking into it. There are a number of other OSS tools like Test Kitchen and Gruntworks has a test framework and so on. You should look at those.

What is your advice to popular open source projects who do not yet have any official funding sources yet - how should they keep going on? Assuming maintainers' still enjoy the work, do they keep on the good work or should they wind down and stop accepting features until they can find more resources (contributors, time).

This is a double-edged sword.

On one hand, I think you push off funding for a long time. I think too many OSS projects are getting "funding" (in the VC sense) too early. The downside to this is it puts a clock on you: there are external expectations of what your project should achieve. Pressure.

You want time to be creative, to be able to just explore the problem space. I was lucky to have that with Vagrant and to have the privilege to do that. I worked on Vagrant for 2 years before being paid a single cent for any of the work I did. I had a normal job during the time and worked on Vagrant on evenings and weekends. But... I was not under any pressure.

On the other hand, being able to work on projects for free is a privilege that many do not have. So, having more avenues to make money needs to be there. I answered another question where I talked a bit about this.

Finally just to ask the question everyone is probably asking, ETA on Terraform 0.12.x? :D

Beta any week now. It is feeling really good. You can see the activity on the Terraform GitHub repo, lots of stuff every day.

Sky's photo

Hi Mitchell, here some of my questions.

  1. How do you recommend anyone who wants to start a startup in open source as solo developer and want to monetize?

  2. How do you keep up with Work and Life balance?

  3. How do you think AI will affect virtualization, cloud and infrastructure?

Thank you.

Show all replies
Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

Oh whoops just saw this one:

How do you think AI will affect virtualization, cloud and infrastructure?

I think basic AI concepts will start making their way into it. We announced "Vault Advisor" at HashiConf last year (a paid feature) that is basic AI. It watches access patterns to Vault along with the way you've configured your policies and recommends improvements.

I think for AI to be useful, we need to have a firm grasp of the underlying layers and I don't think we're quite there yet, but closer than we've ever been for sure.

Mike Albert's photo

Hey Mitchell, Thanks for the AMA.

What's in your dev toolkit? ๐Ÿ’ผ

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

My standard workstation:

  • 5K iMac. I bought this thing 4 years ago and its still perfect.
  • 2018 MacBook Pro. No touch bar (๐Ÿ‘น) Bleh. My 2014 MacBook Air was still the best laptop I ever owned.
  • Vim
  • A bunch of CLI tools.

That's it really. I don't use anything fancy.

Milica Maksimoviฤ‡'s photo

Thanks for the AMA!

  • What does your average day at work look like?

  • Which tips woud you give to people who just became CTOs?

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

What does your average day at work look like?

So as a founder, the type of work I'm doing month to month can change quite dramatically. I'd say my average at home workday is:

  • 7:30 AM - 8:30 AM - Wake up, shower, cook breakfast, eat with my wife.
  • 8:30 AM to 10 AM - Answer emails, catch up on Slack, review RFCs.
  • 10 AM to 12 noon - Usually I take meetings here. The type of meetings vary but can be product plannings, 1:1s, etc.
  • 12 noon to 1 PM - This is a mandatory 1 hour lunch break I impose on myself. I eat lunch and just take a break. I stay away from work, maybe I watch TV, maybe I read, maybe I hang out with my wife if she's home, etc. No work.
  • Afternoon - I try to keep this relatively meeting-free. This is when I'll get more technical -- I still write code! -- or work on the company a bit by writing google docs and so on.
  • 2 or 3 PM - I take a break and usually work out here. That might mean riding my Peloton or working out in my home gym. This is usually 45 minutes.
  • 530 to 6 PM - Done! Go eat dinner, hang out with my wife if she's home.

However, I also travel quite a bit. I live in LA and take day-trips to SF a couple times a month for various meetings that have to happen in-person. These days are really long. I take the 8 AM or 9 AM flight to SF, I work all day, then I take the 8 or 9 PM flight back. I also drive myself to the airport on these days. Overall, a very long day.

Besides SF, I take many field trips for sales or community events. Sales trips are grueling: basically meetings non-stop from 8 or 9 AM through to the evening, followed by a social dinner with customers, employees, etc. They're FULL days and usually for a week, but I do my best to make the most out of my travel.

Which tips woud you give to people who just became CTOs?

Matters what kind of CTO you are and for what sized company.

The biggest tip I'd give is that your primary job is to create the framework for a successful technical organization (along with a VP Eng if you have one). You should be enabling others in the organization. At the same time, you should be thinking strategically about the business's technical decisions and planning for that.

Kenechukwu Nnamni's photo

How did you get that first idea to start working on Vagrant which is your first project. At the time what did you think you were building?

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

At the time, I worked for a consultancy with many clients on different tech stacks. My dream was a one-click solution to setting up a development environment for a client. I felt it was taking too many hours to context switch between clients. At the same time, I wanted a way to run quick Linux-based workloads for school (I was a CS student at the time and diving into operating systems and so on and it was tough to work in the lab setting).

I had actually just learned about virtualization maybe a few months prior. And I chose VirtualBox because it was free and I was a college student that had to pinch every penny I had.

Then I just started building, trying to make that dream a reality. I failed a good many times privately before inching closer and closer to what was eventually released. I think "eating your own dog food" is really important and I did that throughout: using Vagrant as much as possible. That led me to some things where I thought "wow, yes, this is really good" and some other things where I felt "this is not right, this is bad work."

Vagrant 0.1 wasn't great, so don't get the wrong idea that I shipped something amazing. But it worked, and I kept iterating, and it got a lot better.

Salvatore Cozzolongo's photo

How did you transform your startup in a valuable company? How did you structure you company (roles, responsibilities, etc..)? How did you manage the transition from a startup to what Hashicorp is now?

Alexandr Burdiyan's photo

How do you take notes? I saw a notebook on your table in Twitter ;), and wonder if you use some techniques for planning and notetaking. twitter.com/mitchellh/status/10776948079196..

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

Yes! I write on pen and paper a lot. I've been known for my entire professional life to carry a moleskine with me at all times. This year, I switched to a 2018 iPad Pro with an Apple Pencil. I use Good Notes. I still "hand-write" all my notes but do it on the iPad instead. So far so good I'm in love with it.

In terms of the note structures themselves: each page (I use front/back and left/right) has a title and I just use bullet points and arrows and so on to collect thoughts.

I also preserve my notebooks. I still have the original moleskine where I sketched out Vagrant, Packer, Consul, Terraform, and others! This was back in 2009 or so.

Alexandr Burdiyan's photo

Could you share some piece of your non-technical life wisdom/advice?โ€‹ Maybe some "secrets" you use to stay productive and positive, a lifehack, or some story that changed your life. Whatever you feel like.

Thanks a lot for the AMA!

Show all replies
Sandeep Panda's photo

Co-Founder, Hashnode

Mitchell Hashimoto Great advice! People often underestimate the power of breaks and taking time off. I hope this reinforces the fact that "breaks" are good.

Harold Walker's photo

Vagrant, Terraform, Consul are all amazing! We are big fans of them. :D

I would like to know how you started your entrepreneurial journey and what are some key take aways from running a company that builds things for developers?

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

Thank you!

My entrepreneurial journey started very early. I started trying to make some money for myself back in middle/high school by building little programs I'd sell people. I sold a program that did algebra for example. I did some other things.

I don't really know why I did that. My parents took good care of me and provided everything I needed, and I didn't really want for much. But still, I thought money added some tangible success factor to what I was doing and I liked that.

Building tools for developers can be rough. They're highly critical of the work and there can sometimes be an attitude of "I could've done a way better job than you." That's not fun. Further, monetizing developers is difficult because of similar attitudes: why pay for something you can build yourself? To be fair, I've been like this in the past too, I think it's natural.

But, that's being quite critical. Developers are also great because in open source they're much more willing and able to contribute! They are patient early adopters because they understand that software has bugs. Etc.

Harold Walker's photo

Thanks for arranging this AMA. :)

What is best way to learn Terraform, Consul and Nomad quickly? Also, what books would you recommend for the same?

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

There aren't great book resources across the board. There is a great Terraform book (google "Terraform book"). The best way to learn though is our new learn platform: learn.hashicorp.com More content is being added all the time and if you look a year from now I think you'll find it dramatically different cause its getting so much attention right now.

Zishnoni Yit's photo

Hi, how are you? I have a problem, i need to use boot_command with packer but on AWS and Openstuck environments, but this feature is not supported on AWS / Openstuck..do you have any idea which tool i can use for this scenario? I have a old application that when its gets up there is a menu options and i need to choose the right botton to configure it..and with packer by using the boot_command its works good on kvm / virtualbox but now i need this scenario on AWS / OPENSTUCK but i cant used this boot_command there...any idea, any workaround??? Please... Im really appreciate your help. 10x

Andrรฉ R. Miranda's photo

Hello, Mitchell. Working remotely in a company with more than 400 employees should be a challenge. Which are the main challenges? How do you and HashiCorp deal with these challenges?

Thanks.

Ilango Rajagopal's photo

Thank you for doing this AMA!

What do you think are the differences in building solutions for developers from other B2B startups? What's your advice for founders who want to make developers' work easier?

Sandeep Panda's photo

Which of the current trends in software engineering are overrated according to you?

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

Blockchain. It is a solution looking for a problem. There is a company in every category claiming blockchain solves some major problem or literally just makes something better thats working perfectly fine. I think its a great technology and there are useful applications, but they aren't world changing.

I want to disclaim right now that there are some very valid and legit companies using Blockchain, so don't take my statements as a blanket.

But I truly believe that over 95% of "blockchain"-related initiatives are scams. At best, money is moving from one pocket to another, probably with some fraud thrown in, and that's about it.

Veena Raja Rathna's photo

Ok I just signed up now and am new to this hashnode thingie. Excuse me if it shows up in wrong place.

What are your thoughts on approaches to software development? There are lot of buzz words around this sprint/agile models in engineering? In my experience its all very chaotic.

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

I think process is important. I think breaking things down into smaller chunks is important. I'm not particularly religious about specific methodologies, but at a certain size of company its definitely important to have a consistent process and you should reflect on that process to determine if it can be more efficient.

Rupee's photo

What are the single important habit(s) that separates the top software engineers to the bottom ones?

Mitchell Hashimoto's photo

Co-Founder & CTO of HashiCorp

Easy: communication. 100%.

This isn't just person-to-person communication, it is the ability more broadly to convey thoughts and accept feedback. The best engineers I've ever worked with create and move information efficiently and effectively.

So, concretely this is being able to plan with a team, writing design documents, breaking down work for review into small tasks, making pragmatic decisions by understand the needs of the company (requires some good listening), etc.

Neill Turner's photo

So many questions!! Where do you see yourself in 10 years? Will you sell the company and join a VC firm ha ha . How do you plan to scale your firm from 400 to 4000 employees and $2 to $20 billion without turning into IBM? How do you build such good tools with such a high degree of usability compared to alot of other tools out there? So much of corporate IT around the world is like 20 years behind the best practice of leading tech companies like facebook, netflix google etc how can they at least stop getting even further behind in the future? Security and devops seems to be at odds with each other and how can security be introduced without reducing agility of devops? Love to work for your firm in a consulting capacity but I'm a devops contractor working for myself doing work directly at companies. Good luck for the next 10 years!!!!!

Show all replies
Neill Turner's photo

DevOps Independendent Consultant

"because I can judge very accurately if they're "good" or not" - I think this is very important and difficult from my experience working for software companies. Too often financial pressure can trump "goodness" of software.