Mitchell Hashimoto’s new way of writing code


Summary

Mitchell Hashimoto, co-founder of HashiCorp, shares his journey from learning to code as a teenager to building foundational cloud infrastructure tools like Vagrant, Packer, Consul, Terraform, and Vault. He recounts how a failed university research project led to a notebook of unsolved problems that became the HashiStack, and how a two-minute email response to his future co-founder Armon Dadgar started HashiCorp.

Hashimoto discusses the early days of cloud computing, his conviction in multi-cloud despite AWS dominance, and the challenges of building a business around open-source tools. He details the pivotal moment when HashiCorp shifted from a bundled product strategy to a successful open-core model focused on Vault Enterprise, driven by listening to customer needs around secrets replication at scale.

The conversation covers HashiCorp’s near-acquisition by VMware, Hashimoto’s candid perspectives on working with major cloud providers (AWS’s arrogance, Microsoft’s professionalism, Google Cloud’s technical brilliance but business indifference), and the company’s eventual IPO. He also reflects on his departure from HashiCorp and his current work on Ghosty, an opinionated terminal built with Zig.

Hashimoto provides practical insights on AI adoption in software engineering, explaining his approach of always having an agent running in the background for research or coding tasks. He discusses the challenges AI-generated contributions pose to open-source maintainers and Ghosty’s move to a vouching system to maintain code quality. Throughout, he emphasizes understanding constraints, the importance of craftsmanship in software, and his philosophy of focusing on what feels right rather than chasing trends.


Recommendations

Companies

  • HashiCorp — The company Mitchell co-founded, building the HashiStack of infrastructure tools including Terraform, Vault, Consul, Nomad, and Packer to manage cloud infrastructure.
  • VMware — Nearly acquired HashiCorp early on for what felt like a ‘dream-killing’ amount—personally life-changing but potentially ending their vision as they’d be absorbed into a larger corporate structure.

Concepts

  • Regret minimization framework — A decision-making approach used by Hashimoto and his co-founder when considering the VMware acquisition: determining the minimum amount that would make them feel no regret if their project died within the acquiring company.
  • Open core business model — The commercial approach HashiCorp ultimately adopted after their bundled product failed—offering open-source core products with enterprise features for scale, particularly resonating with security teams who had clear budgets.

Tools

  • Ghosty — An opinionated terminal built by Mitchell Hashimoto after leaving HashiCorp, written in Zig with GPU acceleration and modern terminal features.
  • Terraform — Hashimoto’s infrastructure-as-code tool that allows declarative management of cloud resources across multiple providers, described as ‘making text reality’ for cloud infrastructure.
  • Vault — HashCorp’s secrets management and encryption tool, initially built by engineers with minimal security experience but focused on user experience over fundamentally new security concepts.
  • Vagrant — Development environment tool created to solve consultancy problems with reproducible setups, allowing quick context switching between projects without breaking existing environments.

Topic Timeline

  • 00:00:00Introduction to AI agents and open source — The episode opens by questioning whether AI agents that can write code, open pull requests, and ship features will make open-source contributors obsolete. Mitchell Hashimoto is introduced as someone who has deeply considered this question and the future of open source while building tools like Terraform and the HashiStack.
  • 00:01:20Early programming journey and open source discovery — Hashimoto describes learning to code at age 12-13, motivated by video games but quickly moving to web programming with PHP and Perl. With no money for books, he relied on code published online, which introduced him to open source without knowing the term. He printed out PHP manuals and had breakthrough moments understanding programming concepts like variables during walks to school.
  • 00:06:29Origins of HashiCorp and failed research project — Hashimoto explains how HashiCorp started with a failed university research project called the Seattle Project, which aimed to create a generalized scheduler for heterogeneous hardware. He documented the missing components needed to solve the problem, creating a notebook that would later inform HashiCorp’s tools. This notebook was shared with Armon Dadgar, who later became his co-founder after emailing him with a startup proposal.
  • 00:11:54Development of Vagrant from consultancy needs — Hashimoto created Vagrant while working at a Ruby on Rails consultancy to solve the problem of reproducible development environments. With new clients every two months, setting up dev environments wasted billable hours. Using free VirtualBox virtualization, he built Vagrant to quickly spin up environments, helping teams collaborate without disrupting their own setups.
  • 00:17:30Multi-cloud conviction and founding HashiCorp — Despite AWS being dominant in 2011-2012, Hashimoto and Dadgar bet on multi-cloud, believing other players like Microsoft and Google wouldn’t cede the economically significant cloud market. They founded HashiCorp based on this conviction, building tools that would work across cloud providers rather than focusing solely on AWS.
  • 00:24:45Building the HashiCorp product suite — Hashimoto walks through the HashiCorp product evolution: Packer for image building, Consul for service discovery, Terraform for infrastructure as code, Vault for secrets management, and Nomad for scheduling. He explains how each tool addressed specific infrastructure challenges emerging with cloud adoption, particularly around dynamic, scalable environments.
  • 00:32:01Commercialization challenges and pivot to open core — For four years, HashiCorp had no real reproducible business despite open-source traction. Their first commercial product, Atlas, failed because it required adopting all HashiCorp products and faced internal budget conflicts. After a difficult board meeting, Hashimoto and Dadgar whiteboarded a new strategy focusing on per-product enterprise offerings starting with Vault, which immediately resonated with security teams who had clear budgets.
  • 00:44:05Terraform’s unexpected dominance — Despite initially being known as ‘the Vagrant company,’ Terraform eventually became HashiCorp’s most popular product. Hashimoto notes they were seventh to market in infrastructure-as-code but succeeded through extensive conference travel and community engagement. He traveled so much that during COVID lockdowns, it was the first time in nearly 10 years he stayed in one place longer than eight days.
  • 00:50:56Near acquisition by VMware and IPO — Hashimoto recounts how VMware approached HashiCorp about two years in when they had only three employees. The acquisition process involved months of meetings that felt like ‘dancing’ before a verbal 100M, which required VMware board approval and failed by one vote, ultimately allowing HashiCorp to continue independently.
  • 00:58:41Unfiltered perspectives on cloud providers — Free from corporate constraints, Hashimoto shares candid views: AWS was ‘annoyingly arrogant’ and reluctant to help with Terraform integration until threatened with deprecation. Microsoft was professional and collaborative, always asking ‘how do we both win?’ Google Cloud had brilliant technology but seemed indifferent to business considerations, focusing on technical edge cases rather than partnership mechanics.
  • 01:06:34Building Ghosty and terminal challenges — After leaving HashiCorp, Hashimoto built Ghosty, an opinionated terminal written in Zig. He explains terminals are like ‘browsers for text content’ with complex rendering challenges, particularly around fonts. Ghosty’s architecture uses multiple threads for UI, I/O, and rendering, with performance optimizations that make it significantly faster than traditional terminals for operations like catting large files.
  • 01:16:46AI’s impact on terminals and development — Hashimoto notes AI has unexpectedly increased terminal usage due to CLI tools and code execution in pseudo-terminals. He’s extracting libghosty as a MIT-licensed library to prevent broken terminal implementations in tools like Docker builds. He emphasizes that terminals are more complex than they appear, requiring proper handling of state, scrolling, and rendering performance.
  • 01:18:26Practical AI adoption and workflow — Hashimoto uses AI tools daily but turns off notifications—he interrupts the agent, not vice versa. He identifies tasks that don’t require thinking and delegates them to agents, reserving his mental energy for complex problems. He recommends engineers force themselves to use AI tools for research and proof-of-concepts, even if initially slower, to build proficiency.
  • 01:25:25AI’s strain on open source and new policies — AI-generated PRs have overwhelmed open-source projects with ‘plausible-looking but incorrect and low-quality contributions.’ Ghosty initially required AI disclosure, then banned AI PRs without accepted feature requests, and is now implementing a vouching system inspired by Lobsters and Pie. This reputation-based system requires existing community members to vouch for contributors, putting their own reputation on the line.
  • 01:31:03Git’s limitations in agentic workflows — Hashimoto discusses how AI-driven code generation exposes Git’s limitations for large monorepos with high churn. Merge queues, disk space, and branching become problematic at scale. He compares this to Gmail’s ‘never delete email’ philosophy, suggesting version control should move toward preserving all experimental branches and context rather than discarding negative results.
  • 01:39:09Hiring engineers and productivity with AI — Hashimoto finds the best engineers often have ‘boring’ backgrounds—private, 9-5 professionals without social media presences who focus deeply during work hours. With AI, he expects engineers to handle more vague tasks and build complete demos independently. He advises requiring AI competency as a tool understanding its edges, not necessarily using it for everything.
  • 01:44:19Always-running agents and productivity philosophy — Hashimoto strives to always have an agent running in the background, whether coding or researching. Before leaving home, he identifies ‘slow tasks’ for agents to handle during downtime. He believes this approach allows him to choose what to think about rather than sacrificing thinking time, contrasting with those who might use AI as an excuse to disengage mentally.
  • 01:49:52Advice for founders and startup longevity — Hashimoto advises aspiring founders to imagine working on their idea for 10 years, requiring both hubris to believe they can do it better than anyone and enough humility to adapt to change. He emphasizes startups take much longer than people expect, and founders need sustainable passion beyond initial excitement. Specific questions about open source, remote work, or enterprise models yield more actionable guidance.

Episode Info

  • Podcast: The Pragmatic Engineer
  • Author: Gergely Orosz
  • Category: Technology News Tech News
  • Published: 2026-02-25T16:45:17Z
  • Duration: 01:57:36

References


Podcast Info


Transcript

[00:00:00] If AI agents can write code, open pull requests, and ship features, do we even need open source contributors anymore?

[00:00:06] Michel Hashimoto, the co-founder of HashiCorp, has been thinking deeply about this, the future of open source,

[00:00:11] and how to efficiently integrate AI into its day-to-day workflow.

[00:00:15] Michel built the tools that power modern cloud infrastructure, Terraform, and the HashiStack.

[00:00:19] He also created the popular terminal, Ghosty, and I consider him to be one of the most thoughtful voices

[00:00:24] in the industry on how AI is changing the craft of software engineering.

[00:00:28] In today’s episode, we cover the origin story of HashiCorp, a failed university research project,

[00:00:33] a notebook of unsolved problems, and an email from his future co-founder that he answered in two minutes.

[00:00:38] His honest, unfiltered take on working with AWS Azure and Google Cloud as partners,

[00:00:43] both the arrogance and also the brilliant engineers who never thought about the business.

[00:00:47] How he’s adapted to AI coding tools, why he always keeps an agent running in the background,

[00:00:52] and his practical advice for engineers who have not yet warmed up to AI agents, and many more.

[00:00:56] If you’re interested to hear

[00:00:58] from one of the most hands-on builders in the industry and want to know where AI tools are

[00:01:01] useful versus not, then this episode is for you. This episode was presented by Statsig,

[00:01:07] the unified platform for flags, analytics, experiments, and more. Check out the show notes

[00:01:11] to learn more about them and our other season sponsors, Sonar and WorkOS.

[00:01:15] Michel, welcome to the podcast. It’s awesome to be here in person.

[00:01:20] Yeah, it’s cool to meet you in person after so many years of following you.

[00:01:25] You’ve had such a massive impact on the

[00:01:28] tech industry and software engineers, but how did it start?

[00:01:30] I think the high level is the same story as a lot of people. I self-taught around 12,

[00:01:35] 13, early teens, motivated by video games, same as a lot of people. Although I really quickly

[00:01:40] realized that I liked the web. You know, web was new. Google wasn’t out yet. I think web was new.

[00:01:44] It’s like, I kind of like really quick. I never became a video game programmer. I really quickly

[00:01:49] just became a web programmer, PHP, Perl, that sort of stuff. And because I was so young,

[00:01:55] the only way I could learn was through whatever code,

[00:01:58] published online. And so that’s how I got acquainted with open source. I didn’t know

[00:02:02] that’s what it was called then, but a kid with no job, no money, parents didn’t want to buy,

[00:02:08] you know, professional books were like, I don’t know what they are now, but they were like 50

[00:02:11] bucks then. Right. And, and so they were like, no way. Right. And also they didn’t believe I was

[00:02:16] going to read it. And so there was no way they’re going to buy that. So yeah, this, anything I find

[00:02:21] online was my, my in into coding. I’d walk to school every day with a group of friends. There’s

[00:02:27] a period of time where I printed out the first or second chapter of the PHP manual. I remember it

[00:02:33] was about 30 to 40 pages of paper and I never programmed. So all this stuff and I’m 12 is very

[00:02:41] confusing. So I read the whole 40 pages, every walk to school. And I don’t remember how long it

[00:02:46] took me, but I did that a long time before, you know, I remember this one moment where I was

[00:02:50] walking to school where suddenly I understood what these dollar sign things were. I like it,

[00:02:55] like for whatever reason,

[00:02:57] it just came in and those are variables, right? Variables. Yeah. Yeah. And I really understood,

[00:03:02] you know, I never heard that word before. I like, you don’t hear the word variable

[00:03:05] as a 12 year old out in any context. And finally, at one point it like hit me that they store

[00:03:12] things and things could change. And I remember just like weeks of reading this thing and not

[00:03:18] understanding it, getting to school. So excited thing, like it, it triggered. And then after that,

[00:03:23] I remember stuff happened really quickly. What kind of stuff did you build websites?

[00:03:27] Yeah. Websites. It was gaming related websites. It was like a lot of like game sheet stuff, forum

[00:03:32] software. Yeah. I mean, I had a lot of fun cloning websites, you know, in a poorly, but like PayPal

[00:03:38] was out or, and then I really wondered like, how does money get transferred over the internet? How

[00:03:42] does that work? So I tried to build like copies of cloning websites. I did like masquerade as a

[00:03:48] 18 year old on like freelance websites. And so I got, you know, a hundred bucks here, 50 bucks here

[00:03:55] to do like image.

[00:03:57] I decided to study computer science in college. Um, went to university of Washington. I mean,

[00:04:03] I guess that’s when you would call it serious, but I was, I was like really, I mean, I was coding

[00:04:08] every day as much as I could through high school. Oh, okay. Yeah. That’s impressive. Were you

[00:04:14] alone with this when your friend group there, were there other people doing it or was it kind

[00:04:18] of lonely? It was lonely. It was very lonely. It was, it was lonely in the real world. And then I

[00:04:23] quickly found online friends through like MSN messenger and ALL and some messenger.

[00:04:27] And forums. I found online friends, which many I have met now and I still keep in touch, which was

[00:04:33] cool. But no, I mean like back then, I mean, being a, being a programmer one, no one knew that word,

[00:04:39] but, but being into computers was like a social death kiss. And so, uh, even my closest friends

[00:04:45] didn’t know my best friends and stuff. Like I hid it from all of them and I didn’t talk about it at

[00:04:49] school and stuff like that. So it was just a secret until I went to college and college is

[00:04:53] when I decided to like, let it all out. The big like break that I got was like, I was like, I’m

[00:04:57] going to be a Ruby on rails programmer. And I didn’t know Ruby. I was a PhD programmer. Um, I

[00:05:16] had never done Ruby. I’d never done rails, but I got this email and I’d never been like headhunted

[00:05:20] before. Like, I didn’t know what this was. I was also 18. So I didn’t really know what to think

[00:05:24] about it. I probably would have not responded except that they were like, Oh, I’m going to be

[00:05:27] the person contacted me was an LA. And so I did respond and we set up a meeting, like a real

[00:05:34] physical meeting and I met him and met the company and realized this is real and they’re serious and

[00:05:40] genuine. And I took that job and, uh, yeah, I mean, that was, I learned a lot on the job there.

[00:05:46] So that was a huge change. Um, was it a startup, a small company, something like that? No, it was

[00:05:50] a consultancy. So it’s kind of like one of those standard, like it was like 2007 Ruby on rails was

[00:05:56] had blown up.

[00:05:57] It was already very popular. And, uh, there’s all these consultancies that, uh, that appeared

[00:06:01] on nowhere that was basically like, we’ll build your minimum viable product. And yeah. And we’re

[00:06:06] one of those shops. So great job for a college student. Cause we’d see a client for like two

[00:06:10] months and I would build a YouTube style website and then I would build like a philanthropy website

[00:06:16] and then I’d build an e-commerce website. And like, it was just like, I got to learn all these

[00:06:20] different technologies and different scale challenges and different, like, and there

[00:06:23] wasn’t a lot of scale cause we’re building MVPs, but different, like thinking of scale

[00:06:26] problems.

[00:06:27] Um, yeah, it was, it was great.

[00:06:29] How did eventually HashiCorp start? So what happened between like getting, getting this,

[00:06:35] this Ruby job to a few years later, it kind of starts with this Ruby job. Um, there was one guy

[00:06:41] that worked at the company and, and he’s, he’s pretty into his privacy, so I won’t share his

[00:06:46] name, but he was my boss and there was no Roku, there was no engineer. So you had to like self

[00:06:51] host and Ruby on rails hosting then was kind of like difficult. So he was the guy who got all

[00:06:56] these projects.

[00:06:57] He was the guy who hosted on, on dedicated servers. And I didn’t know anything about that.

[00:07:01] And I, and he ran Linux and he had long black hair and he like didn’t use a mouse and all these

[00:07:08] things that were so weird to me. And I was just intrigued. I just, he sat in the corner. He

[00:07:12] didn’t want to talk to anybody. Um, and I just wanted to know more about what that world was.

[00:07:17] And luckily, despite appearances, he’s very nice. And so, um, yeah, I, I think as soon as I showed

[00:07:25] a genuine interest, started asking a lot of questions.

[00:07:27] He started just giving me challenges like, well, the first challenge I remember he did

[00:07:32] is he unplugged my mouse. And it’s funny cause I, I don’t think there’s an era of time where

[00:07:36] if you did that, it probably would have been some kind of harassment or something, but

[00:07:38] he, he literally said unplug, unplug my mouse and said, you’re never going to work with

[00:07:43] a mouse again. So figure it out. I’m not going to tell you how, just unplug my mouse, restart

[00:07:48] the computer, your problem now, and took the mouse away. Um, took me about a week and I

[00:07:53] got really good with the keyboard.

[00:07:55] Harsh lesson.

[00:07:55] Harsh lesson.

[00:07:56] Harsh lesson.

[00:07:56] Harsh lesson.

[00:07:56] Harsh lesson.

[00:07:56] Harsh lesson.

[00:07:56] Harsh lesson.

[00:07:56] Harsh lesson.

[00:07:56] Harsh lesson.

[00:07:56] Harsh lesson.

[00:07:56] Harsh lesson.

[00:07:56] Harsh lesson.

[00:07:57] Harsh lesson.

[00:07:57] Harsh lesson.

[00:07:57] Harsh lesson.

