Skip to content
Being a founding engineer at an AI startup episode artwork

Dec 3, 2025 1 hr 4 min

Being a founding engineer at an AI startup

from The Pragmatic Engineer Hosted by Gergely Orosz

Brought to You By: •⁠ Statsig ⁠ — ⁠ The unified platform for flags, analytics, experiments, and more. •⁠ Linear ⁠ — ⁠ The system for modern product development. — Michelle Lim joined Warp as engineer number one and is now building her own startup, Flint. She brings a strong product-first mindset shaped by her time at Facebook, Slack, Robinhood, and Warp. Michelle shares why she chose Warp over safer offers, how she evaluates early-stage opportunities, and what she believes distinguishes great founding engineers. Together, we cover how product-first engineers create value, why negotiating equity at early-stage startups requires a different approach, and why asking founders for references is a smart move. Michelle also shares lessons from building consumer and infrastructure products, how she thinks about tech stack choices, and how engineers can increase their impact by taking on work outside their job descriptions. If you want to understand what founders look for in early engineers or how to grow into a founding-engineer role, this episode is full of practical advice backed by real examples — Timestamps (00:00) Intro (01:32) How Michelle got into software engineering (03:30) Michelle’s internships (06:19) Learnings from Slack (08:48) Product learnings at Robinhood (12:47) Joining Warp as engineer #1 (22:01) Negotiating equity (26:04) Asking founders for references (27:36) The top reference questions to ask (32:53) The evolution of Warp’s tech stack (35:38) Product-first engineering vs. code-first (38:27) Hiring product-first engineers (41:49) Different types of founding engineers (44:42) How Flint uses AI tools (45:31) Avoiding getting burned in founder exits (49:26) Hiring top talent (50:15) An overview of Flint (56:08) Advice for aspiring founding engineers (1:01:05) Rapid fire round — The Pragmatic Engineer deepdives relevant for this episode: • Thriving as a founding engineer: lessons from the trenches • From software engineer to AI engineer • AI Engineering in the real world • The AI Engineering stack — Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email [email protected]. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe

Episode details come from the podcast's RSS feed.

Embed this episode

Ready to play

Being a founding engineer at an AI startup

0:00 1:04:25
of matches

Transcript Auto-generated, may contain errors

I did my internships from 12,000 people to 1200, that's like an 300 Robinhood. And I found that every time I went down, roughly, in order of magnitude, I found way more ownership. Obviously the next step is joining a two person company and starting my own. The stack at warp actually first started out with TypeScript. And then two, three months in, we decided to scrap that repository and just rebuild everything and rest.

I have to ask why. It was for performance reasons and it was also speed of development. There was also very strong sentiment amongst developers that they would only use high performance terminals that would build in the levels. How do you think a product engineer versus a founding engineer differs? I think founding engineer counts it.

What does it take to be a standout founding engineer? Michelle Lim was a founding software engineer at AS Startup Warp. It is now the founder at her own startup Flint, where she is now also a founding engineers. In this conversation we cover, Michelle's thinking process to take a risk and join us in your number one at a little startup when she had better paying and safer options, thriving as a founding engineer and why you'll need to pick up work that no one else wants to do. Figuring out if you're more of a product first or code first engineer, so you find your place better.

How Michelle's current startup builds on some of his websites and uses a I coding day to day and many more. If you're currently working at an early stage startup or want to work one day at a place like this and want to know the tactics on how to do well in these environments, this episode is for you. This podcast episode was presented by Stats, the unified platform of flags, analytics, experiments, and more. Check out the show notes to learn more about them and our other season sponsor. So Michelle, welcome to the podcast.

Thanks again. So glad to be here. It's awesome to have you. How did you get into software engineering? So I actually started in college.

I first joined an entrepreneurship club, and I was working on a bio company. But every week I saw that the companies in my club that were making the most progress were people who had programmers on their team. So I felt like, oh, if I wanted to move faster in entrepreneurship, I wanted to actually build a thing myself so we can move a lot faster. So I took my first computer science class ever in the spring of my freshman year, which is very late compared to most of your listeners. Yeah, it's never too late, is it?

Never too late. And then from there on, did you move over to computer science that you started studying at a university or did you do on the side? Yeah, so at that moment, I actually then started majoring in computer science. I really fell in love with computer science, especially the debugging was my favorite part, which is really funny for most before, I think. So the back story was that I almost became a medical doctor.

Like I grew up in Singapore, where that was the thing to do with the sciences. And I really fell in love with medicine because I really liked diagnosis, like differential diagnosis. Someone comes in with a swollen left leg, like, oh, that could be a problem of your right lung. And I thought that that was so cool. Based on the vision that you're seeing in your eyes, it could be a very specific part of your brain that was malfunctioning.

So I really liked the debugging part of my computer science assignments, where I started seeing that there was always a pattern in which the bugs occurred. And then I could trace it back to the specific lines of code or systems that led to it. So I felt like almost like I was a doctor for the computer. And it also helped me a lot in terms of being able to build things which I really loved. I started interning at tech companies and really fell in love with the art of software engineering.

And that just for the ability that I really loved, software engineering. And then you interned at some really cool companies. I think it was Meta, Slack, Robinhood. How easy or hard was it to get into get your first internship? Obviously the first one is always going to be the hardest.

And then what did you learn at these places? I was very lucky to have had this university program where they actually placed students in tech companies. And my very, very first internship actually was in Sao Paulo, Brazil, where I was working as an intern for a health company. And that was where I really got my start and really learned software engineering from a very senior developer there in Brazil. So I'm very thankful for that and for as listeners who have university programs when it's doing school, reach out to the careers office.

It could be really helpful in helping you get your start. For Facebook, it was also, it was me code applying to the website to this program called the Facebook University. So this is for folks who are underrepresented and who knew the computer science. And they bring you into the program and then bring you through a two-week boot camp where you're building an app every single day. So yeah, every single day.