[00:07:57] Harsh lesson.

[00:07:57] Harsh lesson.

[00:07:57] Harsh lesson.

[00:07:57] Harsh lesson.

[00:07:57] Harsh lesson.

[00:07:57] Harsh lesson.

[00:07:57] Harsh lesson.

[00:07:57] Harsh lesson.

[00:07:57] Harsh lesson.

[00:07:58] He said, okay, here’s he, he installed screen on my early T mux. He installed screen in

[00:08:03] my terminal and said, figure this out. You’re going to use this now. You know, there’s no

[00:08:07] questions like you will use this. And, and he just slowly instilled on it, um, on me.

[00:08:12] And as we got there, then it became, you know, here’s SSH, here’s a package manager. He’s

[00:08:18] like slowly taught me more and more. And that got me just in, I loved him like immediately.

[00:08:22] It was like, this is super cool, super fun. So that long winded process got me into

[00:08:27] infrastructure. And then simultaneously or very shortly afterwards, I joined a research

[00:08:32] project at the university of Washington called the Seattle project, which is a terrible name

[00:08:36] because you can’t Google it, but it’s called the Seattle project. It was, I’m sure it doesn’t

[00:08:40] exist anymore. And it was again, another popular thing during this time was, uh, kind of like,

[00:08:46] um, folding at home. It was as I, they were trying to generalize folding at home, which

[00:08:50] is can a bunch of people compute a different, you know, it could be your home machine. It

[00:08:55] could be a unused rack. It could be,

[00:08:57] it could be in your basement. It could be around the world, but can you compete? Can

[00:09:00] you donate all this heterogeneous hardware? And then can you generalize a scheduler on

[00:09:05] top of it so that academic institutions across the world could just run workloads and not

[00:09:10] just like, not just research. Like the job I got was basically to very vaguely to create

[00:09:17] not the scheduler component, but like create the ability to spin up all these nodes. Um,

[00:09:24] and, and, and a bunch of other stuff. It’s very vague, but,

[00:09:27] but it was this infrastructure problem. And I completely failed at it. Like I, I tried

[00:09:31] for a quarter, but, um, from a technical side, I just failed. And, and I wrote down

[00:09:37] on his notebook, like what I thought the pieces were missing that I couldn’t solve this problem

[00:09:42] in a quarter and a 10 week period. Like why? Well, we need this. We need this. We need

[00:09:47] this. It’s interesting to see how structured Michelle was in his approach in defining components

[00:09:51] that would later become parts of the Hashi stack. And this leads us nicely to our seasonal

[00:09:55] sponsor, WorkOS.

[00:09:57] One thing I’ve learned from studying great engineers, Michelle included, is that they’re

[00:10:00] very deliberate about what they choose to build. Great engineers don’t just ship fast.

[00:10:05] They think in systems, they understand leverage, and they’re careful about what becomes part

[00:10:09] of their long-term service area. If you’re building SaaS, especially an AI product, authentication

[00:10:14] and enterprise identity can quietly turn into a long-term investment. SAML edge cases, directory

[00:10:20] sync, audit logs, and all the things enterprise customers expect. WorkOS provides these building

[00:10:24] blocks as infrastructure.

[00:10:25] So your team can stay focused. You don’t have to worry too much. You don’t have to worry

[00:10:26] too much. You don’t have to worry too much. You don’t have to worry too much. WorkOS provides these building blocks as infrastructure so your team can stay

[00:10:27] focused on what actually differentiates your product. Great engineers know what NOT to build.

[00:10:32] If identity is one of those things for you, visit WorkOS.com.

[00:10:35] And with this, let’s get back to Michelle’s notebook with all the components he would

[00:10:39] end up building at HashiCorp.

[00:10:40] And I still have this notebook at my house here, but the problems are really like, you

[00:10:45] know, I have no way to declaratively manage the different resources that are out there.

[00:10:50] I have no way to network these together in a private network. You know, I wrote these

[00:10:54] things down. And there was a lot of stuff there that I never ended up building. And

[00:10:56] there was a lot of stuff there that I never ended up building. But a subset of that was

[00:10:59] ultimately what HashiCorp would end up building.

[00:11:02] And I shared this with my undergraduate, like, boss, who is Arman, who was my co-founder.

[00:11:07] Yep. Later became your co-founder.

[00:11:09] Yes. He was my boss on the undergrad side. And I shared it with him as kind of an exit

[00:11:16] interview. Like, this is what it is. And then some period of time passed, not much, weeks

[00:11:21] passed, and he emailed me out of the blue and was like, do you want to do a startup

[00:11:25] together?

[00:11:26] I’m a teenager, and you have no idea what this commitment is.

[00:11:28] You’re like 21 or something at this point.

[00:11:30] Probably not even. Probably 19 or 20. Yeah. And he emailed me out of the blue, just

[00:11:34] like, do you want to do a startup? Like, a person you never met, or you barely met, never

[00:11:38] met personally, like all this stuff. And it’s so funny. And he emailed me that at like 1130

[00:11:42] near college. I emailed him back in two minutes and said, sure. And he remembers thinking,

[00:11:48] wow, yours started so fast that he’s just in. He’s ready to go. That was sort of the

[00:11:52] start of our friendship. And then, again, like, there’s overlap. There’s overlap. And,

[00:11:53] you know, there’s a lot going on.

[00:11:54] There’s a lot going on.

[00:11:55] There’s a lot going on.

[00:11:56] There’s a lot of overlapping pieces here. But I was also at the time working on something

[00:11:58] called Vagrant. And Vagrant was, you know, came out of the consultancy, less the research

[00:12:04] project. It was solving the problem in this consultancy where we had new clients every

[00:12:08] two months, and we had different teams. How do we create reproducible dev environments

[00:12:11] so I could go help somebody without a lot of billable hours?

[00:12:14] So this is a development environment that you could spin up quickly, right?

[00:12:18] Yeah, yeah, yeah. The metaphor I always had was, I didn’t use Windows then, but

[00:12:21] the metaphor I always used was, how could I double-click and open a dev?

[00:12:24] Yeah, pretty much.

[00:12:25] That was the metaphor I used.

[00:12:26] It’s a good one.

[00:12:27] Yeah. The problem we’re having was, any hour wasted in a consultancy that you can’t

[00:12:31] bill is just a waste. And so it was basically like, if somebody else is behind schedule,

[00:12:36] how can I jump in, help implement a feature, and jump out? And we were, in that era, just

[00:12:43] setting up the dev environment for a project might take you half a day.

[00:12:47] And you couldn’t bill that for the client, right? The client will only pay for

[00:12:50] the work.

[00:12:51] No. Yeah, you couldn’t bill that for the client. So it’d be like four hours of work

[00:12:53] wasted. And it would probably mess up the project.

[00:12:55] It would probably mess up your dev environment for your actual client, because

[00:12:59] you would be a different Ruby version, a different Rails version. And so you would kind of destroy

[00:13:03] both ends. And so Vagrant came out of that, which was, I just need to go over there, and

[00:13:08] what ended up becoming Vagrant up, sweet, you know, a few minutes, let’s help you for

[00:13:13] the next two hours, and then …

[00:13:14] And how did you bill it back then? Was it some kind of virtual machine, or …

[00:13:17] Yeah, it was with VirtualBox, Oracle. Well, it wasn’t, it was Sun then, but VirtualBox.

[00:13:22] And that’s another cool constraint, which is that … I was a college student. I was

[00:13:23] a college student.

[00:13:24] Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah.

[00:13:25] I was a college student, so I had no money, so …

[00:13:27] This was expensive back then, right?

[00:13:30] Virtualization was expensive, but VirtualBox was free, and open source. I don’t care about

[00:13:34] the open source side for that. I was never going to read it, but yeah, it was free. That

[00:13:38] was why I did it. And that’s why I did that, and not EC2, which did come out by then. But

[00:13:43] I didn’t do EC2, because I didn’t have money to pay for these instances. So yeah, that

[00:13:47] was the constraints. And I like bringing that up, because I think so much of software engineering

[00:13:52] is understanding constraints, and working with these constraints.

[00:13:55] In your prior podcasts, they were called forces, like static and dynamic forces. It’s

[00:14:00] that. And I think that helps create better software when you have constraints, and that

[00:14:06] was my constraint. So yeah. So that was … We have Vagrant. We have this failed infrastructure

[00:14:10] project. We have sort of my boss at consultancy getting me into infrastructure, and all of

[00:14:16] the … And then, I mean, externally, we had the cloud being introduced, AWS. I went to

[00:14:21] school at University of Washington, so I was right there.

[00:14:24] Right in the epicenter.

[00:14:25] Sure. Amazon was next door, right?

[00:14:28] Amazon was very next door. They donated a bunch of credits right away. I knew about

[00:14:31] the launch. Most of the CS students at UW interned at Amazon. Not necessarily AWS, but

[00:14:38] also including AWS, but all over. Armand interned at AWS. And so I was in the bubble

[00:14:47] of cloud, cloud, cloud, AWS, AWS, AWS, when people were pronouncing S3, like S cubed.

[00:14:52] People didn’t know how to pronounce it, right? That’s how new it was.

[00:14:55] Yeah.

[00:14:56] And so yeah, all this stuff came together and kind of led me on the path to build tooling

[00:15:01] to better manage it.

[00:15:02] And at that moment in time, when you saw cloud, you saw it was being big, did you know or

[00:15:08] have a conviction that it would be big or as big as cloud had become? Because this was … I’m

[00:15:13] just trying to put yourself back. This was very, very new back then, right?

[00:15:17] Totally. Yeah.

[00:15:18] And I think, if I imagine, I assume more people would have been skeptics for a thing

[00:15:21] that is just a fad or whatever. What was it like? Can you bring us back a little bit?

[00:15:23] Yeah.

[00:15:24] Can you bring us back a little bit there?

[00:15:26] Compared to today, it was very unpolished, I guess, as I would describe it. EC2 … AWS

[00:15:34] in general is very unreliable. S3 was the only ever reliable piece. Everything else

[00:15:38] was totally unreliable. And there was only a few services. EBS didn’t even exist when

[00:15:45] we started, so there was no durable storage besides S3 when I first started with it. It

[00:15:49] just felt very raw. And I don’t … I never really viewed it as, this is going to be,

[00:15:54] like, big … I mean, eventually I thought it was going to be big. What I viewed it

[00:15:58] as is, this is the better way to do it. This feels like the better way to do it. Yeah,

[00:16:03] at a base level. Whether this wins or loses in the realm of markets and social popularity,

[00:16:10] I don’t know, but this felt good. And so, that’s what pushed me towards it.

[00:16:17] I say this over and over, I’m really motivated by, what’s the most fun, and what feels right?

[00:16:24] It just felt right to me.

[00:16:26] I think where I started making the bet,

[00:16:30] me and Armand both started making some kind of bet,

[00:16:32] was not just when we started HoshCorp,

[00:16:34] but we started HoshCorp on the basis of multi-cloud.

[00:16:37] And I really like to contextualize that

[00:16:42] at the time we were starting this,

[00:16:44] which was like 2001, 2012,

[00:16:46] which is that AWS was huge.

[00:16:48] Azure didn’t really exist,

[00:16:50] and Google Cloud didn’t really exist.

[00:16:52] There was Google App Engine, right?

[00:16:53] It wasn’t even cloud.

[00:16:54] Correct, correct.

[00:16:54] I used to use that when it was App Engine.

[00:16:57] Yeah, yeah.

[00:16:58] And so in that context,

[00:17:00] as we were pitching these cloud agnostic tools,

[00:17:03] I mean, we got a lot of raised eyebrows

[00:17:04] being like, this is a waste of time

[00:17:06] because AWS is the only player in town.

[00:17:09] And our conviction was, at that point,

[00:17:12] cloud is going to be huge,

[00:17:13] and anything that’s economically huge,

[00:17:17] other people won’t piece that pie.

[00:17:19] And so you’re not going to just have AWS.

[00:17:21] It’ll be huge,

[00:17:22] but you’re going to have these others pop up.

[00:17:23] And Microsoft is not going to sleep on it,

[00:17:25] and Google’s not going to sleep on it,

[00:17:27] and who knows who else,

[00:17:28] and who knows?

[00:17:29] And that was our conviction.

[00:17:30] That was our bet.

[00:17:32] And it mostly played out that way.

[00:17:34] So when you decided to start HashiCorp,

[00:17:36] you had Vagrant.

[00:17:37] What was the idea to invest in commercialized Vagrant?

[00:17:40] And did you go out to raise money,

[00:17:42] or did you start doing it with Bootstrap?

[00:17:44] How did that go?

[00:17:45] It wasn’t to commercialize Vagrant.

[00:17:47] So what we had done is,

[00:17:48] Armand and I both worked at this mobile ads company startup.

[00:17:51] There’s like less than 30,

[00:17:53] and we had built with Python and C,

[00:17:58] these really rough prototypes of these ideas

[00:18:02] that I had in this notebook of service discovery

[00:18:04] and an early version of Terraform we called Launchy.

[00:18:08] We had DNS-based service discovery

[00:18:11] by connecting an off-the-shelf DNS server with Postgres,

[00:18:15] and we did all these hacky things,

[00:18:17] but they felt good.

[00:18:18] And again, we get back to this,

[00:18:20] how things feel to me to motivate me.

[00:18:21] It felt right.

[00:18:23] It felt directionally right.

[00:18:24] I graduated.

[00:18:25] The environment in Seattle was not very startup-heavy at the time.

[00:18:29] Basically, everyone was like,

[00:18:30] are you going to work for Amazon,

[00:18:31] or are you going to work for Microsoft?

[00:18:33] Yeah.

[00:18:33] That was kind of it.

[00:18:35] And to a certain extent,

[00:18:36] Facebook was starting to show up up there,

[00:18:37] but that was it.

[00:18:38] I knew I wanted to work for startups,

[00:18:40] so I moved to San Francisco.

[00:18:42] So I moved to San Francisco,

[00:18:43] found a startup that would hire me,

[00:18:45] which was a mobile ads thing,

[00:18:47] and just wanted to learn.

[00:18:49] So that’s the short step there.

[00:18:51] So I ended up in San Francisco,

[00:18:52] and I convinced Armand,

[00:18:54] who was actually going to do a PhD at Berkeley,

[00:18:56] and he was accepted and in,

[00:18:58] and he was…

[00:18:58] This is a huge deal.

[00:18:59] Huge deal.

[00:19:00] I mean, an incredible program.

[00:19:02] And so he was going to go there,

[00:19:03] and he would have done amazing things there,

[00:19:05] but I convinced him to join this mobile ads startup.

[00:19:08] He actually took a year deferment on the PhD.

[00:19:10] He’s like, I’ll give it a year.

[00:19:11] Yeah.

[00:19:12] I’ll join this mobile ads.

[00:19:13] And I’ll go back for Berkeley for sure.

[00:19:14] If it doesn’t work out, I’m going to go back.

[00:19:16] And what ended up happening in that year

[00:19:17] is now where we get to,

[00:19:20] which is that we had this…

[00:19:22] This hodgepodge of prototype tools

[00:19:25] that felt right,

[00:19:27] and we were going to all these little startup

[00:19:29] mingling parties.

[00:19:30] You know, it’s like things like GitHub drink-ups,

[00:19:32] but also just like our…

[00:19:35] This is such a San Francisco thing,

[00:19:36] and that’s why I think it’s…

[00:19:37] Even though I don’t want to live there again,

[00:19:39] it was so magical at the time,

[00:19:40] was like across the street was this company

[00:19:43] that was called Zimrite at the time,

[00:19:45] ultimately became Lyft,

[00:19:46] and they invited us over to get drinks

[00:19:50] and have pizza to demo,

[00:19:52] this new app with a mustache

[00:19:53] that like didn’t have a name.

[00:19:56] Wow.

[00:19:56] Yeah, so like stuff like that.

[00:19:58] You were there when I was born.

[00:19:59] Yeah, yeah, yeah.

[00:19:59] And like that happens all the time,

[00:20:02] like all the time in San Francisco,

[00:20:04] and it’s not unique to me at all.

[00:20:05] Yeah, there’s a bunch of stories there

[00:20:07] that I think aren’t worth going into.

[00:20:08] It’s just like, it’s fun.

[00:20:10] But I went to all these things,

[00:20:11] and people would just talk.

[00:20:13] They’re all a bunch of tech guys, right?

[00:20:14] And you’d be like, what are you working on?

[00:20:17] And there’s two things I realized.

[00:20:19] One is all these companies are cloud-first.

[00:20:21] They’re all just adopting AWS-first.

[00:20:23] There was no dedicated.

[00:20:26] So this was like in 2011, 2012 or so.

[00:20:29] They just like went and paid for cloud,

[00:20:31] which was brand new, right?

[00:20:32] The previous generation just had on-prem.

[00:20:35] I remember people had server rooms

[00:20:36] and server admins.

[00:20:38] They had roles for those, all that jazz.

[00:20:40] That was just gone, gone.

[00:20:42] That must have been a massive shift.

[00:20:44] I literally can’t think of one social event

[00:20:46] I went to where there was somebody

[00:20:47] that had dedicated servers.

[00:20:48] The only one is maybe Twitter.

[00:20:50] Yeah, but I think, you know,

[00:20:51] like we probably have to emphasize

[00:20:52] that this was a massive shift in the industry, right?

[00:20:55] And it probably was only happening in Silicon Valley.

[00:20:57] Probably.

[00:20:59] Yeah, probably.

[00:21:00] Well, I have it of everyone else.

[00:21:01] At a scale that was larger than anywhere else,

[00:21:03] it was probably in Silicon Valley.

[00:21:04] The joke used to be,

[00:21:05] because AWS was so unreliable,

[00:21:07] the joke used to be that when AWS went down,

[00:21:09] all these startups finally became more cashflow neutral.

[00:21:14] And they would lose less money.

[00:21:16] So there would be like a huge, you know,

[00:21:18] US East outage.

[00:21:19] And everyone would be like,

[00:21:21] are you going to migrate regions?

[00:21:22] Like, no, we’re saving money right now.

[00:21:25] But yeah, getting back to it.

[00:21:28] Everyone was cloud first, cloud born, cloud native,

[00:21:32] whatever you want to call it.

[00:21:33] And the other thing was,

[00:21:35] they were hitting all the same challenges

[00:21:36] that we were hitting.

[00:21:38] And they didn’t use our tools

[00:21:40] because they were just like internal prototype tools.

[00:21:42] But I knew that our tools felt good.

[00:21:45] So I had these two things come together

[00:21:46] where I had some ego, some hubris,

[00:21:48] where I’m like, I’m pretty sure

[00:21:49] we’re building the right thing,

[00:21:50] along with, you know,

[00:21:51] I think the industry is moving in that direction.

[00:21:53] And like, we could come together.

[00:21:55] And so that led to let’s start a company

[00:21:58] based around that.

[00:22:01] The fact that I had Vagrant

[00:22:02] was more of like a industry respect.

[00:22:07] I mean, Vagrant wasn’t that big then.

[00:22:08] So that’s not saying much.

[00:22:10] But it was, I just had some foundation publicly

[00:22:14] with to give some credibility

[00:22:16] to head in this direction.

[00:22:17] That was about it.

[00:22:18] And we started HushCorp.

[00:22:20] And then what,

[00:22:21] when you decided you incorporated,

[00:22:22] you know, got the thing,

[00:22:23] did you decide to raise money?

[00:22:24] Because again, back then,

[00:22:25] I guess it wasn’t as common wisdom,

[00:22:28] you know, why Combinator

[00:22:29] was probably starting around that time.

[00:22:30] So like startups,

[00:22:31] were startups a big thing

[00:22:32] or was it a given that,

[00:22:33] okay, if you start a startup,

[00:22:34] you’re going to raise money?

[00:22:35] In my social bubble,

[00:22:36] it was pretty much a given.

[00:22:38] And not just that,

[00:22:40] we incorporated,

[00:22:42] I self-funded,

[00:22:44] I transferred $20,000

[00:22:47] from my savings account

[00:22:48] into this corporate account,

[00:22:50] initial funding.

[00:22:51] And I worked off of that.

[00:22:52] I paid myself $0

[00:22:54] for the first six months.

[00:22:55] So the $20,000 was purely towards

[00:22:57] whatever things the company needed.

[00:22:59] That was the first six months.

[00:23:01] And then Armand joined after six months.

[00:23:03] And we decided to raise.

[00:23:06] And the motivation there really is,

[00:23:09] there weren’t many other options.

[00:23:11] There were basically three options

[00:23:13] as I saw it then,

[00:23:14] which was bootstrapping, right?

[00:23:16] Just like build something,

[00:23:19] make money.

[00:23:20] And as it becomes,

[00:23:21] as it becomes affordable,

[00:23:21] continue to grow,

[00:23:22] reinvest and grow bootstrapping.

[00:23:24] VC on the other side.

[00:23:25] And then in the middle was like

[00:23:26] what I called patronage,

[00:23:27] which was not,

[00:23:28] not like,

[00:23:29] not,

[00:23:29] not Patreon style stuff today.

[00:23:32] Like that infrastructure didn’t exist.

[00:23:33] There was no subscriber,

[00:23:35] donate type infrastructure then.

[00:23:38] Patronage was more like

[00:23:39] you might be able to convince a company

[00:23:41] like VMware

[00:23:42] to pay your salary

[00:23:44] for you to work on some idea.

[00:23:46] And the best example is Redis at VMware.

[00:23:48] And yeah,

[00:23:49] and we kind of laid out this plan

[00:23:50] that we wanted to do,

[00:23:52] which was,

[00:23:53] which at inception of the company

[00:23:54] included Terraform console.

[00:23:58] No,

[00:23:58] it included everything but Vault.

[00:24:00] Vault came a little bit later

[00:24:01] and we looked at that and said,

[00:24:03] if we bootstrap this,

[00:24:05] even if we hit it out of the park,

[00:24:07] this is going to take us like a decade

[00:24:09] just to like build the software.

[00:24:10] And that’s in the best case scenario.

[00:24:12] This is just gonna be slow.

[00:24:13] And,

[00:24:13] and the problem with slow

[00:24:14] is that things have a window

[00:24:15] and cloud is growing so fast

[00:24:17] that if we were that slow,

[00:24:18] someone else was going to do it

[00:24:20] their own way.

[00:24:22] I mean,

[00:24:22] that was,

[00:24:22] I guess that was the primary issue

[00:24:23] is we really just wanted to go fast.

[00:24:26] You knew you needed to.

[00:24:27] Yeah,

[00:24:27] I need to,

[00:24:28] we need to hire many engineers

[00:24:30] right away

[00:24:31] and start building right away.

[00:24:32] And so VC was the route we chose.

[00:24:35] Can you talk us through

[00:24:35] the first several products

[00:24:37] and what they do?

[00:24:38] You know,

[00:24:38] we know Vagrant,

[00:24:39] but just for those

[00:24:40] who are less aware of

[00:24:41] what became the Hashi stack later,

[00:24:43] right?

[00:24:44] Yeah.

[00:24:44] Let me see if I can still get these in order.

[00:24:45] I’m pretty sure I can.

[00:24:46] So this Vagrant was predated it.

[00:24:48] The first product that came out

[00:24:49] of HashiCorp itself was,

[00:24:50] a product called Packer.

[00:24:52] Kind of understated publicly,

[00:24:55] but kind of underpins

[00:24:57] a lot of things in the industry

[00:24:58] to this day.

[00:24:59] That’s an image building tool.

[00:25:02] So building Amazon images,

[00:25:03] VMware images,

[00:25:05] et cetera.

[00:25:07] I’m not even sure how much

[00:25:08] like publicly came out,

[00:25:09] but there are whole cloud,

[00:25:11] like multi billion dollar cloud platforms

[00:25:14] that all of their official images

[00:25:16] are like the service images

[00:25:17] are built with Packer.

[00:25:18] Everyone was trying to utilize

[00:25:20] this horizontal scaling,

[00:25:22] auto scaling nature of AWS.

[00:25:23] That was the dream.

[00:25:24] And if you were,

[00:25:26] it’s kind of like the,

[00:25:27] what is it?

[00:25:28] Cold star problem with serverless today.

[00:25:30] If you were waiting tens of minutes

[00:25:31] for your server to be ready,

[00:25:32] you couldn’t react.

[00:25:34] And so my idea was do that snapshot,

[00:25:38] the image,

[00:25:38] and then next time just spin up that image.

[00:25:40] And so that was Packer.

[00:25:41] That was Packer.

[00:25:42] So Vagrant Packer.

[00:25:43] The next one that came out was console.

[00:25:47] Console was solving the networking

[00:25:50] problem and not networking.

[00:25:51] It was more solving

[00:25:52] the service discovery problem,

[00:25:54] which was you have all these machines

[00:25:56] coming and going before,

[00:25:58] again, like to contextualize this,

[00:25:59] before you would have a static set

[00:26:00] of machines that had IPs

[00:26:01] and you would probably use DNS or something,

[00:26:03] but the IPs didn’t change that much.

[00:26:04] So you could be like,

[00:26:05] oh, my database is here

[00:26:07] and it’s not moving.

[00:26:07] But if you’re in this world

[00:26:08] where web servers and load balancers

[00:26:11] and databases are just breathing,

[00:26:12] they’re, you know,

[00:26:13] that’s how I always describe

[00:26:14] the breathing there.

[00:26:15] They’re creation, destruction,

[00:26:16] creation, destruction,

[00:26:17] like constantly.

[00:26:18] Then things are happening at a scale,

[00:26:20] where the service discovery

[00:26:21] needs to be much faster

[00:26:22] and not just faster,

[00:26:24] but you want to be,

[00:26:25] have better guarantees

[00:26:26] that when you get a response that,

[00:26:28] oh, it’s at this IP address.

[00:26:29] So that IP address is like ready.

[00:26:30] It’s not just, you know,

[00:26:32] I think this is also kind of

[00:26:33] more mainstream with like

[00:26:34] Kubernetes readiness checks

[00:26:35] and health checks

[00:26:36] and things like that.

[00:26:37] It was bringing that

[00:26:38] to more like physical server

[00:26:41] or cloud servers,

[00:26:42] virtual machines

[00:26:42] and things like that.

[00:26:43] And so that was console.

[00:26:44] Then after that,

[00:26:45] I think we did Terraform.

[00:26:47] Terraform spins up

[00:26:50] infrastructure’s code,

[00:26:51] describe your infrastructures.

[00:26:52] In AWS parlance,

[00:26:53] it was things like

[00:26:54] all the attachments

[00:26:56] to your machine,

[00:26:56] EBS volumes,

[00:26:57] gateways,

[00:26:58] VPCs, subnets,

[00:26:59] and like connecting

[00:27:00] them all together.

[00:27:01] Like the idea was

[00:27:02] I wanted to have an empty

[00:27:03] AWS account

[00:27:04] or any cloud account.

[00:27:05] And I wanted to have this text

[00:27:06] and I wanted to say,

[00:27:08] make this text reality.

[00:27:09] And that’s what Terraform is.

[00:27:10] And you would wait

[00:27:11] whatever amount of time

[00:27:13] it took AWS

[00:27:13] and you would blink

[00:27:14] and you would have

[00:27:15] thousands of resources.

[00:27:16] And then with one command again,

[00:27:18] you could just tear it down to zero.

[00:27:19] That was Terraform.

[00:27:20] So that came out in 2014.

[00:27:22] So that was the next thing.

[00:27:25] And then was Vault.

[00:27:27] Vault is the easiest

[00:27:29] to describe as secrets management.

[00:27:31] As core.

[00:27:32] Secrets management encryption

[00:27:33] grew to do a lot more things.

[00:27:35] So it’s like,

[00:27:36] well, we have like

[00:27:37] on your local developer machine,

[00:27:38] you have your environment variables

[00:27:40] and doing that at scale

[00:27:41] at a team level,

[00:27:42] at a company level,

[00:27:44] at a service that needs to access

[00:27:45] all these stuff securely.

[00:27:47] Yeah, it was much more focused

[00:27:48] on the like,

[00:27:49] the,

[00:27:50] the production environment secrets.

[00:27:53] I had dreams and visions

[00:27:55] of really solving

[00:27:55] like developer secret problem,

[00:27:57] but Vault really never,

[00:27:58] never did that well.

[00:27:59] Michelle just talked about

[00:28:00] secrets management,

[00:28:01] which turned out to be

[00:28:02] a pretty important focus here for him.

[00:28:04] In general,

[00:28:05] security is both very valuable,

[00:28:07] but also pretty hard to do well.

[00:28:08] This leads us nicely

[00:28:09] to our season sponsor,

[00:28:10] Sonar.

[00:28:11] Looking at where we are today,

[00:28:13] we’ve now moved past

[00:28:14] tap completion

[00:28:14] into the era of agentic AI.

[00:28:17] Autonomous agents

[00:28:17] are opening pull requests.

[00:28:19] One big question.

[00:28:20] How do we get the speed of AI

[00:28:22] without inheriting a mountain of risk?

[00:28:24] Sonar,

[00:28:24] the makers of Sonar Cube,

[00:28:26] has a really clear way of framing this

[00:28:28] vibe than verify.

[00:28:29] The vibe part is about innovation,

[00:28:32] giving your teams and your agents

[00:28:33] the freedom to build

[00:28:34] and iterate at high velocity.

[00:28:36] The verified part is the essential

[00:28:38] automated guardrail.

[00:28:39] As agents start contributing

[00:28:41] more of our code base,

[00:28:42] independent verification

[00:28:43] that checks every line,

[00:28:44] human or machine generated

[00:28:46] against your quality

[00:28:47] and security standards

[00:28:48] is more critical than ever before.

[00:28:50] Helping

[00:28:50] developers and organizational leaders

[00:28:52] get the most out of AI

[00:28:53] while ensuring quality,

[00:28:54] security and maintainability

[00:28:56] is one of the main themes

[00:28:57] of the upcoming Sonar Summit.

[00:28:58] This isn’t just a user conference.

[00:29:00] It’s where devs,

[00:29:01] platform engineers

[00:29:02] and engineering leaders

[00:29:02] are coming together

[00:29:03] to share practical strategies

[00:29:04] for this new era.

[00:29:05] I’m excited to share

[00:29:06] that I’ll be speaking there as well.

[00:29:08] If you’re trying to figure out

[00:29:09] how to adopt AI

[00:29:10] without sacrificing code quality,

[00:29:12] join us at the Sonar Summit.

[00:29:13] To see the agenda

[00:29:14] and register

[00:29:15] for the free virtual event

[00:29:16] on March the 3rd,

[00:29:17] head to sonarsource.com

[00:29:18] slash pragmatic

[00:29:19] slash

[00:29:20] Sonar Summit.

[00:29:21] And with this,

[00:29:22] let’s get back to HashiCorp

[00:29:23] and why the company decided

[00:29:25] to raise six months after founding.

[00:29:27] But yeah, it’s just basically like,

[00:29:29] yeah, where do you store your secrets?

[00:29:30] And the secrets were not just

[00:29:32] I forgot the words

[00:29:32] I used to describe this,

[00:29:33] but secrets were not just like passwords,

[00:29:35] but it was also like PII.

[00:29:36] So how do you protect emails

[00:29:38] and addresses and stuff

[00:29:39] for your customers?

[00:29:40] Or credit card numbers?

[00:29:41] Credit card numbers.

[00:29:42] So Vault was core to all of that

[00:29:45] and continues to be.

[00:29:46] That is a heart to build.

[00:29:48] Something like that.

[00:29:49] Yeah, we were really scared

[00:29:51] when we built that, actually,

[00:29:52] because we kind of hid the fact

[00:29:54] we never lied about it.

[00:29:56] But nobody on the team

[00:29:57] that built Vault

[00:29:58] had more than one quarter

[00:30:00] of security

[00:30:01] undergraduate security experience.

[00:30:02] There is no professional

[00:30:03] security engineers from industry.

[00:30:05] There is no professional

[00:30:06] security academics.

[00:30:07] And yeah, we built it.

[00:30:09] We got a lot of audits

[00:30:10] because of that.

[00:30:10] Like we were scared.

[00:30:11] So we did get a couple.

[00:30:13] We for us, it was very expensive.

[00:30:15] As a startup,

[00:30:15] we paid a couple of firms

[00:30:17] tens of thousands of dollars

[00:30:18] for Vault 0.1 to audit it.

[00:30:19] We paid two.

[00:30:21] We got we shared the early beta

[00:30:23] with a lot of people

[00:30:24] who were security experts

[00:30:25] in order to review it,

[00:30:27] not publicly, just privately.

[00:30:29] We got a lot of good feedback.

[00:30:31] But yeah, we

[00:30:32] we didn’t want that exposed

[00:30:33] in a sense.

[00:30:34] So I understand.

[00:30:35] But I mean, it kind of validates

[00:30:37] that you can build good stuff

[00:30:39] with, I guess,

[00:30:40] people who might not

[00:30:41] have the experience,

[00:30:42] but I guess people

[00:30:42] were learning, right?

[00:30:43] Like, yeah, the security stuff ended up,

[00:30:45] you know,

[00:30:45] we really quickly hired

[00:30:46] professionals

[00:30:47] that helped the product in.

[00:30:49] And the

[00:30:49] security stuff

[00:30:50] was always pretty solid.

[00:30:51] But but I think what it really showed

[00:30:53] was what the security industry needed

[00:30:55] was a shift in user experience

[00:30:57] more than a shift in like what it did,

[00:31:00] because like what we were doing

[00:31:01] was not fundamentally different than

[00:31:03] existing multi

[00:31:06] hundred million billion dollar

[00:31:07] companies that already existed.

[00:31:09] But the experience,

[00:31:10] the way you interface with it

[00:31:11] was dramatically different.

[00:31:13] And that was,

[00:31:14] I think, a good example that, yeah.

[00:31:16] An app for Vault came.

[00:31:18] Nomad. Nomad.

[00:31:19] Yeah. Nomad,

[00:31:20] which was our scheduler,

[00:31:22] which was a couple of years late

[00:31:25] for it to the market.

[00:31:26] Yeah.

[00:31:26] What was you say scheduler?

[00:31:28] What was it on an orchestrator?

[00:31:29] I always described it as scheduling.

[00:31:31] What did it do?

[00:31:32] Simple thing.

[00:31:32] You have a pool of compute.

[00:31:34] It’s finally solved that problem

[00:31:36] I had in undergraduate.

[00:31:37] You have a pool of compute.

[00:31:38] You have an app

[00:31:39] that has a certain set of requirements

[00:31:40] and it needs to find a place to run it.

[00:31:41] Yeah, yeah.

[00:31:42] The the underground home we talked about.

[00:31:44] And as you’re building out like these,

[00:31:46] you said, like some of these took years,

[00:31:47] like how this is going to work.

[00:31:49] Did the business

[00:31:50] like HashiCorp as a business work?

[00:31:52] Like, did you

[00:31:53] did you start to generate some?

[00:31:54] There was no business.

[00:31:55] There was no.

[00:31:56] So so like, all right,

[00:31:57] tell me about this one.

[00:31:58] Yeah, I think we waited

[00:31:59] too long to develop a business.

[00:32:01] But for four years, there was

[00:32:04] there was actually revenue

[00:32:05] from a couple of random sources,

[00:32:07] but there was no real

[00:32:08] reproducible growing business.

[00:32:10] So you were just building

[00:32:11] this vision of the, you know,

[00:32:13] you’re the founder’s vision of like,

[00:32:15] right, we need all these

[00:32:17] things that would have taken

[00:32:18] like a decade.

[00:32:19] Bootstrap, let’s build it,

[00:32:20] build it in five years

[00:32:21] and figure it out.

[00:32:22] That was literally it.

[00:32:23] Yeah, that’s literally it.

[00:32:24] And and, you know, it was

[00:32:25] it was all open source.

[00:32:26] And I always had this mentality,

[00:32:28] which was which was like,

[00:32:29] if the company fails, it doesn’t matter

[00:32:31] because if they’re good ideas,

[00:32:33] the open source community

[00:32:34] will just continue.

[00:32:36] And so I don’t think

[00:32:37] I would ever tell that

[00:32:38] to my investors at that time.

[00:32:39] But, you know, I had this idea

[00:32:40] which is like the technology

[00:32:41] was the most important thing

[00:32:42] to get out into the world.

[00:32:44] The business,

[00:32:45] I really sure hope

[00:32:47] we could figure it out,

[00:32:47] but it’s not the most

[00:32:49] important thing.

[00:32:50] And for those engineers

[00:32:52] who are thinking

[00:32:52] of becoming founders

[00:32:54] or, you know, might be founders,

[00:32:55] how did this work

[00:32:56] with your investors?

[00:32:57] You know, when they put in money,

[00:32:58] like that, they get some board

[00:33:00] fees that you have to manage,

[00:33:01] manage expectations

[00:33:02] because I kind of I’m hearing

[00:33:03] just putting a bit of my business

[00:33:04] hat on is like, you know,

[00:33:05] for four years

[00:33:06] you’re building these cool things.

[00:33:07] You don’t exactly

[00:33:08] have a business plan.

[00:33:09] How did that work?

[00:33:10] Or they just believe that eventually

[00:33:12] you guys will figure it out