This is a pre-A, right? This is pre-A, I was using my hands to write Android apps in Java. And so every day we were building apps. And then after the two-week boot camp, we were put into pods where we had to build a fully functioning app by the end of the internship. And that's when I learned Git for the first time.

I learned how to collaborate with my friends. I learned how to read really large code bases because we were building a receipt splitting app through OCR as well as like Bluetooth, where you could find your friends near you and then drag and drop avatars into the receipt items. So if there are three broccoli's and you ate two broccoli's and I would drag avatar twice into the receipt item in mine once. And then it would split accordingly. It was really fun, really cool because there's a personal problem of mine splitting receipts.

But we ended up having to dig really deep into the open source libraries of the OCR from Google as well as a Bluetooth protocol that was online. So I became really good at that. And I was also very fortunate that Altimatry won for being one of the best apps in the internship program. And got to meet Naga Zaku book in his office. Wow.

So after a Facebook internship, you ended up working a little bit of Slack and I dropped it as well, right? Yeah, that's right. And that was where I really caught the startup bugs. So I joined Slack through the Kleiner-Pugging Fellowship program. So this is a fellowship program for students to intern over the summer with the portfolio companies of this VC called Kleiner-Pugging.

And at the time, no one I knew was really using Slack. It was only 1,200 people at the time. And I was really excited about the chance to see what this whole startup scene was like. I mean, at the time, I consider this like a startup. Looking back, it's not a startup.

I felt like a startup to me. Someone who at the time wasn't really familiar with tech companies. And I had such a good time. It's like. And I think we can also be fair.

Sure Slack today is maybe not a startup. But compared to a lot of companies, they still act way more than a startup even today. Oh, yeah. It was really awesome. Everyone had so much product ownership.

It was a lot of fun because it was also incredible to be at a company where you were using the product that you were building every single day. Like I would start using a feature, then I would be like, oh, like, I think that instead of me having the search for my emojis, every time I need to react, what if we put like a frequently used emoji? Like, I'll design it myself, post it in this feature request channel. And still about a few other times responded, being like, yes, we should do this. And then I had another idea around scheduling messages so that I didn't have to wait till the time I wanted to send the message to send it out.

And I posted it to the channel as well. And he said, ah, that's the one that I will never do that. But that's really cool getting feedback straight from the CEO or co-founder. That's awesome. That was such an awesome culture to be in where the CEO was so excited about the product.

I feel like culture talks a lot, you know, both that meta and that's like the fact that the CEO or an eco-founder is open to talking, OK, they're not going to spend whole day, you know, talking with like interns or new joiners, but they do. And they're accessible. I feel that's going to make a big difference between, you know, like some companies and other companies where this is impossible. Absolutely. Especially now as a founder myself, I always make sure to spend a lot of time and be generous in my time with people on my team.

And then what do you learn from Robinhood? So Robinhood I found through the tech fair. Robinhood was where I really found my sweet spot about what I loved to do in software engineering. I was working on the Robinhood news tab. So this is a tab that let users see the news for the day and how that would affect their stocks.

And at the time Robinhood only had three tabs. The first tab was the main tab, you know, trade. For folio trade, yeah. And then the third tab was like settings, so notification. And I was working on the second tab.

And I had it was maybe like five or six of us working on that main tab. And I was in charge of deciding what news to show on every person's feet. Yeah. And there's like millions of people using it, right? And making decisions based on that.

Like this is like not something like it in feature. Yeah. And I was 19 or 20 or very young. And they gave me that opportunity to do that. And I really found that I love that I found my sweet spot in that I felt like I got to work on very cool computer science concepts.

Like we were using Robinhood version of Kafka to do the data pipeline. So when we received. For messaging. Yeah, for messaging, because we had to parse the video feeds and the news feeds coming from a lot of our partners, like Bloomberg was selling the news to us. And then we had to then tag them and then based on the tags.

And as well as like what the users were invested in, figure out like what are the relevant news, what to do if it's too sparse? How do you populate the feeds such as no bias for machine learning? Because we also wanted to keep learning what to rank first. And if you had a very prescriptive way of ranking your feet, then you would just be giving biased data to the machine learning algorithm for deciding what is the most interesting item. So like to me, like that was really exciting because one, I was learning a really cool computer science concept, but then two, I was also deciding like a lot of the product requirements, you know, what does the user want?

But then what is technically feasible based on what are the business partners we had and like based on our tech stack and then based on like latency requirements. So I felt like I was able to activate like all parts of my brain thinking about the technical side, but also the product side. And because of that, I felt like, Oh, I really love software engineering like this. This is what I want to be. You know, software engineering startups are both.

It was actually both Facebook's like and then Robinhood. They actually became smaller and smaller, right? As I did my internships from 12,000 people to 1200. That's like an in 300 Robinhood. And I found that every time I went down, like roughly another of magnitude, I felt like way more ownership.

And I felt like the line of sight between me, building and the users impact I was making was extremely clear. And so I knew like, OK, now that I've done the 12,000, the 1200 and then 300, obviously the next I was like joining a two person company and starting my own. And it's like that did you work after graduation? Was that your last internship? Robinhood was my last internship.

So they folks like and Robinhood were my internships. OK, and then like it's a well, you have a health care company. And a health care company. Yes, so it's incredible. You have four internships and I guess in four different summers.

Three summers. And in three summers, you kind of had them together, which is amazing. And now like you had all these companies behind your back on your resume. I'm assuming you could have decided to go into a bunch of different companies. And then yet you decided to go into this unknown company that at the time was completely unknown.

It just raised something. It seems like a very risky bet to go into an early stage or like see, say, start up. Tell me what was your thinking after this? Again, you've seen these different companies and how did you end up at like such a small company? It felt like taking a big risk, I'll be honest.

Oh, yeah. It was it was a very big risk. That wasn't any code written yet at the time. There was no code. No code.

It was just an idea and like a boundary with an idea or very nice mocks. The first the first higher war was actually a designer. And then can you tell me like what was the kind of idea? What was the stage at war when you came there? What was the vision?