[00:33:13] or they sell some kind of traction

[00:33:15] with like open source.

[00:33:16] It’s traction.

[00:33:17] And I don’t think what we did

[00:33:18] was a typical

[00:33:19] for Silicon Valley.

[00:33:20] So the really broad hand

[00:33:22] wavy way I like to describe it

[00:33:23] is, you know, your seed

[00:33:25] is about building the product.

[00:33:27] You don’t even know

[00:33:28] if there’s product market fit.

[00:33:29] You’re just guess not you’re

[00:33:30] you’re making educated guess,

[00:33:31] but you’re building something,

[00:33:32] getting the a you sort of proven

[00:33:34] hints of product market fit,

[00:33:36] but you definitely don’t have it yet.

[00:33:37] You’ve proven hints.

[00:33:38] And then when you get the B,

[00:33:40] you’ve proven product market fit.

[00:33:42] And now you haven’t really proven

[00:33:43] like repeatable revenue.

[00:33:45] You now have hints of revenue,

[00:33:47] but you know,

[00:33:48] the product is useful.

[00:33:49] You know, people like the product

[00:33:50] and want to use the product

[00:33:52] and maybe want to pay for the product,

[00:33:53] but you don’t know exactly

[00:33:54] how to get everybody

[00:33:55] to pay for the product.

[00:33:56] And then CD and so on

[00:33:57] is just continue to build

[00:33:59] the repeatable revenue machine.

[00:34:01] And so with that framework in mind,

[00:34:03] we were on the right track.

[00:34:04] It was basically like

[00:34:05] to build the product.

[00:34:07] We had clear product market fit by the a

[00:34:11] in terms of the open source, right?

[00:34:13] We had millions of downloads,

[00:34:15] a lot of stars on GitHub,

[00:34:16] all sorts of signals

[00:34:18] that showed that this was resonating.

[00:34:21] We had zero revenue.

[00:34:23] And so, you know,

[00:34:23] it was raised money

[00:34:25] and slowly, slowly

[00:34:26] get closer and closer

[00:34:27] to solving the business problem.

[00:34:29] And I think we’re just a year

[00:34:30] too late or like later

[00:34:32] than the average startup.

[00:34:33] But the general keyframes

[00:34:36] were the same

[00:34:37] just on the slightly wrong timeline,

[00:34:38] I guess.

[00:34:39] And then when you decided

[00:34:41] to do a business,

[00:34:42] this was you already had the Hashi stack

[00:34:44] and then you built managed offering.

[00:34:46] I remember.

[00:34:46] Yeah.

[00:34:47] Our first foray.

[00:34:48] And the commercialization

[00:34:49] was a total failure.

[00:34:51] It was this really.

[00:34:52] Yeah.

[00:34:53] We had this product

[00:34:54] that some people

[00:34:55] you had you would have to have been

[00:34:56] a diehard like HashiCorp

[00:34:58] product fan to know this.

[00:34:59] But we had this first product

[00:35:01] that was called Atlas.

[00:35:02] And the idea was

[00:35:04] commercially shipping

[00:35:05] the vision of running all the products.

[00:35:07] And so that, you know,

[00:35:08] there’s a couple of death knells there.

[00:35:10] One of them was that

[00:35:11] you had to run all the products.

[00:35:13] And so if you were just like a vault user,

[00:35:15] you had a really impossible time

[00:35:17] buying

[00:35:18] or buying into our commercial product.

[00:35:19] And the second was just that

[00:35:21] it was just a huge problem

[00:35:22] to like attach on to

[00:35:24] regardless of the option required.

[00:35:25] You’re trying to solve the problem

[00:35:28] that multiple different

[00:35:29] buying organizations in a company

[00:35:31] were fighting over.

[00:35:32] So like even the people

[00:35:33] who had adopted all our tools,

[00:35:35] we ran into the problem of who pays for it.

[00:35:36] It wasn’t the simplest

[00:35:37] engineering thing for it. Correct.

[00:35:39] I think one of the lessons

[00:35:40] that I would have, you know,

[00:35:41] I would have for engineers

[00:35:42] that become founders

[00:35:43] that don’t have a business background.

[00:35:44] And one of the tough lessons

[00:35:45] I had to learn is that companies

[00:35:46] want to pay for software,

[00:35:48] but they will fight over

[00:35:50] whose budget owns that.

[00:35:52] Budgets are important, right?

[00:35:54] So the budget has to exist.

[00:35:55] And if it looks like

[00:35:56] a networking problem,

[00:35:57] they’re going to say,

[00:35:58] oh, networking should pay for that.

[00:35:59] So I have more budget

[00:36:00] to buy my other toys that I want.

[00:36:02] Or I can hire more people.

[00:36:04] Yeah, it could get broken down

[00:36:06] into like vendor budgets.

[00:36:07] It could already be earmarked

[00:36:08] for external purchase.

[00:36:09] But yeah, so we have this product

[00:36:11] that was like the security

[00:36:12] before it is networking before it

[00:36:13] does infrastructure pay for it.

[00:36:15] Like this dev tooling pay for it.

[00:36:17] Like, where is this?

[00:36:17] Go and it’s just that Spider-Man mean

[00:36:19] where everyone’s

[00:36:20] pointing at each other.

[00:36:21] Ultimately, you don’t sell anything.

[00:36:22] And so that was a failure

[00:36:26] for that reason.

[00:36:26] So I don’t remember the total time

[00:36:29] we chased this down,

[00:36:30] but we had a board

[00:36:32] meeting for sure on a Friday.

[00:36:34] And board meetings

[00:36:35] were usually on Fridays.

[00:36:36] And and we had this board meeting.

[00:36:38] We’re based in the city of San Francisco.

[00:36:41] Board meetings were an hour south

[00:36:42] and in real Silicon Valley.

[00:36:45] And it didn’t go well.

[00:36:46] It wasn’t there was no

[00:36:47] no yelling.

[00:36:49] There was nobody saying

[00:36:51] you guys are messing up.

[00:36:53] There was nothing like that.

[00:36:54] It was just the way I describe it is

[00:36:56] when your parents aren’t happy with you,

[00:36:59] but they don’t have to say

[00:37:00] that they’re not happy with you, you know,

[00:37:01] but you know, they’re not happy with you.

[00:37:04] We had this board meeting.

[00:37:05] We drove home.

[00:37:07] Our mom and I complete

[00:37:08] drive home was silent and nor Friday.

[00:37:11] It’s Friday night.

[00:37:11] So usually what we do

[00:37:13] is we go straight to our mom lived in the city

[00:37:15] and I lived in L.A. already,

[00:37:16] but we’d go straight back

[00:37:17] to where our mom’s place

[00:37:19] and just like have a glass of wine, debrief,

[00:37:22] talk through things.

[00:37:23] And we didn’t talk in this car at home.

[00:37:25] Our mom drove straight to the office.

[00:37:28] I didn’t question that.

[00:37:29] We went into the office,

[00:37:32] sat at a table not much larger than this.

[00:37:34] The only difference is there would be a whiteboard here.

[00:37:36] I think one of us at that point said,

[00:37:40] well, that didn’t go well.

[00:37:42] We both knew it.

[00:37:43] We didn’t feel good.

[00:37:45] And

[00:37:46] the the sequence of events here is now very fuzzy.

[00:37:49] But at a certain point, we decided.

[00:37:53] Let’s play this experiment

[00:37:55] where if there was no sunk costs,

[00:37:57] if we were starting from scratch,

[00:37:58] what would we do differently today?

[00:38:00] We whiteboarded all this stuff out.

[00:38:01] What we whiteboarded out was per product enterprise products

[00:38:04] and doing vault first and all this stuff.

[00:38:07] We wrote it out, spent some amount of time there.

[00:38:10] It’s still Friday.

[00:38:11] It might be Saturday in terms of the time of day,

[00:38:13] but it’s still Friday.

[00:38:14] I think it was Armand who looked at the board.

[00:38:16] And goes, why don’t we just do that?

[00:38:19] Like, why not?

[00:38:20] Like and and and I was like, yeah, why not?

[00:38:23] So we decided over the course of that weekend.

[00:38:26] Just throw it all away.

[00:38:28] Just throw everything we were doing before away.

[00:38:30] We had two paying customers.

[00:38:31] We’re like, just breach contract.

[00:38:33] I don’t know, like, figure it out.

[00:38:34] Like, get out of it. We’re done.

[00:38:36] And we convened an all hands meeting on Monday.

[00:38:40] Probably only about 20, 30 people in the company that time.

[00:38:42] But we convened an all hands meeting over Zoom.

[00:38:45] And I think.

[00:38:46] And we might not have used Zoom then, but whatever video chat.

[00:38:48] And we said, OK, we’re switching directions.

[00:38:51] We are now enterprise as our customer, open core per product.

[00:38:56] We would have this open source and we would have a forked version

[00:38:59] internally that had closed source features.

[00:39:01] Yeah, it was a fork. But yeah, open core business model.

[00:39:05] Armand and I thought people would quit.

[00:39:08] Like, we thought we would lose like we’d have exact number.

[00:39:11] We thought it would shatter some level of confidence and like, wow, these guys.

[00:39:16] I have no idea what they’re doing.

[00:39:17] We didn’t have any idea what we’re doing.

[00:39:19] And, you know, open core even then had a bit of a like icky taste in people’s mouth.

[00:39:24] And so, like, we thought people would just like philosophically quit being like, no, I came here to work on open source.

[00:39:29] I’m not going to do open core enterprise was kind of just like a sooty, boring thing.

[00:39:33] There was like multiple facets of why people might quit.

[00:39:36] Nobody quit.

[00:39:37] The vibes in Slack were amazing.

[00:39:42] Super positive. Oh, yeah.

[00:39:44] What happened? You think like why?

[00:39:46] People? Yeah, we asked about it in one on ones and follow ups.

[00:39:48] We asked about it and it was really like everyone was kind of just like buzzing that we had a clear direction and a conviction.

[00:39:56] And, you know, there’s fear of the unknown.

[00:39:58] But but before there was this feeling of like, we’re just we’re just throwing darts at the wall and doing this thing.

[00:40:05] And we don’t know who exactly who our customer is.

[00:40:08] And there was all this uncertainty in a different way.

[00:40:10] And now it was like, we don’t know if this will work, but at least we’re just going to sprint towards this.

[00:40:15] Like, there’s these.

[00:40:16] It’s clear things, which is like definitely enterprise, definitely open core, definitely vault.

[00:40:19] Like all these things are set in stone that gave us a different set of certainty that suddenly the company was like, let’s go.

[00:40:26] So, yeah, nobody quit.

[00:40:27] It went super well.

[00:40:28] And we started.

[00:40:30] I don’t I don’t know the time of year, but it was like in the fall.

[00:40:33] We built Vault Enterprise by the new year within like the first quarter of of trying to do sales.

[00:40:39] We could just like tell that it was different.

[00:40:41] It wasn’t like obviously successful yet.

[00:40:43] But just the.

[00:40:45] Caliber of conversation.

[00:40:46] We’re having the the distance we’re getting in the buying process and the speed we’re doing it.

[00:40:52] It just felt different.

[00:40:53] And what was different of this approach?

[00:40:55] Yeah, I mean, part of it just comes down to like the classic startup, like listen to your customer.

[00:40:59] And we should have listened from the beginning because our potential customers were screaming at us to do what we ended up doing, which is we would give these pitches about adopt all the products and buy this.

[00:41:11] And there were so many meetings where someone would be like, OK, I’ll think about that.

[00:41:15] But.

[00:41:16] How do you replicate your secrets involved?

[00:41:18] You know, they were just like ask these questions where if you if I was just listening, I was so blinded.

[00:41:24] A lot of us are blinded, but I’m so blinded.

[00:41:25] If I was just listening, I’d be like, wait, a lot of people are asking about secrets replication.

[00:41:30] And that’s a at scale problem.

[00:41:33] Maybe we could close source that.

[00:41:36] Right.

[00:41:36] Like that’s what we ended up doing.

[00:41:38] That was our first feature was was secrets replication.

[00:41:41] Not even across data centers.

[00:41:42] The first feature was just like a cluster of vault.

[00:41:46] Servers in a single region.

[00:41:48] You would sell this more focused product.

[00:41:51] But now kind of the problem I talked about earlier, security was definitely the buyer.

[00:41:55] There was an obvious budget, obvious person you were talking to.

[00:41:58] There was a feature that it resonated with that scale.

[00:42:02] And so we were just having much higher quality meetings in terms of getting this done.

[00:42:08] Michelle just talked about how HashiCorp managed to build a product that enterprise customers cared about and wanted to buy because it resonated with their scale.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:15] Right.

[00:42:16] Right.

[00:42:22] Right.

[00:42:22] Right.

[00:42:22] That used to require years of internal work to build and is especially important at enterprise scale.

[00:42:27] Here’s what looks in practice.

[00:42:29] You ship a change behind the feature gate and rule that gradually, say, to 1% or 10% of users at first.

[00:42:35] You watch what happens.

[00:42:36] Not just did it crash, but what did it do to the metrics you care about?

[00:42:40] Conversion, retention, error rate, latency.

[00:42:43] If something is off, you turn it off quickly.

[00:42:45] If it’s trending the right way.

[00:42:45] the right way, you keep rolling it forward. And the key is that the measurement is part of the

[00:42:50] workflow. You’re not switching between three tools and trying to match up segments and dashboards

[00:42:55] after the fact. Feature flags, experiments, and analytics are in one place, using the same

[00:42:59] underlying user assignments and data. This is why teams at companies like Notion, Brex, and Atlassian

[00:43:04] use Statsig. Statsig has a generous free tier to get started, and pro pricing for teams starts at

[00:43:09] $150 per month. To learn more and get a 30-day enterprise trial, go to statsig.com slash pragmatic.

[00:43:15] And with this, let’s get back to the episode and what came after they built Vault.

[00:43:45] We need support. We need proof of concept to prove it works. We need some white papers in

[00:43:50] terms of like other customers, scale, blah, blah, blah. And yeah, that’s what we had to build up

[00:43:55] after that and get going. And then, so you started selling with Vault, and then you did it for the

[00:43:59] other products as well, right? Yeah, we did Terraform, and we did Console. We had it for all

[00:44:05] the products, but all this data is public. You could look at it in the, well, for a period of

[00:44:09] time it was public. You could look at it in the public reports of when HashiCorp was a public

[00:44:12] company. It really broke down to Vault and Terraform.

[00:44:15] One thing I remember is Terraform just became so, so, so popular across the industry. So like,

[00:44:22] you know, like there’s a Hashi stack, but I only layer that all the other parts existed because

[00:44:27] like Terraform just seemed to be everywhere. Why do you think that sudden popularity was?

[00:44:32] It’s so funny to hear that because I accept and know that now, and I feel the same way

[00:44:37] that you feel now that Terraform is this huge thing. But for the longest time,

[00:44:42] like we were the vagrant company. Like all the other tools were,

[00:44:45] like no one knew the other tools. And not only that, like Terraform, one of the things that kind

[00:44:50] of frustrates me, I haven’t heard it recently, but for a period of time, one of the things that

[00:44:54] frustrated me was like, oh, they only won because they were first to market. I hear that a lot. And

[00:44:58] we were like seventh to market. Okay. So like-

[00:45:03] To market in what category?

[00:45:04] In terms of that infrastructure as codes.

[00:45:07] So there were like other like players who-

[00:45:10] So many. Yeah. Yeah. And no one was a clear winner. It was a warring market, but like

[00:45:15] that first year, 2014, when we came out Terraform, I, you know, at that time, one of my marketing

[00:45:20] strategies was I was at every conference. I went, I traveled an obscene amount. I was speaking

[00:45:27] wherever I could, but even if I couldn’t speak, I was going just to talk to people. And there was

[00:45:33] actually a little anecdote here was when the COVID lockdowns happened in March, 2020, my wife and I

[00:45:38] had nothing to do at night. We didn’t have kids yet. And we opened up our calendars and we realized

[00:45:43] that it was the first year of the pandemic. And we were like, oh, we’re going to do this. We’re

[00:45:45] going to do this. We had been dating since 2012. And the first time in almost 10 years of our

[00:45:50] relationship that I will have been in the same place longer than eight days.

[00:45:56] No.

[00:45:56] For almost 10 years, nine years, for nine years straight, I had been somewhere different at least

[00:46:02] every eight days.

[00:46:02] That’s how much you traveled.

[00:46:04] That’s how much I traveled. Yeah. And I know there’s consultants that travel a lot more and

[00:46:07] stuff, but like I was traveling a lot. I was coding a lot. I was like doing all these things.

[00:46:11] You must have coded while you traveled as well.

[00:46:14] All the time. Yeah.

[00:46:15] The system. When I started traveling, in-flight Wi-Fi didn’t exist.

[00:46:17] Yeah. Yeah, exactly. Even now it’s kind of patchy.

[00:46:20] Yeah. So I wrote these scripts that I ended up iterating on, but mostly used,

[00:46:23] where I downloaded all the GitHub issues and I categorized them and I would just

[00:46:29] break it down into tasks that none took more than 10 to 15 minutes. And I just created this list.

[00:46:35] And when I was on the plane, I would just one by one bust them out. There’s no internet,

[00:46:40] just commit them locally. And then I would get back. And some people used to,

[00:46:45] I noticed this because I would land and you’d get this push and people would get these email

[00:46:48] notifications where like 30 issues were closed all at once. But I found the key was pre-planning

[00:46:54] what issues you were going to work on. I did that online on the ground and then breaking them down

[00:47:00] into 15 minute chunks because I found it was really hard to get into like multi-hour, even

[00:47:05] when I was traveling to like Japan or something, it’s really hard to get into like multi-hour

[00:47:08] flow on an airplane. So I was like, I’m only going to work on the stuff that isn’t like

[00:47:12] heavy design work. None of that. It’s just like,

[00:47:14] bug fixes, right? Like just cleaning stuff up. And so that was my process.

[00:47:19] In 2021, HashiCorp went public. What is it like to go public both in terms of preparing for it?

[00:47:25] How did it feel? What changed after?

[00:47:28] On the prep side, I don’t have the full answer because I also stepped down from the executive

[00:47:32] team about maybe six months before we went public. So I was part of some of the planning and obviously

[00:47:37] I was very aware that we were planning to go public. But like, for example, I wasn’t part of

[00:47:43] the roadshow or any of that. But yeah, you know, from my seat, the parts that I was part of,

[00:47:49] the parts that I had visibility onto, I mean, it’s, it takes over a year to do it. So there’s

[00:47:54] a lot of prep and there’s some funny things that you do. Like you do, you start running like a

[00:48:00] public company at least two quarters before you’re public. I don’t remember what the drop dead date

[00:48:06] is, but there’s a date where you could just like cancel going public. And it’s pretty close. Like

[00:48:10] it’s like very close to when you actually like,

[00:48:13] have that day. So you, you kind of run like a public company to the point where you do

[00:48:19] mock earnings calls. Like you actually with a conference room table, your investors are the

[00:48:27] public investors that aren’t in the room. They go somewhere else and they talk over the speaker

[00:48:31] phone and ask you the types of questions. Your CFO or VP of finance gives the full report of the

[00:48:38] quarter. They try to frame the types of questions again, you run it and you try to figure out like

[00:48:43] whether it’s running well enough, I guess. And that’s sort of what the prep feels like. And

[00:48:47] there’s an obscene amount of secrecy because, um, from a regulation standpoint, you can’t talk about

[00:48:53] any of this. And so, I mean, you could look back at even the dumb stuff, like hacker news comments.

[00:48:57] Like I just want radio. It’s the clearest signal that a company is going to go public. Cause I

[00:49:01] went radio silent on every topic because everything became questionable. I remember there was just a

[00:49:07] point. Cause I, I, there was a hacker news comment I gave like eight months before it went public.

[00:49:13] And our general counsel like in the middle of the night was like, you have to delete that. After he

[00:49:18] talked to me, I was like, I could see how that might affect things, but like, I didn’t realize

[00:49:22] the matter. And I ended up deleting it. And is this because you’re not supposed to give

[00:49:27] public information away or something like that? I don’t remember the exact regulation to be honest.

[00:49:32] Yeah. But there, there’s some regulation about like, uh, like not leaking information.

[00:49:38] It’s not really, I mean, it is, it’s all information, but it’s more about like,

[00:49:42] you can’t influence.

[00:49:43] The market, uh, in any way. And so, yeah. And, and you can’t make promises because if you say,

[00:49:49] oh, we’re going to go public, it might cause even private funding to froth up. Then it’s,

[00:49:54] it’s a form of fraud. Um, so yeah, basically like I just stopped talking about everything.

[00:50:00] I don’t know how seriously other people take it, but I took it to the point where

[00:50:04] I planned this trip to New York to go public and I invited my parents and I didn’t tell my parents

[00:50:11] why we were going to New York. And I just told them,

[00:50:13] and why are you in New York? It’s really, really important. It has to do with HashiCorp. And they

[00:50:17] were like, sure. And I said, I can’t tell you about it. And they’re such sure. And I told them

[00:50:23] maybe a month in advance, we had a dog and we had to get our dog sat by my aunt. And I just told

[00:50:29] them we’re going on a family vacation up to the point we left. So they like, I didn’t tell nobody

[00:50:33] except my parents knew basically, um, none of my friends, nothing, um, except the friends that

[00:50:39] worked at the company. Um, but yeah, it, it, that’s what it’s like leading up to New York.

[00:50:43] Yeah. I was at Uber when we went public. And previously I read that, uh, well, before going

[00:50:49] public, uh, HashiCorp VMware made an offer earlier. That was like in super early days.

[00:50:56] That was like two years into the company. We went public like 10 years in the company. So.

[00:50:59] Yeah. So, so like when, when they tried to, to, to buy you, like, what was it like? Did you almost

[00:51:02] sell at some point? Was there any point where, where you were close to potentially selling?

[00:51:06] It felt close. And, and, and I got a lot of accounts afterwards that it was very close.

[00:51:11] It came down to like one vote.

[00:51:13] On the VMware board was what I heard. About two years in the company, we were only three

[00:51:16] employees, me, including me and Armand. So we had one employee, I guess, is two founders and

[00:51:20] employees, three of us. We got approached by VMware. Um, you know, I didn’t know what this

[00:51:25] would be like. And it is not what it, what it isn’t is they don’t show up and say, we would

[00:51:31] like to buy you.

[00:51:32] And no, no, that would be too obvious.

[00:51:34] The way it happens is you get an email from some low level business development person

[00:51:39] that wants to just like talk vaguely.

[00:51:42] Yeah.

[00:51:43] Because they’re not interested in buying you. One of the jobs of BD people at large

[00:51:48] companies is just to have an understanding of the ecosystem. So it’s really just like,

[00:51:52] let’s have an understanding. They might have had an executive tell him or her to go talk

[00:51:57] to this company. There might already be an executive kind of poking around, but yeah,

[00:52:00] so it kind of starts out that way. It turns into, would you like to come by our offices

[00:52:05] and meet in person? Um, oh, our VP of engineering swung by. Let’s talk to him. Nice to meet

[00:52:11] you.

[00:52:12] Uh, then I think this is our actual timeline. And then I think, uh, there was a dinner where

[00:52:18] there was three VMware executives at the dinner. Um, at that point we thought they might be

[00:52:24] interested, but it was still so,

[00:52:26] Wow. So, so much dancing.

[00:52:28] Oh, this is not even, this is, this is months before there was even an offer. It was still

[00:52:32] so social. Like we drank, we talked about our hobbies and interests and very not about,

[00:52:39] I mean, very basic about like tech.

[00:52:42] It’s really more of a vibe. They’d go to dinner. Uh, and then it started to get more

[00:52:46] serious. We spent more time in Palo Alto, the VMware offices where we started talking

[00:52:50] about partnerships, about how, how can VMware help our products more? And it starts about

[00:52:56] partnerships and then it turns into like hypothetical. If you had the resources of

[00:53:00] VMware, what, what would you do? You know, we’re like six meetings in at this point.

[00:53:06] There’s no, no offer of anything. And then at a certain point, um, honestly we were getting

[00:53:11] tired of it.

[00:53:12] Cause nothing was happening.

[00:53:13] It sounds like you’re a startup and you’re going to all these meetings.

[00:53:15] Oh, and I don’t even live in the Bay area. So I was flying up all the time. It was a

[00:53:18] waste of time. And, um, and to a lot of founders, that is the warning I give them is M&A becomes

[00:53:24] a waste of time. So I have another, I’m an emergent acquisitions acquisitions becomes

[00:53:27] a waste of time. So I’ll tell you another anecdote after this, but, um, ultimately we

[00:53:32] kind of politely had the like, okay, let’s like shit or get off the pot kind of conversation.

[00:53:39] And they, uh, put an LOI in.

[00:53:42] Front of us, which is a, uh, letter of intent, letter of intent. The LOI was, it was one

[00:53:47] page. Um, you know, it was, it’s basically like a non like semi binding promise that

[00:53:53] we’re pursuing buying you. Uh, no number on there. It’s just like kind of, yeah, well

[00:54:00] verbally they’re not writing anything down. They’re not putting anything in email. None

[00:54:05] of that. It’s just verbal. And so at that point, verbally we had gotten a drop of $20

[00:54:10] million, which.

[00:54:11] It doesn’t sound that much.

[00:54:13] Well, yeah, but we’re 23 years old.

[00:54:16] Oh yeah. The three of you, 23 years old, 23 years old, me and Armand together own 70%

[00:54:21] of the company. Um, okay. Yeah. Yeah. It, you know, it, it sounds interesting to say

[00:54:28] the least, but I tell people, do you start, you start thinking about the things you will

[00:54:34] buy is you start, that’s the, that’s the, it’s a dangerous path. That’s the, that’s

[00:54:38] what happens.

[00:54:39] And we had.

[00:54:41] Advice from people who said it’s like phenomenally too low, like wildly too low. So go ask much

[00:54:48] higher. And we asked, I don’t remember anymore, but we asked for maybe like 40 or 50 or something.

[00:54:53] And they just said, yes. They said, okay. And then, you know, it’s like way too low.

[00:54:59] And, uh, and that was verbal too. So there was nothing binding about that. Yes. It was

[00:55:02] just, it was when, and it wasn’t like, yes, it was more like, okay, we’ll work on that,

[00:55:06] you know, but very positive.

[00:55:07] Yeah. A bit like in this indirect, it’s an indirect business sense. Yeah.

[00:55:11] Indirect. Yes. And it turned into come meet the CEO of VMware, you know, like clearly

[00:55:15] they’re interested because we’re like climbing still. Arman and I, we kind of started getting

[00:55:19] cold feet because it’s, it’s the way we described it is it’s a dream killing amount of money.

[00:55:26] It’s like you would take the money, but you’re too small to be important to the company like

[00:55:31] VMware. So they’re going to just.

[00:55:32] Because, because even though it’s like so much money.

[00:55:35] Personally, it’s so much money.

[00:55:36] But you know, that we, I’m where level, I guess you see the revenue there, all that you realize

[00:55:40] that for them.

[00:55:41] It’s not a big deal.

[00:55:42] It’s meaningless to them.

[00:55:43] Yeah.

[00:55:43] It’s meaningless.

[00:55:44] It’s crazy.

[00:55:44] That’s, that messes with your mind, you know?

[00:55:46] Yeah.

[00:55:46] Yeah.

[00:55:47] So it becomes this thing where it’s like, personally, your life could change.

[00:55:50] But this thing that we both were truly passionate about, like the thing I wanted to work on

[00:55:55] more than anything else would end in a sense, because, you know, I would probably get thrown

[00:56:00] into like working on ESX or something, you know, and.

[00:56:03] You would get a manager of VMware, not even the CEO.

[00:56:06] The executives make it sound like they’re going to do all this stuff with your products,

[00:56:09] but like, that’s just one executive in a company.

[00:56:11] It’s just a hog of corporate machinery.

[00:56:13] So we started getting cold feet being like, if they’re interested, maybe we’re onto something.

[00:56:18] If we’re onto something, do we want to sell out early and sell out in a way where our

[00:56:23] dream dies?

[00:56:24] That’s why I was like a dream killer.

[00:56:25] Arman very maturely.

[00:56:27] And he’s two years younger than me.

[00:56:28] So he’s 21 at this time.

[00:56:29] No, he sounds like the older one.

[00:56:31] Yeah.

[00:56:31] Yeah.

[00:56:31] Yeah.

[00:56:31] Yeah.

[00:56:32] Yeah.

[00:56:32] He’s very mature.

[00:56:33] And Arman very maturely came up with the, I forgot where it comes from, but the, the

[00:56:39] risk minimization, not risk.

[00:56:40] The.

[00:56:41] Um, regret, mitigate minimization framework.

[00:56:43] He was like, what personally on your own go think, and I’ll do the same.

[00:56:48] And let’s come up with a number that if we walked in the next day and they said, we’re

[00:56:54] killing everything, you’re going to go work on ESX for the next four years.

[00:56:57] Cause we had a, we were going to have a lockup no matter what you’re going to work next four

[00:57:00] years that we would be like, cool, this was worth it.

[00:57:03] Like what’s the minimum, no regret or minimum regret.

[00:57:07] We came back and I don’t remember what exactly our numbers were, but they were pretty close

[00:57:09] and we ended up at a hundred.

[00:57:11] And we, and so we’re like, it felt so wrong.

[00:57:14] Like how could we possibly ask for a hundred, but we’re like, we said, this is what we’re

[00:57:17] going to do.

[00:57:17] And we stuck to it.

[00:57:18] So we went back, we asked for a hundred and it wasn’t a no.

[00:57:23] And they, they wasn’t a yes.

[00:57:24] This one had a lot more hesitance.

[00:57:26] It was a lot more like, oh, we’ll get back to you.

[00:57:29] Right.

[00:57:30] Like, I don’t know, but it wasn’t a no.

[00:57:33] And basically they came back to us and said, this requires board approval.

[00:57:39] So we’re convening a board meeting next week.

[00:57:41] Like unplanned.

[00:57:42] That’s not when they’re boarding.

[00:57:43] We’re like, we’re convening the VMware board.

[00:57:45] We’re going to vote on this.

[00:57:46] And then we heard that the vote didn’t pass.

[00:57:49] That was that.

[00:57:49] It’s just crazy how so such small things could, you know, like influence.

[00:57:55] If that was an extra yes, who knows what your story would have been.

[00:57:59] The one person.

[00:58:00] You might’ve, you know, like it’s hard to, but you know, in VMware, you might’ve been

[00:58:04] clogging away on like this project.

[00:58:06] Yeah, yeah, yeah.

[00:58:06] I mean, we didn’t build Terraform yet.

[00:58:08] So Terraform might have not been.

[00:58:10] Probably never would have been.

[00:58:11] High confidence.

[00:58:12] I know who the vote was.

[00:58:13] I know why they voted that way.

[00:58:15] Like, I know a lot more details, but it’s like, I, it’s, it worked out obviously in

[00:58:18] my favor, but yeah.

[00:58:19] So you’ve, you’ve left HashiCorp and you’re, you’re independent.

[00:58:23] And one thing about cool about being independent is you’re just very honest about stuff.

[00:58:27] And there was this really interesting thread where on, on Twitter, you wrote about, you

[00:58:32] said like, ask me anything about the big cloud providers, because at HashiCorp, you’ve worked

[00:58:36] with all of them.

[00:58:36] What was your experience back then of, you know, like Azure?

[00:58:41] Azure, AWS, Google cloud, like, like your kind of honest view of how they work back

[00:58:46] then and possibly like, how has your views changed on them?

[00:58:49] The precursor to that is while I was at HashiCorp, I always had to be very careful about what

[00:58:53] I said about any of the cloud fighters, because we’re partners with all of them.

[00:58:57] We’re partners and I didn’t want to insult anyone.

[00:58:59] And, and so I was just very professional about all their relationships.

[00:59:03] And then like, we like all of them, like, yeah, or just say nothing or just say nothing

[00:59:07] nice to say, don’t say anything at all.

[00:59:08] And then I left and I was still, I kept that up because it was too close.

[00:59:11] I was still flying too close to the sun, as they say.

[00:59:14] And they didn’t have time to ask for, I was like, ah, like, my opinion doesn’t really

[00:59:18] matter.

[00:59:19] And yeah, so my, to answer your question, my broad view of all of them was that AWS

[00:59:26] was really arrogant, annoyingly arrogant was how I describe it.

[00:59:31] And then when you say arrogant, like, can you help us understand like, how you work

[00:59:36] with them or what part of them or like, is it just general?

[00:59:38] Yeah, I’ll start disclaiming this, though.

[00:59:41] That, you know, we worked with so many people there that there were individuals and all

[00:59:46] of them who are awesome and nice and kind.

[00:59:48] And so I’m not trying to make like individual judgments here.

[00:59:50] It was just more of like, how all of it came together and how it felt as a whole.

[00:59:54] So by arrogant, I mean, it always felt like they were doing us a favor at every turn in

[00:59:59] terms of partnerships, in terms of just getting a meeting with them.

[01:00:03] It always felt like you should be thankful that we’re spending time talking to you.

[01:00:07] And not just that, but also like, there was always this subtle vibe.

[01:00:11] Of like, we will just spin up a product and kill your company.

[01:00:15] You know, it felt that no one ever said that.

[01:00:17] Well, it kind of got to a point where it was sort of like, if we don’t come to terms, we’re

[01:00:21] going to build this service.

[01:00:22] It did kind of come to that.

[01:00:24] But, you know, we did see that later on with Elastic and.

[01:00:27] Oh, that had already happened.

[01:00:29] Oh, it happened already.

[01:00:30] Yeah, just not with us, but with other companies.

[01:00:32] With OpenSearch.

[01:00:33] Yeah.

[01:00:33] And they always publicly spun it as like, oh, it’s so great and builds the ecosystem

[01:00:39] larger.

[01:00:40] And we’re doing it by the law.

[01:00:41] Yeah.

[01:00:41] The letter of the license and, you know, all has truth elements to it, but it’s still

[01:00:45] not a nice thing.

[01:00:46] No, I think like, I don’t think people paying attention to open source appreciated what

[01:00:51] Amazon did with, with a lot.

[01:00:54] It really hurt Elastic’s business and it showed how open source can be weaponized against

[01:00:58] a company that spends, you know, their blood, sweat and tears.

[01:01:01] And I guess, you know, HashiCorp, you had the same thing, right?

[01:01:03] Because, because you were publishing permissive.

[01:01:05] Well, I mean, open source needs to be permissive.

[01:01:07] It was MIT or MPL license.

[01:01:08] Yeah.

[01:01:09] So like Amazon could have spun up any.

[01:01:11] Anything they wanted.

[01:01:12] Yeah.

[01:01:12] There was like a two year period where I think for the entire two years, the entire leadership

[01:01:18] team was terrified that at any moment there would be like a vault service or something

[01:01:24] would pop up.

[01:01:26] And so, yeah, that’s, that’s sort of my characterization of AWS.

[01:01:30] It really took like, for example, teeth ringing to get them to help with the AWS Terraform

[01:01:35] provider.

[01:01:36] We had, I don’t remember the exact number, but we had something like five full time

[01:01:41] engineers employed working on only the AWS provider for Terraform, which, you know, maths

[01:01:47] out full benefits and everything to like a million dollars a year.

[01:01:50] And all of that was pure open source, pure integration with a commercial entity.

[01:01:56] And they were not helping us at all.

[01:01:59] And, and they were the last of any of the cloud providers that provide any sort of help

[01:02:03] there.

[01:02:03] And it, it came down to some drama where we went to a meeting and basically said that

[01:02:10] we’re going to.

[01:02:11] We’re going to publicly say that the AWS provider is deprecated and we’re done.

[01:02:16] Like the community could pick it up or whatever, but we’re not, we’re going to.

[01:02:19] Yeah.

[01:02:19] Cause you didn’t get any help from them.

[01:02:20] Yeah.

[01:02:21] And it’s taking up too much work and there’s too many bugs and you’re shipping.

[01:02:23] Honestly, AWS is shipping features too fast and like, it’s just like not worth it.

[01:02:26] And that freaked them out.

[01:02:27] And finally they started helping, you know, they might recount their side of things differently,

[01:02:32] but that’s pretty much, it felt like no movement for years.

[01:02:35] And we said that and movement started happening really fast.

[01:02:38] So yeah, there was that.

[01:02:40] Microsoft.

[01:02:41] I would, I have the most positive view on Microsoft.

[01:02:44] They had a really hairy technical product is how I describe it.

[01:02:47] It was very difficult to use.

[01:02:48] Azure.

[01:02:49] Azure.

[01:02:50] And a lot of nouns like, like principles.

[01:02:54] And I didn’t, I still, to this day, and I’ve integrated with the service, don’t fully

[01:02:58] understand the IAM hierarchy of Azure.

[01:03:04] I just kind of bolted it and got it working with a team and that was that.

[01:03:07] But the technically kind of, but from the,

[01:03:11] from the business side, super competent professionals and team players was like how I describe it.

[01:03:17] They, we, we went into every meeting with them and a lot of our meetings, the first

[01:03:21] question was, how do we both win?

[01:03:24] That was like the first question.