What were the mocks like? Oh, yeah. Well, first of all, it was called Denver at the time, Denver, Denver. And no, no wonder it didn't stick. I remember being like, if you want to think about SEO, Denver terminal is definitely not the way to go.

But then I already had like a lot of growth intuition. But it was meant as a placeholder. I say, figure out what the as Zach, the founder was thinking about names. So that was the key mock was a terminal that had the terminal input at the bottom anchored at the very bottom. And then there was a blinking cursor that was lying instead of a rectangle.

And then there was a concept of blocks where terminal inputs and outputs were grouped together and there were lines between the blocks. And that was the key, the key one. And then I think the second mark was collaboration. So we had like different avatars on each of the terminal blocks. So it was almost like Google Doc of Fingma.

Like, oh, you could have multiple people looking at this walk at this terminal. That's so cool. And then that was the concept of like sharing environment variables and presets. Because we all know like everyone is such a pain to get environment variables, so shame teams. I mean, no one wants to confess this, but I'm sure everyone has had sent has has experience of sending environment variables just like and that's so good.

Yeah. And also, of course, I mean, you always have them in your local files, which is necessarily, but as you said, sharing them, you don't want to put it into GitHub. But yeah, how do you transfer them? Exactly. Sharing those keys that should not be shared because your colleagues need them or your teammates.

Yeah. As you said, so like, so like, do I understand the vision was like, basically the vision was like, Hey, the terminal has been around forever. Here's a couple of cool ideas on how we can innovate. And this was pre AI, right? Like this was, but already that was the vision.

Now, can you talk a little bit about like, I feel not many people talk about this, especially when you're still earlier in your career, your new grad? Okay. You know, like you've had a couple of like really cool internship, which means probably, you know, like a lot more companies will be open to hiring you. Were you interviewing at other companies as well? Or was this the first one you did?

And how did you think about how do you go about like negotiating your, you know, your first full-time competition? Because I guess with the internship, you don't have much negotiation, but here, you probably had some leeway. Oh, yeah. Every, everyone wanted engineers at the time. The things that I never really envisioned myself joining such a small company, it was only two people and, and that was no quirin.

So my focus during my job search process was focusing on 15 to 20 people teams, series A, I had a couple options that had $10 million AR already. So, you know, you could, I could join a rocket ship, like see like fast growth and then get to know for sure that there would be a lot of opportunities because when you have a fast growth company, it's just way more things to do than that. People, Michelle was just talking about hash. Yeah. The option of joining startups that were growing really fast, even for AI.

Today, what I'm seeing is many startups are growing even faster because they can get to incredible velocity with AI coding tools. And so they can ship features a lot faster than before, but without measurement, you don't know which features are helping and which are hurting your growth. When you're shipping 10x faster with AI, that uncertainty compounds. You could be shipping faster towards better metrics or you could be shipping more features that hurt conversion and retention. This is where a presenting partner, Statsick comes in.

Statsick built experimentation and feature management that acts as guard reels for AI accelerated development. Here's how it works. You ship a feature to 10% of users in a control experiment. Statsick automatically creates a control group and measures the impact. If the feature improves metrics, you confidently scaled to 100%.

If it would hurt metrics, you catch it early when it's only affecting 10% of users, not your entire user base. You're making data-driven decisions at the same pace you're shipping code. Companies like Notion went from single digit experiments per quarter to over 300 experiments with Statsick. They shipped over 600 features behind feature flags, catching the ones that would hurt metrics early and launching the winners. This is the fast for testing, validation and learning loop that matters when you're shipping at AI velocity.

If you know if something worked, they've already moved on to next feature. With Statsick, you have everything in one place, feature flags, experimentation and analytics with the same user data. Statsick has a generous feature to get started and pro pricing for teams starts at $150 per month. To learn more and get a 30-day enterprise trial, go to Statsick.com slash pragmatic. And now let's get back to why Tim Michelle chose to join a very early stage startup.

So I actually had a lot of those options. But ever since talking to Zach, the founder of Warp, I kept thinking every day about the product and how we could make it better. And it was just a product that I had to I discovered that I had a lot of passion for. Because when I was doing the software engineering internships, I actually found that there was a lot of real business impact from improving the terminal in the summer of 2018. Slack had multiple aliges.

That was the first time that Slack was bringing on new enterprise clients, like IBM and Disney. And so what, you know, the double nested loops that could have worked for selling to startups no longer worked at IBM and Disney scale. And so a lot of things were breaking a lot of terminal tools were run through CLIs. A lot of commands were being shed on Slack. There was an obvious rotation.

So I felt like you were seeing the potential of like how just like sharing commands, better, like better tooling, a collaborative CLI, even a Slack could have been helpful at your time, right? Yeah. So I saw a huge business impact. And then second, I also personally as someone who just learned computer science just a few years back saw that it was a very big barrier to entry for a lot of computer science students, because computer science is already so scary to learn for someone who's new to it. But what is even scarier is trying to move the cursor from one character on your command to another and realizing that the mouse doesn't work.

Like I felt like there was also a lot of impact on society that can be made if coding was a lot simpler for everybody. If we could make a terminal more accessible, if you couldn't move the cursor with your mouse instead of memorizing control and e-mextro cuts. So it was like, okay, this is this idea. That's a lot of business impact and potential revenue. And if we do well, we can make computer science a lot more accessible.

Like when else can I join such a cool idea as the first engineer? I could always look for a job in any of these like $10 million AR like doubling every quarter of things, but it's so rare to kind of coincide with the window in which this company was being started and that I got a chance to be the first engineer. The other thing was like, in other companies, if I were to join, I wouldn't get the opportunity to work so closely with someone who was a principal engineer at Google. Yeah, so exactly the principal Google engineer, right? Like he's a longtime software engineer.

Yeah, former CTO at Time magazine. And I felt like some of my friends would go study master's programs to be better at computer science. But here I had this opportunity to go through his university to become a really good software engineer very quickly, working directly with him. He was looking through all my tech docs, all my pull requests. And I just became a very good engineer very fast.