[01:03:25] And yeah, very pleasant.

[01:03:27] Awesome.

[01:03:27] They were the first people to jump on board supporting Terraform.

[01:03:31] Sure.

[01:03:32] That’s some kind of bias, but like they were consistent throughout the years.

[01:03:34] So positive on Microsoft and Google cloud, you know, my, my, yeah, Google cloud in general,

[01:03:42] it was always like the best technology, the most incredible technology and architectural

[01:03:48] thinking.

[01:03:49] And I swear, none of them, it felt like none of them cared or thought about the business

[01:03:56] at all.

[01:03:56] It was like every partnership meeting we’d spend hours talking about the coolest edge

[01:04:03] cases and scalability.

[01:04:04] And how this is going to work.

[01:04:06] And like, I think the, the best public example that you could just see in history was they

[01:04:11] were the only company that when they partnered with us to write the provider, they spent

[01:04:15] a lot of time building this very good, I think they called it magic something.

[01:04:19] They, they, they fully automated the whole thing.

[01:04:21] So when they shipped the new Google cloud thing, it had a Terraform provider resource

[01:04:25] right away and not just like, it didn’t feel automated.

[01:04:28] It felt very ergonomic and like, it was good.

[01:04:31] It was really good.

[01:04:32] And so they, they had that.

[01:04:34] But whenever we would get into, how do we do co-sale?

[01:04:38] How do we like attribute your sales engineers quota to selling like infrastructure that’s

[01:04:45] spun up by Terraform?

[01:04:46] Like how do, like, how do we do this?

[01:04:48] So like the business side of things?

[01:04:49] Crickets.

[01:04:50] Like impossible to get anyone, not just impossible.

[01:04:53] It was like, even if you got someone, they would say something for 20 minutes and be

[01:04:57] like, okay, cool.

[01:04:58] We have two more hours.

[01:04:59] Let’s figure this other thing out.

[01:05:01] And yeah, it was, it, that’s what it felt like.

[01:05:03] So, uh, and then the other.

[01:05:04] Disclaimer I give is all this knowledge was circa, I don’t know, 2019, something like

[01:05:09] that.

[01:05:09] So maybe in the past seven years, things have dramatically changed, but that’s what it felt

[01:05:13] like.

[01:05:14] Going to, to open source, you’re, you’re actively involved in, in open source and open

[01:05:19] source today.

[01:05:20] And it seems open source is changing a lot, especially with, with, with AI and, and, you

[01:05:26] know, you’re seeing stuff at Ghosty.

[01:05:27] Like, can, can you tell us like how your open source has, has changed with Ghosty, with

[01:05:32] the AI contributions?

[01:05:33] And, and what, what are you seeing?

[01:05:34] What are you seeing with, with open source maintainers?

[01:05:35] Seems like there’s a bit of a, you know, like drama or worrying stuff happening.

[01:05:39] Well, I would say more broadly, the issue facing open source today, um, is, I mean,

[01:05:46] there’s, there’s multiple, but the one that I feel is most prevalent across industries

[01:05:50] right now is AI contributions and the specifically the ratio, the signal to noise ratio being

[01:06:00] incredibly low.

[01:06:01] Or in other words, just being super noisy.

[01:06:04] Low quality contributions.

[01:06:05] It’s just stressing the system quite considerably.

[01:06:07] And yeah.

[01:06:08] And, and so after you left, left HashiCorp, you, you started Ghosty, uh, how many years

[01:06:14] ago was that?

[01:06:15] Was that like two years or so?

[01:06:17] Well, I left HashiCorp over two years ago or a little over two years ago.

[01:06:20] I had like poked around with prototypes of Ghosty, like maybe three years ago.

[01:06:24] But after I left HashiCorp, I started just like kind of working on it like 20 hours,

[01:06:28] like much more, um, just because it was the thing that I had.

[01:06:32] What drew you to Ghosty?

[01:06:34] What drew you to Ghosty?

[01:06:34] What was your kind of vision and why you started working on it?

[01:06:36] It’s a, it’s a, it’s a better terminal, right?

[01:06:39] It’s a terminal.

[01:06:40] Better is subjective.

[01:06:42] Well, I, I instilled it cause I, I like it better, but yes, a terminal and opinionated

[01:06:47] terminal, right?

[01:06:48] Opinionated, um, very modern in terms of like supporting as many of the newer specs as possible

[01:06:53] that enable functionality like displaying images or, um, you know, clicking on your

[01:06:59] prompt to move the cursor and, but like dozens more examples like that.

[01:07:03] The original thing that drew me to it is, is the exact opposite of good advice that people

[01:07:09] usually give to people, which is that you find the problem and you build a solution.

[01:07:14] And what I did, and you pick the best technology that then solve that.

[01:07:17] What I did was I found a set of technologies and I was like, what can I build with these

[01:07:21] technologies?

[01:07:22] I went the opposite direction and I had spent over 10 years, 12 years at HashiCorp incorporated

[01:07:28] and three years prior to that doing infrastructure open source.

[01:07:31] So 15 years in total.

[01:07:33] So just thinking almost all the time about infrastructure and cloud services and things

[01:07:37] like that.

[01:07:38] And so I had felt that I was rusty.

[01:07:40] I had sort of like my skills have had weakened on desktop software systems programming to

[01:07:46] a certain extent because I was so constrained by networking challenges distributed systems.

[01:07:50] So like low level systems programming had, had, had atrophied.

[01:07:54] Um, I had never really worked with GPUs and GPUs, I guess crypto was happening, but I

[01:07:59] kind of ignored that whole trend.

[01:08:00] Um, uh, but this is pre AI.

[01:08:02] So.

[01:08:03] Um, but GPUs were obviously in use and I, I just felt like I had no idea how they worked.

[01:08:07] So I want to go to desktop.

[01:08:08] So I picked all these like different technologies and I said, okay, Zig, cause it looked cool

[01:08:13] to me.

[01:08:14] I just wanted to try it.

[01:08:15] Can, for those of us, I’m, I’m not into Zig.

[01:08:18] I heard good things about it.

[01:08:19] Can you explain why Zig is so interesting, innovative and why does it grab so many, so

[01:08:24] many devs attention?

[01:08:26] I don’t know why it grabs other people’s attention, but for me it was, it just felt like the,

[01:08:30] the best, better C that I saw.

[01:08:33] I, I just wanted to be the best person possible out there.

[01:08:36] And I am someone that’s coming from the position where I actually enjoyed writing C.

[01:08:40] So a better C sounds great to me.

[01:08:44] To me, it’s, it’s not very annoying in terms of like, if I want to blow my own foot off,

[01:08:48] please let me blow my own foot off.

[01:08:49] You know, a bunch of qualities came together where I thought on the surface, it looked

[01:08:53] cool, but it’s very hard to judge a programming language on the surface.

[01:08:55] So I wanted to build something with it.

[01:08:57] And so, yeah, I picked Zig GPUs, desktop software.

[01:09:01] What could I build?

[01:09:02] Uh, for, for all my time at HashiCorp.

[01:09:02] Um, I built CLIs.

[01:09:03] And I was like, well, I live in a terminal, like, what does it take? I don’t I live in a terminal. And yet I understand very little about terminal. So why don’t I just like build a toy project that’s a terminal? That’s how it started. And as as with a lot of stuff, I find that once you dig beneath the layer of taking something for granted, you realize that everything is way more nuanced and complicated than you imagined it to be.

[01:09:25] And terminals were the same way as once I dug beneath the surface, I realized how much they were doing, how brittle some things were, how much better certain things could be. And I, I, I got sucked into being like, I want to do this better.

[01:09:40] So okay, for like someone who’s a dev, you know, I use terminals as well. I’m gonna ask the stupid question, how hard could it be? What does a terminal actually do? And then can you maybe tell us like, how ghosty is, is structured? Or like, what are the things that it needs to do?

[01:09:55] Just give a little empathy of like, yeah, all the work that you’re doing? Yeah, yeah, yeah, I actually get that a lot. I get that question a lot. So it’s definitely not a dumb question. It’s really like, it gets asked less now. But a lot of people were like, I thought they were done is usually the most feedback, I guess, like, what is there to do in a terminal? So at a basic level, they don’t do a lot. The problem is that the functionality has grown significantly of what terminal developers want to do. But let me let me just give what they do. It’s kind of like an application development platform, right? It’s like a, it’s not an operating system, you’re

[01:10:25] not dealing with like hardware level problems. But it is like, an application sandbox on top of that, and that other applications run within it and need to render text, they need to render colors and images and widgets and mouse events and all this stuff. Like you’re the best description is it’s like, it’s like a browser, but for text content. And so all of the complexities that a browser has a terminal has similar ones, a smaller scale, but similar ones. And if you try to extend what a terminal is capable of,

[01:10:55] then it, it gets, you know, you start bringing in more and more problems. Like as soon as you brought images into a terminal, you’ve introduced like a whole new ecosystem of problems. But the tongue in cheek answer I like to give to ghosties complexity is that it’s 30% of terminal and 70% of font renderer. And yeah, that’s what it feels like. It’s really like a problem of, you know, that terminal screen, you see, whether it’s GPU or CPU rendered, that terminal screen, you see, it’s like, you’re drawing on a canvas. So you are building

[01:11:25] a renderer for text in there, everything kind of bubbles from there. So from a rough architecture

[01:11:30] standpoint of ghosty, I like bringing it down to the threads, because it goes is multi threaded,

[01:11:35] not most terminals are not. But I’m not saying that as a positive point, just a good way to

[01:11:39] describe the architecture, we have a central UI thread, which just draws the windows and stuff.

[01:11:44] That’s pretty standard desktop software. And then we have an IO thread, which runs the actual shell

[01:11:48] that you’re seeing. So any bytes that we send, or it sends back to us, it’s processed by the IO

[01:11:54] thread. And then we have a renderer thread, which is actually drawing it. So it’s, it’s the best way

[01:12:00] to think of it as it’s on a V sync clock through 3060 120 frames per second, is it’s just sampling

[01:12:05] what the terminal state is, and then drawing it. And the renderer itself uses a font subsystem on

[01:12:11] the same thread. But we have to take the fact that this grid has this character, at these sets of

[01:12:17] characters and map them into fonts and do that all on our own. A lot of people think, oh, doesn’t

[01:12:21] the operating system solve that for you, but they don’t, unless you’re much higher level, like, you

[01:12:27] know, you can’t just draw easily, you know, monospace text in that way, you have to really put pieces

[01:12:33] together. That’s the big picture. It’s quite simple at that level. And then just, you know, extend all

[01:12:38] the functionality that terminals have into that. So you’re kind of like building a, like a 2d

[01:12:43] graphics engine a little bit that has like very focused on fonts. Yeah, yeah, it’s, it’s, it’s a

[01:12:49] from a renderer side, it’s very simple.

[01:12:51] The render is actually not that complicated. And, and I won’t overcomplicate the hardest part is

[01:12:55] actually maintaining the terminal state. So the way terminals work is they’re, they’re a grid of

[01:13:00] monospace cells. So you’ll have like 80 by 2480 columns, 24 rows. And there’s commands that the

[01:13:07] program could send to move the cursor or say, if I like to say, think of it like a paintbrush, I

[01:13:11] could say, make the paintbrush red and bold, and everything after that is red and bold. And now

[01:13:16] change it. And you’re just maintaining the state and drawing around. And then there’s all the scroll

[01:13:20] back, right? People are used to in terminals.

[01:13:21] And that’s where the challenge is, is doing that in a fast performant way. And that’s what I try to

[01:13:27] do. Go see, I mean, I, I show this, there’s so many benchmarks we run. But one of the most obvious

[01:13:33] ones that shows the speed, which also gets a lot of criticism, is just catting a lot reading a large

[01:13:39] file. If you just like, dump a bunch of text, how fast can I get through it, and you’ll see a stark

[01:13:44] difference between modern terminals. I’m not just gonna say ghosty here. Like if you take ghosty

[01:13:48] kitty, alacrity,

[01:13:51] any of these newer terminals, they’re all going to do great compared to terminal app on Mac OS,

[01:13:58] or traditional, like Linux terminals, the criticism is, why does that matter? And you know,

[01:14:04] the easy answer is when you, when you accidentally cut a file, like a lot of people will force close.

[01:14:10] The creator of Redis posted a great comment for me a great credit comment on hacker news about why

[01:14:15] he loves ghosty, which is that he previously previously used to tail production Redis logs,

[01:14:20] and you know, just spews logs.

[01:14:21] And he used to have to send them to an intermediary file, and then read them out later. So he could render it. So he could render it and actually work with it. And he doesn’t have to do that anymore. Because ghosty is fast enough that he could just let it dump while he’s going through it, parsing it like like mentally parsing and things like that. And that just saves him time. And yeah, so there’s something to be said, at some point, we should probably talk more about the fact that a lot of software these days does not care about performance. I think it’s refreshing to actually have a software that can do that. And I think it’s refreshing to actually have a software that can do that. And I think it’s refreshing to actually have a software that can do that. And I think it’s refreshing to actually have a software that can do that. And I think it’s refreshing to actually have a software that can do that. And I think it’s refreshing to actually have a software that can do that. And I

[01:14:51] have examples and i i hope we will at some point maybe get back to it you know we’ll talk about a

[01:14:56] it might not help but there’s a level of craftsmanship right just like not wasting

[01:15:00] resources or being efficient or i i think we all like i see in my day-to-day life like

[01:15:05] we have more powerful resources laptops phones and they’re not getting any faster and it’s just

[01:15:11] frustrating at times it’s kind of like the love of the game i mean a lot of a lot of ghost is just

[01:15:16] the love of the game um like like i like to say like our renderer because because like i

[01:15:21] just explained before like it’s not complicated i’m not i’m not ever going to say that ghosty is

[01:15:26] like a 2d game because a 2d game from a rendering standpoint is much more complicated but i do care

[01:15:33] a lot about the render and we got our renderer down to for a full screen on on my mac set of

[01:15:39] grids each frame updates and roughly i don’t know it’s like it’s something like nine

[01:15:46] nine

[01:15:46] microseconds or something um that doesn’t include the draw time that’s just like taking the state

[01:15:51] and submitting work to the gpu it’s about nine microseconds and the gpu takes some time 120

[01:15:56] hertz 120 frame per second frame is 8333 microseconds so if you have nine you know

[01:16:03] again we don’t have the number of how long the gpu takes but it’s super it doesn’t take much

[01:16:08] time at all you’re leaving a lot of options and work for what i’m saying is like we could have

[01:16:13] made it two thousand microseconds and it wouldn’t matter

[01:16:16] it like you would you would still get that performance but but that’s not fun like i want

[01:16:21] to make it sub 10 i i i like it the fun yeah so we spent a lot of time just like it was a big i i

[01:16:27] blogged about it it was this thing where we got it down from it used to be about 800 microseconds

[01:16:31] and got it down to like nine and uh i thought that was awesome even though for end users

[01:16:36] it doesn’t make a difference but as you say the the craft and the love of the game

[01:16:40] so when you started out building go see that that was around the time where i think chat gpt was out

[01:16:46] there was a lot of stuff that was going on and i was like oh my god i’m gonna do this and i’m gonna

[01:16:46] how did your tool set change in terms of how you’re developing day-to-day there’s two sides

[01:16:50] to that so one ai gave a huge boost to terminals which is a funny thing like a like oh how so

[01:16:57] the number because of clod code and all these things the amount of time spent in a terminal

[01:17:02] has gone up which if you told me in 2023 terminal usage would go up i would say no it’s not gonna

[01:17:07] go up um i i had no disillusions that i was gonna like save terminals and i didn’t right like ai

[01:17:13] came out and came out all these cli tools

[01:17:16] and and even when you’re seeing like codex apps and clod apps like it’s leaving the terminal

[01:17:23] they’re still executing so many things in a pseudo terminal the number of terminals out there

[01:17:30] has is massively larger than there was in 2023 which is hilarious oh wow yeah so random

[01:17:38] super random and so that’s part of why uh one of the things i’m doing with ghosty is extracting

[01:17:43] it’s actually extracted already what i’ve called lib ghosty which is

[01:17:46] everyone reinvents this very small surface area of a terminal and because they do it it breaks

[01:17:51] like all sorts of things break like if you run a docker build or push to a platform like heroku

[01:17:57] and you do enough weird things in the terminal that aren’t actually that weird just like draw

[01:18:00] progress bar it renders it like chaos all over the place all over the place yeah um and it’s just

[01:18:05] because they’ve poorly implemented a tiny subset of a terminal because they’re more complicated than

[01:18:09] people think and so lib ghosty is this minimal zero dependency library that people can embed

[01:18:14] terminals anywhere oh cool and yeah yeah and so that’s part of why i’m doing this because i’m

[01:18:16] mit licensed and just it’s really like i’m tired of seeing broken terminals everywhere so please

[01:18:21] use this um okay that’s the one angle really funny but the other angle is actually ai usage

[01:18:26] it’s hard to say i’m a i’m a big fan but you know within the right categories of things like i think

[01:18:31] that it’s a revolutionary tool and i get a lot of joy using it yeah i use it every day um i use

[01:18:38] tools like clod code and amp and codex and and the chat tools like every day for some aspect of my

[01:18:46] life so i use it every day for some aspect of my life so i use it every day for some aspect of my

[01:18:51] life right i think that’s the most important thing is that i always felt limited in terms of

[01:18:54] oh i’m gonna have to spend the next two hours i don’t know doing this boilerplate annoying stuff

[01:19:00] and that i don’t want to learn about but now i don’t have to learn about it which is yeah i’m not

[01:19:07] i’m not like getting skill formation in that category but i could now spend those two hours

[01:19:12] doing something else and that’s the best to me in your workflow

[01:19:16] do you just use a single agent do you use multiple agents have you have you experimented with them

[01:19:20] i’ve tried a bit of everything i would say my standard workflow what i try to do is i try i

[01:19:26] endeavor to always have an agent doing something at all times maybe not when i sleep i don’t go

[01:19:32] that far a lot of people do go that far i don’t go that far um but while i’m working i basically say

[01:19:37] i want an agent if i’m coding i want an agent planning if i if if they’re coding i want to be

[01:19:43] reviewing or you know that there should be a way to do that i don’t want to be doing that

[01:19:46] always be an agent doing something so you have a separate tab yeah separate tab and and sometimes

[01:19:52] it’s multiple i don’t there’s a lot of work that i do around cleaning up what agents do and i don’t

[01:19:58] run like gas town-esque like things and so i’m the the mayor so to speak and so i don’t want to

[01:20:05] run too many i don’t find it that fun to clean their stuff up but periodically i’ll i’ll run two

[01:20:11] um in competition with each other because it’s a harder task and i i don’t have a high