That was how I made a decision. It was it was definitely very atypical. Like I could have gone back to Robinhood. I had that return offer, but I just knew that I needed to be some a lot smaller. Did you negotiate your conversation, especially with startups when you're joining early on in a Silicon Valley startup or at like honestly, most startups that are kind of like either have venture funding or financial funding or part of conversation is equity, which is always a bit tricky subject for most software engineers.

How did you research equity? How did you learn about it? Did you negotiate it? You just kind of took whatever was, you know, on the offer, because I feel this is topic that not many people talk about, but it does get pretty important, right? It is so important to negotiate for equity.

I really negotiated for as much equity as possible. And what I was willing to trade off was cash. How was your offer presented? Yeah, I was presented a spreadsheet that had three options with increasing salary and decreasing equity. It was a really good spreadsheet.

And I actually use this today. Wait, I guess someone gets an offer. They're going to get a spreadsheet like this. Yes, at Flint, my company, you will get a spreadsheet that helps you calculate what the equity actually means in terms of the compensation value. We also have like, we also calculate tax as well as dilution at every stage.

And then we also have this calculator that helps you calculate the expected value of your stock based on different outcomes and likelihoods of each outcome. And all credit is like from more people than we use this spreadsheet. But anyway, there's three options. And I argue very hard for the one with the most equity. And I was willing to go extremely low on cash.

And in terms of what leverage I had, this is probably a bad negotiation strategy. But the way that I negotiated that was saying, Hey, Zach, I actually really, really want to work with you. I will work with you. I will sign this offer. This is, I really want to do this thing.

Let's go do it. I really appreciate we could do this offer, this number instead of this number. Some I say that that's a really bad negotiation strategy because you're losing all the cards by saying that you don't have any other options. And some I say the best way to increase your offer is by having competition. But I think that early stage companies, where you're joining us, just like one or two people, it really means a lot of the founder that you are bought in, ready to go, excited to help them.

And they want you to be happy and they want to make sure that you have a good deal. I will say like, you know, the general advice of negotiation that you read online, first of all, a lot of it is written when you're negotiating with against Facebook corporations, where the person giving the offer, let's say an injury manager or HR, they don't own this thing. They're given numbers and it's they have a job to do, which is close people. And they don't have too much emotion and a lot of that advice will work, you know, like that they do. But as you say, in the startup, it's people, it's a very small team.

The founders do care. And I will say this, like a lot of good founders will actually just not make offer to people's who they don't think believe in what they do because it's so early. So I feel like what you did, like of course, you know, like it probably goes against all the advice out there because the advice is not for this. Like I feel being authentic, like being excited. I cannot talk for all founders, but I know some founders and I do think this means that honestly, like in the end, following your gut is a pretty good strategy a lot of times.

A funny thing about God is that actually the day before the offer, I was making the decision I had, you know, the time in the era company that was doubling and I had warp, I mean Denver at the time. And my stomach was actually acting up the night before because I think it was feeling that it was the, the dissonance between like what I was going to do is is what I really wanted to do. Now one thing I've heard that is also atypical and no one will suggest, but you still did it is you don't want to company makes you offer the offer, they often ask for references for you to talk with other people or before they make an offer. I heard you did that with Zach or CEO. How did that happen?

Yeah, I actually put up the email before this and I saw that I said, like, Hey, Zach, really excited about this. Happy to send you my ref checks. I would also like to learn more about how you are as a manager. Can you send me a reference references for people that you have managed before, especially when they were a junior engineer? I'll see.

I mean, I, I would recommend everyone to do this, actually. They say like you don't leave companies, you leave managers and at a startup, you can't pick your manager, you can't leave a team. Like my friends working at Google could be having a bad time with one team and then they could switch to another team at a startup, you are married to that manager. So you need to learn as much as possible about what it would be like working with them. And you have like reference checks are by the way, the most important part of any interview process, like that is sometimes even more important than the on-site.

So at your current startup, you're also doing reference checks always. And what do you look at a reference check now? Just kind of, you know, thinking a little bit from a founder, you've been on the other side, because I feel they are coming back, but I don't hear that frequently. I don't think a lot of people know how to do it well. If I as a founder, I'm evaluating a candidate, the most important question I ask is, would you want to work with this person again?

And the answer I'm looking for is not yes. The answer I'm looking for is hell. Oh, yes, I don't even know why you're asking me this question. You're so lucky to have this person. I don't know what's happening in the water as your company about how you're able to pull someone like this.

That is what I'm looking for. If I'm hearing like, oh, I think that it could be great. They're very strong. That to me is a bad reference check that does not pass my test. One day of a work trial is a very good approximator, but it's just not the same as working in the long term of someone.

So this is very important. I actually think that engineers have a lot of power and leverage, because the good ones, a lot more people want them. But at the same time, it's very hard for you to assess like, what is it going to be like working at this AI startup? Because it doesn't have that much reference points from the outside. So it's very important to assess how the AI is a manager.

As a junior or more junior person entering a company, I think one of the ways that you could have a bad time is if you join a company where they don't promote and mentor and grow younger people. I've seen this happen at my friends' companies, where they would be the first 10 people who built the company. And then as soon as the company does well, they are replaced by executives. And then they're never promoted beyond the entry level that they win, even though they built the company and they spent a lot of their time and effort and youth and energy working on the company. So it was really important in my reference check to check how much opportunity that someone young engineer get, like what were career conversations like, how do promotions work, what was it like doing the tough times?

And Zag passed, like, exceeded all of the tests in that I talked to engineers that when new grads slash interns working for Zag and then very quickly became director of engineering at Google Sheets. So he was clearly someone who would bet on young talent and then help to promote them. And I saw that again, again, at Warp, where a lot of younger new grads were given positions of tag lead or being able to run the most critical project dreams at Warp, because Zag always bets on the young talent. I think in general, this probably sounds like a great strategy of trying to get or asking for references from your future manager and asking them about what you care. You know, this might be in your case, it was like, yeah, can I have a career directory if you're looking for let's say stability, maybe look for that.