[01:20:16] they’re gonna just like crush it so i’ll just run claude versus codex or something like that or

[01:20:21] i’ll have one coding i’ll have one doing like some sort of research task um i absolutely love them

[01:20:26] for research that’s awesome um and then i’ll be doing something else but no more than two i would

[01:20:31] say yeah the code that they generate do you always review it or have you kind of got a bit more loose

[01:20:37] and you know some people swear on having a closing the loop having validation for it or are you like

[01:20:43] still like all right i want to see the exact code and i’ll review it and then i’ll do it

[01:20:46] if it’s correct and what i expected uh matters what i’m working on and if it’s ghosty i’m reviewing

[01:20:52] everything that’s going into it um if it’s like i set up a personal wedding website from one of

[01:20:57] my family members i don’t care at all what the code looks like did it render right and there

[01:21:00] are three browsers that i tried yes did it render right like on my phone yes don’t care what the

[01:21:05] code like doesn’t make any network works no has no secrets access i don’t care like ship it that’s

[01:21:10] only gonna be online for two months so ship it yeah and then how did the ai policy at ghosty

[01:21:15] change i remember that

[01:21:16] and maybe a year ago or so you asked for disclosures if someone is using it and just

[01:21:22] very recently you kind of crammed cracked down and said like all right no more yeah we’re gonna

[01:21:28] change again too well i’m not gonna change i’m gonna iterate um so yeah a year ago started asking

[01:21:32] for disclosure and people you know the the very fair question there is what does it matter how

[01:21:40] the code is produced and the reason to me it always mattered was because it dictates how

[01:21:46] much effort i go into fixing it because if if you produce the code of ai and you did it really

[01:21:52] quickly then i’m not going to spend hours fixing up your code you you spend your time yeah because

[01:22:00] because you know that that person that puts much time it is not much human time you’re trying to

[01:22:04] yeah right it’s ever for effort if you put in hours i’m gonna put in hours back and i’m gonna

[01:22:08] help you but if you put in a few minutes and never read anything and threw it over the wall

[01:22:11] then i should be able to read it in a few minutes say no thank you and close it it’s

[01:22:16] fair and i need to better understand what that is and you know it’s not about bad code because

[01:22:23] open source has always gotten bad code contributions but the difference before is

[01:22:28] usually those bad code contributions came from people that were genuinely trying their best and

[01:22:33] put in a lot of effort just to get to that bad code point and so i i people behave differently

[01:22:38] i would always try to reciprocate by being like this is someone very junior or this is someone

[01:22:42] just new to the project and i would try to educate them be like okay we should do this better and

[01:22:46] these careful reviews but if it’s bad code that there was low effort i’m not going to give a

[01:22:50] careful review so again like i wanted to know these things and and the disclosure worked

[01:22:55] decently well the issue wasn’t the disclosure the issue was that the quantity of low quality

[01:23:03] ai prs that we were getting reached a a point where it was too high like do you know why that

[01:23:11] might have happened more people instructed agents to contribute a pr to fix an issue

[01:23:16] like do you have theories or actually like like seen evidence of why this happened

[01:23:20] i have theories and i’ve seen some evidence but yeah i mean i think obviously there’s the rise of

[01:23:26] just ai usage in general but the real trend a step change that i saw at a certain point and i don’t

[01:23:32] know when it happened because i don’t use agents in this way but at a certain point they started

[01:23:36] opening prs you know before it was like you generate code and maybe they commit and stuff

[01:23:41] but you would still like push it to a branch and open the pull request at a certain point they

[01:23:45] started opening prs and then they started opening prs and then they started opening prs and then

[01:23:46] there was a dead giveaway at ai because at least to this day to the point we’re recording this the

[01:23:53] way claude opens a pr is it opens a draft with no body and then it edits a body later and then

[01:24:02] reopens it for review which is not how human would do it oh like one human a year would do that and

[01:24:08] now it’s happening three times a day and so even if they’re not disclosing ai or they’re hiding it

[01:24:13] it’s like oh and it happens at a speed that’s unrealistic it opened

[01:24:16] the body came in less than a minute later and it opened less than a minute later like yeah

[01:24:19] pure ai i i just tweeted out this like a couple days ago which is just like i i wish that these

[01:24:25] agentic tools would put a pause on opening prs for a second um because i think that’s the point

[01:24:31] where it’s really causing a lot of friction how did you change the policy are you considering

[01:24:36] closing down prs you mentioned that recently that you’ve you’ve the the thought crossed your mind

[01:24:41] i would say i was crashing out in that moment

[01:24:46] but i but kind of um so we shipped this policy update where prs written by ai are no longer

[01:24:52] allowed anymore unless they’re associated with an accepted feature request so you can’t just drive

[01:24:58] by and be like i did this thing that i’ve never talked to you about here you go we and we we get

[01:25:03] about two or three of those a day and so we just close this thing i don’t even i literally don’t

[01:25:07] even read the content i could see it’s ai i could see there’s no fixes issue number i just close it

[01:25:13] no idea if the code is good don’t care it’s just policy

[01:25:16] don’t have time for that that’s pretty much where we landed on currently

[01:25:19] and uh we’re recording this in the middle of another transition which i already have the pr

[01:25:25] open um where we’re going to switch to a explicit vouching system for the community so you’re no

[01:25:33] longer able to open a pr at all ai or not don’t care anymore which is i think the people who

[01:25:38] criticize where it came from doesn’t matter it doesn’t matter anymore now all that matters is

[01:25:42] that another community member has vouched for you

[01:25:46] and if they vouched for you you’re added to a list where forever or indefinitely you could open a pr

[01:25:52] if you behave badly then you the person who invited you and the entire tree of people they

[01:25:57] ever invited are blocked forever for the repo this reminds you a little bit of do you know

[01:26:02] the social lobsters lobsters yes that’s what it’s based off of so the idea is that you’re putting

[01:26:07] your own reputation on the line by vouching for somebody else i’m a reasonable person if if this

[01:26:14] happens and i or one of our maintainers are going to be able to vouch for you i’m going to be able to

[01:26:16] make a mistake if you just like hop into discord or email and and seem like a reasonable apologetic

[01:26:22] person like i’m not going to spend a lot of time like there’s not going to be like a i don’t know

[01:26:26] a mock like court type session i’m just going to be like okay i’ll give you no chance so yeah we’re

[01:26:31] sort of moving to that system i think one thing that’s a little bit different is um i should say

[01:26:35] that this is one inspired by lobsters but specifically in the ai space is inspired by

[01:26:40] this project called pie um they do this oh well they do they call this build on pie it’s a self

[01:26:46] so like uh build your own agent toolkit um so you know kind of ironically it’s it’s an ai tool

[01:26:52] but they care a lot about code quality and anti-slop and things like that so they have a

[01:26:58] similar mechanism a little bit less of the tree and some other but similar you can’t open a pr

[01:27:03] unless you’re vouched for and the other difference here that we’re going with is in addition to

[01:27:08] vouching where you could positively mark someone you could actually denounce users so if there’s a

[01:27:13] bad actor you could actually ban them and you could actually denounce them and you could actually

[01:27:16] ban them not not just like you can’t even attempt to contribute again and um that’s just a yeah we

[01:27:22] had one yesterday where don’t open pr we closed it because it violated it had no associated issue

[01:27:28] and it was ai and then they just reopened it like not the same one they resubmitted a new branch and

[01:27:34] reopened it like less than 10 minutes later i was like oh my gosh so um stuff like that is just it’s

[01:27:39] the problem is it’s just wasting time it feels like most of open source will have to change

[01:27:46] you you probably know more maintainers but i i hear this your story is not the only one you know

[01:27:51] like the project closed down uh prs github is i think just shipping a feature that projects can

[01:27:58] automatically close or reject prs yeah i think open source will have to change in a lot of ways

[01:28:04] i mean i think i forgot who wrote this but you know one of the logical extremes is if agents

[01:28:08] are so good you don’t need open source anymore because you could just build it right theoretically

[01:28:13] that’s the extreme i don’t describe that extreme but

[01:28:16] that’s one of the extremes the issue is there used to just be this natural back pressure in

[01:28:21] terms of effort required to submit a change and that was enough and now that that has been

[01:28:26] eliminated by ai it’s i like the wording that pi uses which is that ai makes it trivial to create

[01:28:33] plausible looking but incorrect and low quality contributions and that’s the that’s the fundamental

[01:28:38] issue you know open source to a certain extent has always been a system of reputation right like

[01:28:44] you earn some trust and you get more access

[01:28:46] you know and that’s how it’s supposed to work um but yeah it’s been that reputation system has been

[01:28:52] taken advantage of in a certain sense with with ai or the default allow prs has you know has been

[01:28:58] taken advantage of and so i think like like this vouching system that that we’re proposing for my

[01:29:04] project i think it’s like very true to what open source is which is that open source has always

[01:29:09] been a system of trust before we’ve had a default trust and now it’s just a default deny and you

[01:29:15] must get trust but it’s not a system of trust it’s a system of trust it’s a system of trust

[01:29:16] by somebody do you think we might see a lot more forking happening though i hope so i hope so because

[01:29:21] until now forking used to be a you know like a like a fork off a little bit because it was a lot

[01:29:26] of effort uh it wasn’t to to keep up like it never seemed viable to fork a proper project right

[01:29:33] yeah and i and okay i i am separate from ai and everything i have always been a huge proponent

[01:29:39] uh or i guess in the past few years i’ve been a huge public proponent of there should be a lot

[01:29:46] of things like uh like a goodي not the best or like a very good job and then you’re not supposed to

[01:29:49] be a you know a person who still wants to do a good job you’re not supposed to be a good job

[01:29:51] so i think that’s a bit of a common fear and i think it’s very important to keep up with open

[01:29:56] source because open source i think one of the reasons maintainers have been taken advantage of

[01:30:00] to some extent is that contributors have some sort of entitlement you know whether it’s toxic

[01:30:06] entitlement or not but there’s some sort of entitlement which is i’ve made a valuable change

[01:30:10] so you should and it’s clean and it works great so you should accept it but you really don’t have to

[01:30:15] but you say no and there’s anger in the community but the thing is i i’ve said this since 10 years

[01:30:23] ago in the hospital days hitting the merge button is the easiest step getting getting to and hitting

[01:30:27] the merge button is the easiest step like undergraduates should be able to do that it’s

[01:30:31] after that it’s the years of maintaining whatever you just merged within the context of your

[01:30:36] your roadmap um the bugs um customer needs all that stuff like that’s the hard part like you’re

[01:30:42] signing up to keeping this forever it’s very hard to remove features so or anything remove anything

[01:30:47] so the core privilege you get with open source like osi open source is forking and you should

[01:30:53] take that that’s that’s the right you got you should fork it and maintain your own software

[01:30:56] yeah one interesting impact of ai as someone tweeted about how there’s a rumor that big tech

[01:31:03] is looking into re-architecting their mono repos because of agentic tooling ai tooling just a lot

[01:31:08] more code being churned out what’s actually what’s actually happening what’s the problem with git

[01:31:12] the problem is that it’s not working

[01:31:12] problem with git i mean i think there’s a lot of problems with git but uh the mono repo problem

[01:31:16] with git is that git is is relatively bad at very large repositories because you you pretty much

[01:31:22] have to clone the entire repository there’s there’s some extensions to like fix that but

[01:31:25] like official mainline git can’t really do that right and so for very large uh changes the uh

[01:31:31] very large repositories um it’s sort of annoying to maintain and then if you have a lot of churn

[01:31:36] in it it’s very hard to get changes into whatever your trunk is your main your master branch right

[01:31:41] you constantly rebase merge

[01:31:42] solves that to a certain extent i think merge queues works for humans at a certain scale but

[01:31:49] the merge queues could get quite deep but then if you sort of 10x that like conservatively i think

[01:31:55] 10x that and then if you buy into like hype cycles and you 100 or 1000x that i think it gets

[01:32:01] completely untenable in terms of how are you ever getting any semblance of cohesiveness onto the

[01:32:07] main branch um quickly and and so yeah i think there’s a lot of problems with git and i think

[01:32:12] there’s a confluence of problems there which is which is the merge queue problem the disk space

[01:32:17] problem the like branching review type problem oh i also treated the other uh another time where

[01:32:24] like git has this you branch and you push up your branches but the branches are only the positive

[01:32:30] like when you when you close a pr and you you don’t accept it like you pretty much are the

[01:32:35] branch github you could re-access closed prs but you a lot of people don’t even get to the pr stage

[01:32:40] they experiment they’re like oh this isn’t the right way and they never get to the pr stage and

[01:32:42] push the branch and and that’s like relatively important information relatively important it’s

[01:32:49] not as important as the positive but they’re like i think there should be a lot more branches and

[01:32:54] get a lot more information that we just never throw away like we’re at to me we’re sort of at

[01:32:59] the like gmail moment for email for version control where like you used to really have to

[01:33:05] like curate delete all this email and then gmail came out gave a gig away for free to everybody

[01:33:09] we never had to think about their tagline or something was like never deleted email i remember

[01:33:14] seeing that in some sort of marketing it’s like archive it right never delete it and that’s where

[01:33:18] i feel like we should be at with code which is like just this huge repos a lot of context we

[01:33:23] need better tooling in order to find relevant context in that git repo or version controlled

[01:33:29] repo i would say that the real you asked for like real examples i do advise um a company that’s

[01:33:36] currently stealth but working in this space and there’s the real examples

[01:33:39] is is driven by the highly agentic companies the companies that are like going really all in and

[01:33:44] drinking the kool-aid and they’re struggling in terms of the amount of churn that these agents

[01:33:51] is causing is so much greater than humans and it’s not a ai review problem or anything it’s

[01:33:55] really just like a release problem like managing the merge queues humans getting access to the

[01:34:00] right set of data in the repository and things like that so our problems performance problems

[01:34:05] mainly with with git or just like even the workflow of

[01:34:09] yeah yeah all of it performance for sure but workflow yeah i mean like every time you pull

[01:34:13] your you can’t you can’t push because every time you pull there’s another chain like every time

[01:34:18] you push oh there yeah there there’s a lot of parallel work yeah as well do you think it will

[01:34:22] be around with with the judge because in a few years who knows but what’s interesting is this

[01:34:27] is the first time in like 12 to 15 years that anyone is even asking that question without

[01:34:34] laughing we’re not laughing right like like if you if five years ago you said we’ll get be around in

[01:34:39] five years you’d be like are you yeah of course it’ll be around like that’s crazy to think right

[01:34:43] but now people could ask that question and of course some people laugh but like there are

[01:34:48] people that critically think that git might not be around in five years well i think you do want

[01:34:52] to save the prompt history because often reading the prompt is actually if it’s a bunch of code

[01:34:55] generated the pull request is meaningless changes will have like git and github forges in their

[01:35:01] current form do not work with agentic infrastructure today and it’s nascent today

[01:35:09] so yeah where this change will happen and i’m not exactly sure and that’s not something i’m trying

[01:35:15] to change myself but it you know i’m on the receiving end in terms of an agent user and a

[01:35:20] maintainer where i’m like this isn’t working what other engineering practices that you know we have

[01:35:25] been relatively stable for like 10 20 or a bit more years you think have to change or are looking

[01:35:30] to change thinking things like cicd testing code review other you know ways of yeah you know amp

[01:35:38] has the saying which is is

[01:35:39] it’s kind of clickbaity but it’s so true everything is changing and this is this is the first time

[01:35:45] really where it feels like it’s the first time in my you know short relatively short to other

[01:35:52] people but still a 20-year professional career that so much is on the table for change at one

[01:35:59] time and i’m an optimist so it’s really exciting to me um it’s a lot of fun but it’s we’ve never

[01:36:04] seen so much editor mobility editors used to be one of those things that once someone picks an

[01:36:09] it’s very hard to get them off that editor they’re like stuck the level of editor mobility in the past

[01:36:14] few years between like vs code and cursor and just jumping around is is unreal so there’s a bunch of

[01:36:19] mobility there in terms of uh i mean cursor itself is a great example of a company that

[01:36:24] reached an insane valuation that you could never have gotten pre-ai on an editor product so editor

[01:36:29] forges cicd for sure and i think that testing in general because to make an agent better it needs

[01:36:35] to be able to validate its work and so tests go from even the best of the best of the best of the

[01:36:39] best test case scenarios don’t have like i mean the best i guess have full coverage but that that’s

[01:36:45] a very extreme the the very good test case scenarios just test like one of the edge cases

[01:36:51] and one of the happy cases and you know bad case and they just kind of go through and if it passes

[01:36:55] it’s probably good paired with a human who’s thought about the problem but ai is more goal

[01:37:03] oriented in terms of i want this feature to work this way that if it doesn’t see a spec somewhere

[01:37:08] or test somewhere that

[01:37:09] other things should work in a different way it’ll just break it on its path to its own goal and so

[01:37:16] uh i’ve heard this called a lot of things i mean the one i like the most is like kind of like

[01:37:20] harness engineering which is like harness engineering yeah it’s like i’ve been one of

[01:37:25] my like goals for this calendar year has been to spend more time doing that which is that

[01:37:29] anytime you see ai do a bad thing try to build tooling that it could have called out to to have

[01:37:36] prevented that bad thing or course corrected that bad thing and so it’s sort of like

[01:37:39] moving from the product to working on the harness for the product or product development and so

[01:37:44] yeah there’s there’s a lot of that where i think testing has to change to be far more expansive

[01:37:51] but cicd is not set up just resource performance wise to be able to do stuff like that um so yeah

[01:37:58] i’m not sure how it changed but that’s going to change too so everything is on the table it’s

[01:38:02] really interesting yeah and it’s a lot of tools to be built one other thing observability yeah

[01:38:09] and then and i guess on that same topic i mean of the volume and scale and observability it’s also

[01:38:14] like the sandbox like i didn’t think even being in infrastructure and being heavily into

[01:38:20] infrastructure you know containers blew up the amount of like minimal compute units we had like

[01:38:27] floating around everywhere i didn’t think that was going to go up i mean it’d go up like

[01:38:31] predictably up but i didn’t think it was going to like slope change up and it is like slope

[01:38:36] change up already just due to the sandbox environments that agents need to be able to

[01:38:39] and yeah i mean that’s super interesting to me because that stresses a whole lot of new systems

[01:38:45] i think you know the things that i worked on like all the products i worked on but also

[01:38:50] things in the ecosystem like docker but like kubernetes they’re going to be stressed

[01:38:53] significantly because they’re engineered for some level of scale but this is a

[01:38:58] different type of particularly non-production workload scale that you have to support so

[01:39:03] um yeah it’s it’s fun fun problems going back to hiring you you’ve hired a lot of