But I think it's just like such an underrated thing. I haven't heard anyone else do this, so congrats on doing and sharing it with us. Yeah, the last thing I'll add there is that even if it's not for evaluation, you could be for advice. Like, how would you be able to work with this manager best? Like, maybe it's like insisting on the really one ones.

Maybe it's about like, proactively asking for advice in this specific way. So it doesn't hurt you to do it. And you can always frame it as you that you're getting advice on how to work closer with them. I love how Michelle shared a story of how Warp was founded and how she joined as a founding engineer. Talking about the founding of a startup such as Nicely on the original Varsity and sponsor, Linear.

The idea for Linear came about when their founders were going through hypergo phases for Airbnb, Coinbase and Uber. As you'd expect with real scale, these companies started to slow down. What used to take days, start taking weeks, sometimes even months. Not because people were less harder, but because there were a lot more moving parts that needed to be coordinated. As an example, in the early days of Uber, it took a single engineer about five-based integrate tests and ship and you payment methods to the app, Google Wallet.

But years later, it took around two months for three engineers on my team to build and release Google Pay because there was so much more planning, coordination with stakeholders, working with other stakeholder teams and the vendor themselves. As teams grow in size, product development gets hit particularly hard. Every team involved in the process uses a difference of tools and workflows. This fragmentation means there's no scalable way to answer what has been committed, what's at risk, who's actually accountable, who are we building this feature for? It's often a total mess.

The conventional approach is to compensate for tooling gaps with more headcount or with more status meetings, but in my experience, it doesn't help much. This is why Linear exists, to give high-growth teams a clarity and coordination they need without the overhead. Linear founders build a tool they wish they had during those chaotic hypergo scaling phases. You can try it yourself at Linear.app.vibshpigmatic and see why teams like Ramp and Clay also switched over. And now, let's get back to Michelle and her time is the founding engine at War.

When you joined Warp, what kind of technologies did you work on and how do you find your so-called stack or place? Because you later talked about how, you know, and startups or tech companies, there's kind of like more product and more infrastructure, more front and more backend. Where did you end up in the sense? So the stack at Warp actually first started out with JavaScript. And then we didn't...

Not even TypeScript. Oh, it was TypeScript. And then two to three months in, we decided to scrap that repository and then rewrite everything and rest. I have to ask why, although I suspect why. Yeah, so it was for performance reasons and it was also speed of development.

Yeah. So, while it was really fast to push out JavaScript code, we then did a spend a lot of cycles testing, stress testing against a lot of performance constraints. So one thing I did with our JavaScript app was that I drew a thousand rectangles and then I started scrolling the terminal and the scrolling was breaking. And it's extremely important for us to be able to draw a lot of rectangles because, yeah, like terminals output a lot of logs and everything needs to be really fast. There was also very strong sentiment amongst developers that they would only use high performance terminals that would build the level.

So even if there were two applications that were completely identical, one was built in Rust. It would just be distributed a lot better. People would love it. You had this at the back time back then, like the Rust community was small but growing very fast and extremely passionate. And so it was also very important for marketing that we built in Rust.

It was very, really funny when we decided to do it to build in Rust and then Zach sent the O'Reilly Rust book to everybody. So me, the other founding engineer, Alok, and he and then we would just read every day. And then every time we learned something new, we're like, oh, let's rewrite what we wrote previously. There are way too many on reps. So let's go fix that.

I was at a privilege of working with Nathan Sobor, who was the inventor of the atom editor and then eventually started Zat. And he had a lot of Rust experience. And every day he would pair program with me. And I just learned all of the Rust mediums. It worked really well.

I guess pair programming does work. Oh, yeah. I really enjoyed pair programming with Nathan because I learned a lot of small economical things that mix a big difference in using ID. I asked a question earlier about product engineering versus infrastructure engineering. And I wrote a piece like many years ago before that what product engineering even became in everyone's lexicon.

Product engineering and product first coding are like people who are more motivated by user problems and excited about solving user impact. And then they see technology as a means to an end, so user impact. And then there's like the call first people who tend to more map onto infrastructure engineering, where they're really excited about the best performance, the best libraries, elegance. I found through my Robin, Robin, internship, I very much am like a product engineer at heart. And I find that this division of product versus infrastructure engineering is a way better split to think about engineering than front and back end.

Because of the mental models of people tend to segment into roughly speaking two camps. So the product versus people who care about using impact, they go into computer science because of the things that computer science can do for people. And then the second camp, which is code first people who are really excited about the code itself and really excited about pushing the limits of code and they tend to map to more infrastructure problems. When you split people up in front and back end, it's like it doesn't mismatch in the mental models of people. Like this is my experience.

I was a front end engineer at one of my internships and all I was given marks to implement. And so I wasn't able to solve problems for users. So then I felt like, oh, I want to go back in engineering. And then in my other internship, I was placed into infrastructure. So I spent two weeks migrating from Amazon Athena to Presto and all I did was write SQL and migrate database roles.

And I was finally working on something that was closer to the metal, but also I wasn't really seeing how I was solving any user problems. And so it made me feel like, oh, wow, maybe I don't really want to do software engineering. And it was only after I got that opportunity and I advocated for joining the news team, the Robin Hood news team that I finally saw like, whoa, I actually really love solving user impact problems and user problems. And then while solving user problems, I get to use tools like back end and front end. And it didn't matter to me which one I was using as long as I was solving the problem of like the user, which is what news do I see and how does it look?

And it's like, I really sense that product engineer, it's also a kind of a verb or a phrase that is now spreading across startups. So many startups are now hiring specifically product engineers. So it is happening as a founder yourself. I assume at some point you will hire product engineers if you're not already hiring, but what would you look for like outside of the like this person can code and you know, has the basics, and what are the things that will tell you if like, okay, this person would be good at product engineering versus maybe not as much. One key thing though is whether or not they have work for a company that was product first in nature.

Like if they had worked on more like a user facing type sets tool like Figma notion, or slack, you know that those companies are very focused on product first thinking and they pick people who are product first. Then in an interview, you can also kind of tell based on how the candidate answers questions. So you asked them what they were doing, some people at their previous roles, some people focus a lot on like the very cool technology, and then others will focus on the business problem of like, oh, like, you know, we were leaking $700,000 a year to Amazon. And so it was very important that we migrated over to our own open source hosted presto, and then we did this and then this is why I'm doing business as opposed to like, oh, like, you know, it was very important for us to do this thing.

And it was very difficult because of XYZ reasons and then we used this library, but then this library didn't work, you know, you could really tell the difference. And it was very important also for our interview process to involve a product round where we asked people like, you know, what would they change about the terminal, and what would they change about a favorite app that they're already using? And then the best people who are thinking in terms of product who would know how, well, first of all, we have an opinion about how to improve a product and then second or fourth, we know how to talk about it from the user's perspective. And last of all, I'm able to create milestones in that product based on user visible milestones. So you would want, if you have like 100 things to do, how do you group it and sequence the things to do in a way where every milestone the user could see a difference as opposed to like maybe spending like 60% of your time improving performance or latency that would not be seen by the user until this front end was in it, for example.

So I'm hearing that like understanding the business, caring about the product, like having a lot of things that we might have associated purely in the past with just product managers, having some of that is increasingly important. And you know, for engineers, we'll have none of that. That's also fine. But it feels like increasingly they might be a better fit for infrastructure worker places where you don't need to think about product. There's like someone or a company where there is a product manager and they take care of all of that.

And it's just implementation, which sounds a little bit less fun, but these places exist and some people there are engineers who appreciate this. There's so many. I mean, they're all extremely important. When you are, you're at a company with a lot of scale, like really like performance memory, like the infrastructure you use is so important. But then when you're talking about startups, you're just starting out.

And so you need someone who is able to plug in all the holes in the company and the scale at the very beginning doesn't tend to be something that requires like that many billions of rules to handle or like request per second to handle. Yeah. So you've been a founding engineer. You're now founder. Clearly you're also hiring founding engineers and at Warby also hired product engineers.

How do you think a product engineer versus a founding engineer differs or do they, is it just a timing or is it also a little bit of a different personality or different kind of challenges? Yeah, that's a very good question. I think like founding engineer versus product engineer, they're like different access. So you could be a founding product engineer, you could be a founding infrastructure engineer or you could be like a later stage product engineer, later stage infrastructure engineer, later stage software engineer, AI engineer. I think that both my default on the definition, but I think founding engineer counts if you are in the first five or so that joins within the first few months of the company starting.

A product engineer in my definition is someone who is excited about solving user problems and they are full stack in being able to do that. So they could go in and be the front end feature, a backend feature or something that's end to end. They could also go into AI, they could go into infrastructure. They would use whatever tools in the tool belt of programming to solve the problem for the user. I think these days the way that startups are putting these job descriptions out, I think that they're actually more looking for purely front end engineers.

No one uses the term front end engineers anymore. I think when someone is like reading a job description, one should read it closely because I think that a lot of startups here are using the product engineer more as a kind of like a synonym for front end only engineering. So not all of them mean the product engineer that we were talking about. What do you think today at your startup, for example, now that we have all these AI tools, do you think it's going to push us away from even pair programming, even if people are in the same space or do you think the people who still do it are actually going to benefit a lot from it? I think almost like with the rise of AI, everyone now is pair programming with an AI and having someone to talk to or someone to talk to allows everyone to have a rubber duck every day and that helps everyone get better.

I think that with the rise of the return to office, there's also a lot more opportunities for sitting next to each other and just learning how people use their tools that we didn't get during the remote time because warp was remote first and during the first two years, I don't think I ever saw a second person. Oh wow, yeah. Yeah, during 2020. Of course, it was that time. At your current startup, how much are you using AI?

Oh, all the time. Like, it's almost a requirement at this point to use AI to code because then you can be more productive. What are your favorite tools or your common lead the tools that you reach for? Use clock code. Do you still use the ID or not as much or to review stuff?

So we use clock code inside the ID. Yeah. This IDVS code or I'm not sure if you can curse or one of them. It's cursor and then we have an engineer who only calls on them. So he uses clock code on them.

Oh, but then it runs there as well. That's pretty cool. It's crazy how quickly we've changed from ID only most engineers to actually just warming up to this. Yeah, technology gets better. One interesting topic that you mentioned earlier is some cautionary tales about how when you're joining an early state startup, especially an AI startup, some engineers can feel a little bit like screwed by founders.

And I think we talked about how you managed to get a great offer at an AI company with a founder who checked all the boxes. But I think it's important to talk about some negative patterns you might have seen or heard and helped avoid it because there's an explosion of startups, AI startups, founders who want to recruit engineers and sometimes I guess things can be too good to be true. Yeah. Yeah. I'm sensing a lot amongst my friends as well that people feel like specifically the founder might be equity hired away by a bigger company and then be the only one in the company that received any monetary benefit from the acquisition that we've seen in the news of some of the founders being hired away and then the team is left hanging.

That is the specific scenario that people are really scared of. And I've had a friend who told me that because of all these equity hires of the founders that's happening, she's just going to join OpenAI instead because it's safe. I think it's all about really understanding the character of the founder. One great way to find out about the founder is to do reference checks. Is this someone who actually has a good character who is generous with their people who care about their team.

The other good approximator is to see if the founder themselves were founding engineers to begin with because that's just like that leafed experience and empathy that you just cannot get unless you went through the ritual of having been a founding engineer where you're in there, the day that there wasn't even any code to the day that that was code and then the day we had our first user, the day that we didn't have the first user, all that pain and struggles to now have all these empathy that, hey, these folks are entrusting me with their career and they are taking a lot of risk. I cannot see a wall in which I wouldn't offer secondaries and tend to offer opportunities to them.