[01:39:09] engineers and you previously talked about something really interesting this was i think

[01:39:14] in the context of maybe hashicorp how some of the best engineers you’ve hired had really boring

[01:39:19] backgrounds can you talk about that like who were the best engineers you hired and like how

[01:39:24] yeah that’s a better way to frame it yeah i i i stand by this most the best engineers i can

[01:39:29] remember from my time at hashicorp but also just in every job that i’ve had are notoriously private

[01:39:36] not because they want to be private because they just don’t care to be public i guess it would be

[01:39:39] the better way to put it i don’t want to like carefully describe anyone without giving them

[01:39:43] away but you know they’re just they don’t have social media profiles very often they honestly

[01:39:47] are nine to five engineers they go back and they don’t code at night they just spend time with

[01:39:52] their family but because they don’t do anything else during their working time they’re like locked

[01:39:56] in and and they’re really good it’s not about putting the hours it’s also just skill wise

[01:40:00] um super strong um so yeah i always found like when i when i was reviewing resumes and stuff

[01:40:07] when you find the person that has a resume where they like

[01:40:09] they don’t have any github even a github account like some people are like oh you have to public

[01:40:13] contributions to to stand out like that is a way to stand out but also if you have zero public

[01:40:19] contributions and you’ve just worked at companies that also i’ve never heard of before it kind of

[01:40:23] is interesting to me which is like okay you you might know something like deep um so yeah i i

[01:40:32] think that you know the problem is and i the funny the ironic thing is i spend a lot of time on social

[01:40:36] media and these engineers are better than me um but the the

[01:40:39] funny thing is every moment you spend on social media time is zero sum so any every moment you

[01:40:45] spend on social media is taking away from something else and and the issue is it’s not

[01:40:47] one for one because as every engineer knows the time it takes to really get your mind into flow

[01:40:54] to get going with something is it varies but it takes time and so when you context switch to

[01:41:01] social media if you if something’s compiling and you tab over and you spend time you you’ve given

[01:41:06] something up in terms of thinking i i think one of the best things about social media is that you’re

[01:41:09] i do spend a lot of time on social media but maybe unhealthy um amount of time on social media but

[01:41:16] also an unhealthy amount of time um at night i i don’t have insomnia but it takes me a long time

[01:41:21] to fall asleep and and it’s because i just sit there in the dark and i love some people do this

[01:41:27] in the shower but it’s not long enough for me i love to just sit in bed lights off my wife sleeping

[01:41:32] and i just think through like i’m writing code in my head i’m thinking through products i’m

[01:41:37] thinking through website copy i’m thinking through

[01:41:39] running clis in my head of how it’s going to feel and sometimes last night i i went to bed at 9 30

[01:41:45] because i’m a i’m a dad so i go to bed early and you have to wake up and you don’t know when you

[01:41:52] have to wake up yeah yeah and i didn’t even feel like i was up that long it’s like i gotta go to

[01:41:57] the bathroom i should i should really actually like go to sleep and i looked and it was 12 30

[01:42:01] and all i was thinking about was uh it’s so dumb but all i was thinking about was this vouching

[01:42:06] system of how vouching might work it might not work and

[01:42:09] i’ve always had this thing where i’m willing to i like competing i think competition’s fun but

[01:42:15] i always feel fair game to compete with anyone in product building space because i think i’ll

[01:42:21] spend more time thinking about it than they will i think people turn it off and i i don’t i try not

[01:42:25] to turn it off so um yeah i mean i think the point of all that is the best engineers are the ones that

[01:42:31] context switch the least probably having used ai ai agents you think this might change

[01:42:39] because you know like these agents can go on and think or or do work for you like how would you

[01:42:45] hire in this in this new world where we’re using ai as kind of a given most devs will prompt and

[01:42:52] fewer and fewer right even though best devs clearly know how to write code as well um i would

[01:42:59] definitely require competency with ai tools you don’t need to use them for everything that’s not

[01:43:06] important to me but it’s an important tool to understand the edges of the code and to be able to

[01:43:09] like it’s like any other tool where sometimes it’s useful and sometimes not useful but if you ignore

[01:43:15] it completely you’re gonna do something suboptimal in a time and i mean the best example to me is

[01:43:21] proof of concepts like constantly in real product organizations you have an idea and you need to

[01:43:28] like demo it out to figure out if it works i would much rather someone just like throw slop at a wall

[01:43:33] that you’re never going to ship and spend a day doing that you know maybe less than a day doing

[01:43:39] other than spend a week doing it organically as a human like because you’re gonna throw it away

[01:43:44] anyway and you don’t even you might throw it away because it’s a bad idea but i’d rather prove it

[01:43:48] out and so just slop it up and so this is why it’s so nuanced i’m so like i’m so get so worked up

[01:43:55] about sloppy prs to open source but it’s because there’s a time and place for them and that’s not

[01:43:59] the time and place for them but there is and so i would hire in that way and i think the other thing

[01:44:05] that i don’t know if it’s the right thing to do but i would strive

[01:44:09] that that goal that i have i would strive for everyone to have an agent running it all the time

[01:44:14] again like it doesn’t need to be coding but to be doing something extra for you i would strive for

[01:44:19] that because uh i i do a driving that’s my biggest one on the drive here i had some deep research

[01:44:25] going and it’s like i will always spend 30 minutes on the boundaries when i wake up and before i stop

[01:44:32] working before i leave the house something i spend 30 minutes stop working what can my agent be doing

[01:44:37] next that’s that’s slow what’s the next step i would strive for everyone to have an agent running

[01:44:39] it’s a slow thing my agent could do for the next time and i know it’s gonna drive here for an hour

[01:44:43] it finished far faster than an hour but you know it was just like oh i need to do some library

[01:44:48] research um okay find all the libraries that have these properties that are licensed in this way

[01:44:54] and i was looking up some like hdb3 stuff quick stuff and so find build that ecosystem graph for

[01:45:01] me um right before i left i was working on something to do with this vouching system and i

[01:45:06] didn’t quite understand the edge cases of what i was doing and i will think about that manual

[01:45:09] but why not just start just start an agent to like look at this repo and i use amp to like consult

[01:45:15] the oracle like think deeply about um what the edge cases might be what am i missing if i had

[01:45:20] another two hours to work i wouldn’t need the agent to do that i would have done it myself but

[01:45:22] i don’t so why not have it do it so it’s just part of my goal to always have one going and i

[01:45:27] unfortunately don’t have one going because they finished it all right now interesting and so this

[01:45:32] agent running there is kind of do i feel correctly that it’s now so natural that it doesn’t get in

[01:45:37] the way of your own thinking like you do your own thinking and you’re like oh i’m gonna do this

[01:45:39] your own thinking and you do your work but every now and then you glance and you ping it or you

[01:45:43] start it or it’s it’s now so it’s not distracting right because i think that’s yes i actually turn

[01:45:48] off all the agent tools do this and i turn off the desktop notifications yeah i think the desktop

[01:45:54] notifications are for the most part a mistake um so yeah i turn those off i choose when i

[01:46:01] interrupt the agent not it doesn’t get to interrupt me um so for sure and there’s another aspect where

[01:46:08] i think my engineering

[01:46:09] has changed where i try to identify the tasks that don’t require thinking and the tasks that do

[01:46:15] require thinking and and just delegate like delegate the work to an agent like sometimes

[01:46:22] it just feels productive to do the the non-thinking tasks and you’re like yeah i did a lot today i got

[01:46:29] i got this but but a lot of times i just try to just delegate that out there’s a lot of people

[01:46:33] that that you know say like you think less and i think if you use the tools wrong you do think

[01:46:37] less because you just like launch an

[01:46:39] agent and i don’t know go watch youtube or scroll social media or something but if you instead view

[01:46:44] it as a way to choose what you think about then i think that you don’t need to sacrifice that

[01:46:48] thinking but i think the problem is uh the majority of population probably won’t do that

[01:46:52] yeah but it’s still i think it’s good food for thought and it goes to hear from you on how you’re

[01:46:58] using and it’s working for you when did you start to to have this second agent running what made

[01:47:03] was it the models getting better or yeah i don’t remember which model it was but there was a certain

[01:47:09] red cloud code right when it came out it was just like march or may last year it was march the beta

[01:47:13] yeah and the may public release okay i i don’t think i used the beta so it’s probably may um

[01:47:18] wasn’t a huge wasn’t super impressed honestly um and then i mean really quickly by like the summer

[01:47:24] at some point in the summer oh i remember i remember um i saw so many positive remarks about

[01:47:30] it that then i started to get scared that i would be behind on how to use a tool and so i actually

[01:47:38] started forcing myself to use a tool and i started to get scared that i would be behind on how to use a tool and so i actually started forcing myself

[01:47:39] to i still didn’t believe in it so i would do everything manually but i was forcing myself

[01:47:45] to figure out how to prompt the agent to produce the same quality result i was working much slower

[01:47:52] because i was doubling the work and it was more than double because it’s they’re slow and it’s

[01:47:57] we’re going back and forth and i already had the work done and all the stuff but i was forcing

[01:48:02] myself to do it and you find stuff that i couldn’t figure it out i couldn’t like it just wasn’t there

[01:48:06] yet but then i found other stuff where it’s like oh i naturally

[01:48:09] got to the same point that thousands of other people got to which is like oh if i do a separate

[01:48:14] planning step it does so much better and everyone got there and then i figured out oh if i have a

[01:48:21] better test harness for it to execute it does a lot better and then you know i i think everyone

[01:48:27] starts with like no agents.md or claude.md or anything the same thing i realized oh if it

[01:48:33] makes a mistake and i add that just to agents.md it never makes that mistake again like if i do a

[01:48:39] like oh and like these these are just like incremental things that i recognize when i

[01:48:45] see people that are new or i’ve watched a couple live streams like lurked on live streams or

[01:48:50] or like kind of anti-ai people like try ai and it’s one of those things where i’m like they’re

[01:48:55] just swinging the hammer way way off right like it’s because you haven’t it’s the the thing is

[01:49:01] like it’s like it’s as if someone tried to like adopt git and they used it for an hour and decided

[01:49:06] they weren’t more productive with it like it takes much longer than an hour to

[01:49:09] get proficient with git but you put in the effort and then you reap the rewards later

[01:49:13] and it’s sort of the same thing to me with ai tools what would your first advice be for someone

[01:49:17] who’s like not my first advice would be reproducing your work with an agent and if you really really

[01:49:21] don’t want an agent to code reproduce the research part of your work with an agent um like there

[01:49:27] there’s a lot of people it’s like i don’t want it to write code for me for whatever reasons like um

[01:49:31] but yeah just to kind of delegate some of the other research part there’s so many places it

[01:49:37] could be helpful so it it doesn’t need to take a lot of time to do it but i think it’s a good

[01:49:39] you know you don’t need to pick up on the it must replace you as a person kind of propaganda you

[01:49:45] could just find the the corners of where you work and and replace those parts one thing that you

[01:49:52] give people is you give advice on for potential founders because you’re a successful founder you

[01:49:57] you’ve had an exit you built up this awesome company you get a bunch of emails from people

[01:50:01] asking hey i want to be a founder what was your advice and you you wrote about this you shared

[01:50:05] the email but but can you tell us like what advice you typically give people

[01:50:09] and how is it received uh well i usually ask for something more specific uh because yeah if

[01:50:15] someone’s like what could i do to be successful one i also always disclaim that you’re consulting

[01:50:20] someone with survivorship bias so you need to take that into account um but i’m willing to share

[01:50:25] my experience as a survivor but just understand that there’s survivorship bias but usually i ask

[01:50:30] for like what’s what’s something more specific like what are you trying to do um and so we

[01:50:34] usually get to like should i open source my project or not or should i be remote or not or

[01:50:37] should i do enterprise and and

[01:50:39] i don’t know but my my the most general advice i usually give people is startups are much longer

[01:50:46] than you think um you’re going to probably work on it for i say imagine 10 years a lot of people

[01:50:52] say five years but i say imagine 10 years like is this really something you want to work on for 10

[01:50:56] years and is it something that like you need to have a certain amount of hubris in order to say

[01:51:02] i’m going to work on this for 10 years and i truly believe i’m going to do it better than anyone else

[01:51:07] there’s nothing behind that no

[01:51:09] other than hubris so you need to have a certain amount of of ego and hubris in your head to make

[01:51:15] that but not too much where you’ll be blind to change coming in so that’s usually like the first

[01:51:21] advice i give because a lot of people have cool ideas but they’re going to burn out you know

[01:51:25] relatively quickly so uh that’s where i start so currently you’re advising some companies what are

[01:51:30] you seeing with them like what are servers doing these days what are they doing differently than

[01:51:35] you know like earlier how’s that landscape uh

[01:51:39] again it’s really contextual in terms of like if you’re an ai startup it’s very very different how

[01:51:44] are how are ai servers working differently they are there’s a lot of pressure to go faster than

[01:51:50] i’ve ever seen any startup um i i think the industry is moving so fast that i i don’t advise

[01:51:56] any ai startups but i’ve talked to some of them and it’s even as an advisor i feel like it’s too

[01:52:01] much pressure because they are just being pushed to prove themselves quickly whether it’s through

[01:52:07] traction or revenue or something it’s sort of like there’s this

[01:52:09] mentality within that ecosystem where ai should allow you to go crazy fast and in addition to that

[01:52:16] there are a lot of companies moving crazy fast so um the change is happening i think that’s the one

[01:52:22] thing outside of that i mean like i said it’s just it’s just a ton of opportunity in every space

[01:52:27] otherwise it’s a lot of the same stuff i mean it’s remote versus non-remote open source there’s

[01:52:31] not open source do you see the role of software engineers changing now especially at the ai native

[01:52:36] companies where engineers like like yourself they’re actually not going to be able to do the

[01:52:39] being way more productive they can produce a lot more code a lot more output are they being pushed

[01:52:45] into being like you know like wearing more hats talking to the business of being a bit more like

[01:52:50] a mini founder if you will i hesitate to say more productive i i view that there’s an expectation

[01:52:55] they could do more i don’t think that’s necessarily more productive but it’s more like you should be

[01:53:01] able to for example build a full demo design everything for your you don’t need a team to

[01:53:07] do that anymore right like you should be able to do that you don’t need a team to do that anymore

[01:53:09] at least from a demo perspective there’s no reason not to because again you could ship slot for that

[01:53:14] that’s fine i mean this is still the same but you should be able to research effectively and and in

[01:53:19] a sense to handle more vague tasks i’m seeing that a lot more which is like just the capacity

[01:53:25] to experiment is so much higher i would say but then when it turns into productionizing something

[01:53:31] uh it feels similar to what it’s always been i i think that there’s a lot of companies that are

[01:53:37] eating the

[01:53:39] yeah the dog food of of of the ai companies of shipping whatever and i think that’s a little

[01:53:45] scary yeah they look at it in traffic and they’re like oh they build cloth core work in 10 days and

[01:53:49] they’ll be building about a company they’re freaking out of why they’re not doing that

[01:53:53] they’re i think a big change is from like a pre-seat perspective or yeah pre-seat perspective

[01:53:57] where you would be like i need to raise a seed in order to build a prototype that’s like like

[01:54:02] show me the prototype because yeah you should be able to build that really quickly for most

[01:54:06] things there’s still hard tech out there that you can’t do that so you do a bunch of

[01:54:09] coding you do a bunch of thinking about coding as well even as you’re trying to fall asleep

[01:54:13] what refills your bucket outside outside of coding outside of tech obviously like the

[01:54:19] stereotypical things like just taking breaks and being with my family and things like that but i

[01:54:24] mean i think the biggest thing is you know i am introverted so just quiet solo time um refills

[01:54:31] the most energy for me i live pretty close to the beach and just if i’m in a bad mentality things

[01:54:39] feeling unproductive or something something’s going on like just closing my laptop and taking

[01:54:44] a walk outside it like stuff like that helps a lot i have a lot of hobbies and stuff but it’s

[01:54:50] i think like just as a general recharge it’s it’s that more than anything i know there’s a lot of

[01:54:54] people it’s like going out friends or something like that then i like that but that’s not the

[01:54:59] full recharge for me and what’s a book that would you recommend and why um so i only i i pretty much

[01:55:07] read fiction outside of news um i read a lot of fiction i read a lot of fiction i read a lot of

[01:55:09] great great okay uh the most recent book of fiction i read is an older book and it is an easy read so

[01:55:16] i hope people are like not like oh he’s an idiot for reading this but um it was uh what’s it called

[01:55:21] the the something life of addy larue it’s just like kind of a romantic type of fiction novel but

[01:55:28] yeah it’s just about it’s about i think it’s like 10 years old it’s older now um but uh it’s just

[01:55:33] about a a woman who kind of sells her soul to live forever but the cost was no one remembers

[01:55:39] her once they walk out the room and yeah it’s just going through her whole life of losing all

[01:55:46] human connection but she gets to live forever um what that is like and you know i like reading

[01:55:52] fiction so i like reading fiction at night it i don’t know i don’t know if it’s escapism or just

[01:55:59] like you just like you know you get to live in different worlds it’s still so different to

[01:56:03] the coding or anything it may maybe just helps me turns off the thing i personally

[01:56:07] probably read way more fiction than i do

[01:56:09] professional non-fiction honestly yeah yeah i’m the same way it’s my version of tv too

[01:56:14] tv to me is more of a social activity like if if my wife wants to watch something together

[01:56:19] like we’ll watch a show but if i’m alone i’m not gonna watch a show i’m gonna read probably

[01:56:24] awesome well thanks so much for going through all all of these details it was just not great

[01:56:30] to hear from how you’re working the history of hashicorp this was all just really interesting

[01:56:35] and motivating yeah thank you thank you i hope you enjoyed this

[01:56:39] long and interesting conversation with michelle one thing that really stuck with me from this

[01:56:43] conversation is michelle’s own rule for himself always have an agent that does something not

[01:56:49] necessarily coding just doing something for example while he was driving to this podcast

[01:56:53] recording he had deep research running before he leaves the house he asks himself what’s a slow

[01:56:58] task that my agent could do while i’m gone an important part to all of this he turns off all

[01:57:03] notifications the agent does not get to interrupt him he interrupts the agent when he’s ready

[01:57:08] michelle is in charge and he has a

[01:57:09] buddy who does the work that he has delegated while he focuses on the problem that he is

[01:57:14] solving this is a nice challenge for anyone listening next time you step away from your

[01:57:18] desk before you close the laptop ask yourself what slow tasks could an agent be doing while

[01:57:23] you’re gone if you enjoyed this episode share with a colleague who’s thinking about where

[01:57:27] software engineering could be heading and if you’ve not subscribed yet now’s a good time

[01:57:31] we have more conversations like this one coming thanks and see you in the next one