It's a big sacrifice. And maybe it's even worth asking on the interview specifically, these questions that if the company was to have some kind of reason you round and the founders would take secondaries would it be offered to other employees? If there was an acquisition to happen, would you bring the team with you? I guess it's not binding, but I feel there's a difference between when people don't ask and everyone just assumes versus doesn't hurt too much to ask potentially. If it's off a startup, that seems to have just a rocket ship trajectory.

Oh, yeah, absolutely. You definitely have the leverage to ask that in this time. I mean, it's an incident question, right? Where's the thing is they don't answer it or they refuse to answer or they can say something, right? And then you have some data points.

Yeah, the other thing is also to not listen to hard on what their answer is and to listen to whether or not they had thought about it before. When I was asking Zack about how he thought about early employees, it was very clear that he had been thinking about it for years. And so the answer that came out was very well thought out and it was a really obvious thing for him to be thinking about. Well, it was like, you know, a less thoughtful manager, my difficult answer, but it very clearly just came up with it on the spot. So now that you have a startup and you know, you now move from again, being working at companies to being a founder again, yourself, founding your own company and congratulations on coming out from stealth with Flint.

Thank you. How do you find what does it take to hire world-class engineers in an environment like Silicon Valley or with other founders you're talking to and also from your own experience? I think it's about showing that you care a lot about the team and that you value people on your team and that there's high trust between you and them that you will do every measure it takes to make sure that they are going to have a good time. And it's also about having really big vision about how this company is going to change the world and it's going to be huge and that this is a chance to change the world. Speaking of which, your startup Flint, can we talk about how you came up with the idea around websites and also how both what you're building but also how you're thinking these AI agents will change the world, the web.

So the website itself's become agentic. They build themselves. That means that if you wake up in the morning to a competitor having launched overnight, your website would have already generated you a comparison page that compares you with the competitor and it's already optimizing for conversions and it's also keeping track of the differences in your product and them every day and then updating it. So something that would have taken five agencies three months to do suddenly gets done overnight when you were sleeping and we were thinking of also automating all of the other marketing workflows around that we can hook into your sales calls and your gong calls and then find out ways of selling your product or solution pages that you might be missing.

Oh wow. Yeah. That's proper next level. Oh, yeah. Like, marketers really love this.

I'm not just talking obviously from the marketing angle but just from a software engineering how you have all these different input channels to capture feedback and then to eventually generate, this sounds really cool. Yeah. It is bringing autonomy to the web. We're really building a new kind of internet here where the website is now not only generated by AI and for AI but it's also becoming AI itself to be more dynamic and proactive. Michael founder actually ran teams at neural which is an autonomous vehicle company and we talk a lot about how autonomous websites are similar to autonomous vehicles in that it does.

They take in their perception system. Then there's a decision making system about, okay, based on this competitor based on these sales calls, what should we do? And then it would then have a control system that then actually implements the pages. And then it would then start off that loop again where based on how the page is doing in the environment which is the market, what should we then do? So by putting all of that perception that decision making and control systems into the same entity, we finally close the feedback loop.

That is the reason why it requires five agencies talking to each other to build a page. We had to have the five agencies because there were separate tools and different specialties to be bossing information between. And now if you put all of the tools in the same entity, you start having a closed loop where the website continuously optimizes it, self for your business. It's very exciting. So the first phase is that which is let's respond to your market based on real time data streams.

And then the next phase will be real time morphing and shapeshifting of the page based on who is visiting. It could be healthcare executive that comes and then we morph the page to highlight a healthcare case studies or like compliance related requirements from healthcare. And then we could even generate a sales demo that's specifically for that healthcare executive. Instead of needing to click contact sales and then wait a week for Zoom call where someone is extremely bored talking to you, you just have the website generated demo closely on the spot. And then if it's an AI agent that's visiting, we can also speak different, the website could also speak differently.

The agent doesn't want to speak in HTML. They want to speak in MCP, they want to speak in tool calls, API is marked down, JSON. There is a new agent to agent protocol that we're building here to redefine the way that agents interact with the web. You also create the concept of an agent web where instead of going to Google to find links, you could have the agents talk with each other to tell which agents are more credible than others and be able to communicate very quickly to help to sell a customer on the deal. This is so interesting because I feel like we're so focused right now or at least I'm so focused on how LLMs can help developer tools like just change how we do things.

We can't forget that there's a whole world out there where these tools can really just you know, they change a bunch of stuff like how we think of websites and how dynamic they are and how ultra dynamic or older person is. It can be really cool. Everything we know about the internet is about to change and Flynn is building that. Even today, one really interesting problem that we're solving, it's also a research level problem. It's in terms of creating on-brand landing pages.

It might seem very simple from the outside because like, oh, can we just choose the background color and the typography of a page and then turn out a page. Turns out that especially today, brand is very important. You wouldn't put a net, if you're a sales company, you wouldn't put a cursor generated page in front of Fortune 500, client and trying to close. You want to make sure that your page really matches your brand down to the very pixel and we have developed a capability in Flint to create a page that looks almost as if the customer themselves built it. We work with condition on the events pages as well as the comparison pages between WinSurf and Cursor, for example, and that's being cited by LLMs.

It feels to me, you've got an expose, like one part of how you got it, maybe you've got it otherwise, but it feels you really got here because you were at a founding engineer at a startup, you've seen so many things. What would your advice be to software engineers who would love to join as a founding engineer, maybe an AI startup or a fast-roll startup these days? A lot of them are AI, not all of them. If it's someone who has some experience in the field, what tactics you think might work for them? It's about showing that you've built in AI before because that scale is very much high in demand and it's very new, very few people, relatively speaking, have a built-in AI product before.

So just spending like some time over weekends knowing how to build an AI product already helps you stand out above many people. Yeah, AI product, we mean something that is using LLMs underneath the hood to do whatever it might be. I don't know, maybe that'd be just a search engine based on LLMs or anything that's scratch is rich. That uses any of the models, the completion APIs. In terms of excelling in that role, it starts off with picking the right founder.

But then once you do join, it's all about volunteering to do things that no one wants to do, but it's the most important thing for the business. So I did what most engineers would consider to be the worst job ever, which is to be the face of the company on Hagenus at warp. So I wrote the blog post, I published them on Hagenus, and I answered all the questions on Hagenus. I went out there and I created out a company Twitter and I was writing tweets for the company. And starting a YouTube channel for the company before any developer to a company is really thought about doing YouTube, starting a Discord channel, filing every feedback, starting to get up, things that are very different, like outside of engineering, but the business really needed.

And then you're still doing your engineering job, you're still fixing bug and etc. But on the top of it, you're figuring out how to help the company, right? Yeah, you still have to make sure that you're doing your number one job, which is software engineering. So that needs to stay the main focus and you should only volunteer for other stuff if you're already doing well in your main job. The benefit of doing a lot of these things and learning how to do a lot of these things is that then you get to learn what businesses need.

You can come up with ideas that are not just developer two companies, for example. And at one point, because I was doing all these things and hiring other people, I remember after one of the board meetings, my founder reached out to me and said that, hey, you hired all these people in growth. When you're going to be head of growth, you're going to be starting and managing this team from now on. And I was like 22 at the time and suddenly and executive suddenly reporting to the board every quarter on that, like well, numbers and revenue, you wouldn't get that unless you volunteered to do random things and then make sure that every time you do this, you do them exceedingly well.

Because it's not necessarily just about doing well and that domain. It's about the founder knowing that whenever they pass you a job to be done, it will be done excellently. And then this way you get more and more responsibilities. Eventually, I ended up reading enterprise sales for Warp because we had this problem where we started getting a lot of security questionnaires from companies that were using Warp. And I saw that problem and I was like, oh, this is not a security problem.

This is an enterprise sales opportunity. This is the start of a conversation in which if we have an enterprise sale, we could feel your questionnaires and we could have Sock to reports and we could have all these nice compliance controls and editing panel. If you paid us like, you know, this amount of money, yeah, it's things like this that really help you do well in a company is doing the things that are very unsexy that nobody wants to do because before you know it, you might be running enterprise sales because no one wanted to work on security questionnaires. It was a hot potato that was passed around multiple quarters until you went to me. And I guess it's probably needless to say, but if you are working as a founding engineer or like and you're or even as a software engineer, you're picking up all these things and balancing all these things and from the outside, it's like, how are you doing all these things?

I guess as a founder, it's kind of preparing you to be a founder because as a founder, you'll definitely have to balance all these hot potatoes at the same time. Oh, yeah. As a job of a founder and a manager, it's always about taking the things that no one wants to do so that everyone else can be in the zone of genius. They can spend all the time working on this engineering problem. And yes, I will deal with that.

As closing, let's do some rapid questions. I'm going to ask a question and then you tell me what comes to mind. Sounds good. Yeah, that sounds good. What's your favorite programming language and why?

Oh, Rust. I feel like I get a lot of satisfaction every time I pass the borrow checker because it's very difficult to write, but I can't. You're just a flint. You use Rust as well? Uh, flint.

We are a TypeScript shop. We are building autonomous websites and we're building websites that be themselves with like, you know, so it's helpful to be writing in a language that deals the website. I'm sure Rust will find this way in there sooner or later. All right. We'll see.

What are one or two movies that you would recommend that you enjoyed? Yeah, I really enjoyed weapons. It looks like a horror movie on the outside, but it is very enjoyable. There are many committing moments in it. And I also really enjoyed the non-linear narrative where it is a story about sometimes in the early 2000s, there were children who started running out of their houses at 2 AM and then they all disappeared for a month.

And the movie, it's a real life story and then the movie creates a narrative for like what would have happened. And then every chapter in the movie was showing a different character's perspective and every perspective added a different way of viewing the story altogether and almost changed the genre each time. And as a horror movie fan, I was hard at every chapter was a different character in a horror movie trope, which I found that it was really smart. So I highly recommend. I am not a horror movie fan.

I watched this movie and not knowing what I got myself. I will say it's memorable, it's still giving me shivers and it still makes me think. So very recommendations. Thank you. Michelle, thanks for being on the podcast.

This was just really interesting to see how much you can learn being as a founding engineer, how you can do it, how you can lead to starting your own company doing super exciting things with Flint. So good luck with Flint and thanks for being here. Thank you so much. I always find it interesting to hear how someone became a founder. And the Shell story felt pretty approachable to me.

What really got my attention was how Michelle was volunteering to the unattractive work. In this case, working with the marketing agency to build marketing websites at Warp and this got her the idea and expertise to start her current startup, which is about creating marketing and launch websites with AI. Michelle's story is a great reminder and that to be a great founder, you probably need more than just software engineering. It's also helpful if you understand different parts of the business and you get your hands dirty with non-tech work as well. One other thing I found interesting is how Michelle thinks that GEO, general of engine optimization, basically LMs recommend the website will soon become perhaps even more important than search engine optimization.

Thanks for tuning fast in the web, thanks AI and perhaps web pages will become a lot more responsive and fluid thanks AI and in response to LMs. For more details on how to be a solid founding engineer, see the pragmatic engineering deep dives linked in the show notes below, including an article on lessons from the trenches of being a founding engineer. If you enjoyed this podcast, please do subscribe on your favorite podcast platform and on YouTube. A special thank you if you also leave a rating on the show. Thanks and see you in the next one.

Frequently asked questions

How long is this episode of The Pragmatic Engineer?

This episode is 1 hour and 4 minutes long.

When was this The Pragmatic Engineer episode published?

This episode was published on December 3, 2025.

Is there a transcript available for this episode?

Yes, a full transcript is available for this episode. You can read the complete transcript on the episode page.

Can I download this The Pragmatic Engineer episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.