
Loading summary
Farhan Thawar
If you do the hard path and it doesn't work, actually you still kind of win because you've now done something hard. You've probably worked with smart people. You've learned something along the way that is like valuable. I meet lots of job seekers. I go, what are you doing to try to find a job? Are you really learning anything from sending out 10 resumes a day? Why don't you look at the API docs and build something? Even if you don't get a job at Shopify, you've learned something.
Lenny Rachitsky
First, I want to talk about another theme, creating intensity in your organization.
Farhan Thawar
Everyone says, oh yeah, like work hard and like do more hours when you're young. Whatever. I'm like, what if you just did more per minute?
Lenny Rachitsky
The more I dig into the Shopify way working, the more fun stuff I never expected emerges. There's been a drive to delete code and simplify.
Farhan Thawar
We have a delete code club. We can always almost find a million plus lines of code to delete, which is insane.
Lenny Rachitsky
I found this great quote from you. Not everyone can look stupid in public over and over, but I believe it's my superpower.
Farhan Thawar
I have been in many situations with many sharp people who have said to me that's the stupidest question I've ever heard. My goal there is not to annoy the person, but is to understand the content.
Lenny Rachitsky
I was looking at your LinkedIn and your career history and I noticed that you worked for a different billionaire every decade of your life.
Farhan Thawar
They're mostly different people, but they're similar in one thing is that they haven't.
Lenny Rachitsky
Today my guest is Ferhan Thauer Furhan is vice president and head of engineering at Shopify. Shopify is an incredibly interesting company because they have over 10,000 employees, are fully remote, and even though they were founded almost 20 years ago, they continue to operate with urgency, velocity and a very first principles ways of thinking which translates into them seeing record usage, blowing away their earnings calls just recently, and building a beloved product. A lot of this is thanks to Ferhaan, who in our conversation shares very specifically what he's done to maintain intensity and urgency within the engineering team, including their meeting cadences, the counterintuitive power of pair programming, how they run meetings, how they cancel meetings constantly, and so much more. He also shares his experience with indexing towards choosing the harder option when you have multiple options to choose from, and why that ends up making your life easier. He also shares a bunch of great hiring advice and a bunch of hiring stories which are going to blow your mind. He also talks about their engineering intern program where they're going to hire over 1,000 engineers just for their intern program in 2025. And I've had a lot of people on this podcast from Shopify, but that is for a very good reason, because this company and its leaders have a lot to teach us about how to run an incredible business and build an incredible product. If you enjoy this podcast, don't forget to subscribe and follow it in your favorite podcasting app or YouTube. It's the best way to avoid missing future episodes and it helps the podcast tremendously. With that, I bring you Farhan Thauer Furhan. Thank you so much for being here and welcome to the podcast.
Farhan Thawar
Thanks for having me.
Lenny Rachitsky
As I was preparing for our conversation, I talked to a bunch of people that you've worked with over the years, and there's basically three themes that kept coming up over and over and over. One is hiring, two is creating intensity in your organization, and three is choosing the hard path. First of all, does that resonate? Second of all, does it sound good to talk about these three themes in our time together?
Farhan Thawar
Yeah, I think. I mean all I have ideas on all where all three of those things came from. And I think that it is something that if you look back on my career, I've like hit points on each of those things. But I don't think at the onset I knew that that's what I was doing. But it turns out in retrospect, that's what I end up doing.
Lenny Rachitsky
Perfect. So this is like the Steve Jobs everything looking backwards. It all connects. Today's episode is brought to you by dx. If you're an engineering leader or on a platform team, at some point your co will inevitably ask you for productivity metrics. But measuring engineering organizations is hard, and we can all agree that simple metrics like the number of PRs or commits doesn't tell the full story. That's where DX comes in. DX is an engineering intelligence solution designed by leading researchers, including those behind the Dora and Space frameworks. It combines quantitative data from developer tools with qualitative feedback from developers and to give you a complete view of engineering productivity and the factors affecting it. Learn why some of the world's most iconic companies, like Etsy, Dropbox, Twilio, Vercel, and webflow, rely on DX. Visit DX's website@getdx.com Lenny this episode is brought to you by Persona, the adaptable identity platform that helps businesses fight fraud, meet compliance requirements, and build trust. While you're listening to this right now. How do you know that you're really listening to me? Lenny these days, it's easier than ever for fraudsters to steal PII faces and identities. That's where Persona comes in. Persona helps leading companies like LinkedIn, Etsy and Twilio securely verify individuals and businesses across the world. What sets Persona apart is its configurability. Every company has different needs, different depending on its industry, use cases, risk tolerance, and user demographics. That's why Persona offers flexible building blocks that allow you to build tailored collection and verification flows that maximize conversion while minimizing risk. Plus, Persona's orchestration tools automate your identity process so that you can fight rapidly shifting fraud and meet new waves of regulation. Whether you're a startup or an enterprise business, Persona has a plan for you. Learn more@with Persona.com Lenny Again, that's with P-E-R-S O-N A.com Lenny okay, so let's start by talking about the hard path.
Farhan Thawar
Okay.
Lenny Rachitsky
Advice that I've heard you share with people often is when they're trying to decide amongst a bunch of options is to choose the harder path because that makes life easier down the road. Share this advice why it's so important where you learn, where you kind of like develop that this is the right approach.
Farhan Thawar
But the short version is that if you have a choice and you choose the easy thing and it, and it works great. If you choose the hard thing and it works great, like, you kind of did more work. But if it doesn't work and you chose the easy thing, you've actually not learned anything because you kind of chose the, like, you haven't done a lot of work. You haven't probably worked with the smartest people because they don't usually are not usually around in the easy path. And what happens is you've gone through this exercise and now you're like, I've kind of lost. I lost the choice and or I, I was trying to do something I didn't have. It didn't work out for me. But if you do the hard path and it doesn't work, actually you still kind of win because you've now done something hard. You've probably worked with smart people. You've learned something along the way that is like, valuable. And I can give you like a quick example. So I meet lots of like job seekers and they're like, I go, what are you doing to try to find a job? I'm like, I'm sending out ten resumes a day. I'm like, okay, that sounds like kind of easy. And like, are you really learning anything from sending out 10 resumes a day versus I would say to them, hey, you know all these companies you're interested in, Shopify may be one of them. Why don't you look at the API docs and build something? Build a Shopify app, build an admin extension, like build something on top of Shopify. Even if you don't get a job at Shopify, right? Which is maybe your goal, you've learned something, you've built something. You have things in your GitHub repo now, and you can show people you're learning about the product. That might translate to a job you might get somewhere else. But. So I think that even though it's harder, right? Of course you can't every day build an app on a different platform. Maybe you can once a day you will learn something in the hard path. And the same thing happened to me in taking hard courses. I would get worse marks, but I ended up meeting smarter people in those courses because they were there for the same reason I was, because the content was hard. So that's something that I've, I've. I've just realized in my life that if I do the hard thing and I just naturally tend towards doing that, like I ended up doing, I went to Waterloo and I did a minor in electrical engineering on top of computer science. And when I did my mba, I did a minor in financial engineering because the smarter people were in that path and they're still my friends today.
Lenny Rachitsky
So on that building on the last plane just made, people could hear this and think, okay, if it's harder, that's gonna be the right path. Sometimes harder is still like a bad idea. Like, for example, joining a terrible company that's extremely frustrating to work at, or building, I don't know, a house in a really dumb way. But it's just really hard. What else do you find is important to think about when you're thinking it's not just harder, but also X, Y, Z should probably be true.
Farhan Thawar
Yeah, one, one real one is of course, the people. Because I find that my path has always focused on trying to pick the best learning journey. Like, where can I learn the most? And for me, everyone's different. Like, some people might learn better from, like, books or the domain they're in, but for me, I learn a lot from people. And so I try to put myself in those harder rooms on purpose. There was a time when I was doing my MBA in financial engineering. By the way. And I mean, I was, I'm a tech guy and still a tech guy. And all these people were going into like, finance jobs. There was a point where somebody said to me, why are you in this class? Because they knew that I was doing it for fun. Right. And so it was because it was the learning journey. And so I would say a big part of it for me is, yes, there's the how do you win even if you lose? Because if it goes poorly, you can still come out of it with skills. But if you actually take the hard path, you'll have these, like, intense working relationships with smart people that again, will continue on in your life. And that also just forces you to be in this constant state of uncomfort by going into these rooms and saying, I don't know anything. And it's harder. And I agree with you. You don't want to do dumb things like, oh, let's just do this thing in a dumb way. That's not what I mean. I mean, let's try to do the hard thing that we can learn, learn from. And by the way, it happens to be on the path. It's just as a. Is a. It might take more manual work or it might not be the way most people do it, but we think we can learn more from that path.
Lenny Rachitsky
Speaking of that, I found this great quote from you. Not everyone can look stupid in public over and over. But I believe it's my superpower and I try to make it my whole team's superpower too.
Farhan Thawar
Yeah. And I think, I mean, it sounds funny, but again, I'm the one who's always trying like super dumb things and sometimes they work and you know, like even like my wife hates that I try these things even at home. Right. I'll just like, you know, what's an example? Like, you know, maybe like a new, a new washing machine. And I might try some weird mode with some clothes. And I'm like, oh, you ruined the clothes. I'm like, okay. But now I know that this mode should not be used, but maybe I would have uncovered that there's some super fast quick wash that I can do in 20 minutes that now saves us, you know, 40 minutes of wash time every single time we use the washing machine. So there's things like that, but I will ruin lots of clothes trying to do that. But same at work, we'll try things and sometimes it can lead to disaster. Hopefully not. But you can imagine people trying to like, oh, let me try this new configuration of gcp. And like, maybe we'll get some benefit, but maybe we'll take Shopify down. Like, we don't, we don't want to do that. So you want to, you want to have some sort of guardrails. But there is something around trying dumb things and saying dumb things. Right. Half the time, by the way, when I say something dumb, people go, I had the same question, right. They just were scared to say it.
Lenny Rachitsky
So for folks that may want to, because I feel like the skill is so hard, but so important. Being okay with failing, being okay with looking dumb. Is there something you help people, you tell people to help them build this, other than just, like, I'm genetically good at this stuff? Like, what helped you become comfortable with being wrong and failing? Before you were like a big shot exec where it's like, oh, he's fine. He knows what he's doing.
Farhan Thawar
I don't know. I mean, I kind of grew up working retail and like, people come into the store and then they would say, hey, and you're on working on commission. And they're not always buying stuff. And if they don't buy it, you don't make any money. And so maybe just the fact of, like, going up and forcing myself to talk to people and then, you know, trying to get them, and maybe you spend an hour with a client and then they don't buy anything, but you're getting that, like, that reaction of like a bunch of negatives. And all you have to do is say, okay, and just go to the next customer. Like, you can't really dwell on it and be like, oh, my God, like, this is going to, like, my whole day is ruined. But instead you have to learn from that and say, okay, let me try this, let me try that. And it's not easy, but it was a way to kind of build up some, some confidence. And people say this, like, telemarketing or, you know, like, there's a bunch of things you can do to get a lot of rejection. Um, cold calling is another one. And that's. That can lead you to actually building up resistance. I don't know if I'm genetically better at it or not. I just think that I literally don't care if I look dumb. Like, I've always said, like, the dumb thing. I'm not doing things on purpose to get no's, which, by the way, is part of, like, some sales training, which is like, go and get 10 no's. And, you know, like, like, that's. But I don't. I haven't done that, but I have Been in many situations with many sharp people, business people, successful people who have said to me like, turn around and said, that's the stupidest fucking question I've ever heard. I've definitely had that happen to me. And I'm like, all right, let's move on to the next question.
Lenny Rachitsky
I love that attitude and I think that's key to it. It's just like bounce off of it and not be crumble. And I think it's empowering for folks to hear from someone like you that has done so well that people tell you that is the dumbest question I've ever heard.
Farhan Thawar
Oh yeah, Still, Still. Yeah, that. So how about this? That I heard that's the dumbest question. And then recently I heard, I've already explained this to you three times. Like, because I kept asking and I didn't, I didn't understand. And literally I got this message back saying, I've already explained this to you three times. I'm like, okay, like, I still don't get it. So like my goal there is not to annoy the person, but is to understand the content. Right. And actually, by the way, I say these were like messages. I saved them. Like I literally screenshotted because I'm like, remember this? Like, it doesn't matter.
Lenny Rachitsky
I'm trying to learn one more question along these lines. I was looking at your LinkedIn and your career history and I noticed that you worked for a different billionaire every decade of your life. So there's a guy named Joe limond in your 20s and Chamath in your 30s, and Toby this decade, maybe yourself, next decade, if things go well, other than what you've shared, or maybe it is what you've shared. Is there a thread across these three folks that have been really successful that you've learned from that maybe is consistent across them all or even just like specific to each one?
Farhan Thawar
It's interesting because I didn't. Yeah, again, this is like looking back, you're like, wait a sec, I didn't plan it this way. Like there's no way you could plan it right. I'm going to work for a different billionaire every decade. Like that. That's not how it works. But they're very, they're similar. They're mostly different people, but they're similar in one thing is that they have an irrational view of what the world should look like over the next decade or so. They're very long term thinkers and they're irrational in that they'll look and say, hey, in 10, 15, 20, 25 years, this is what the world's going to look like. And I'm not good at seeing that vision, but I'm good at trying to move towards that vision. One percent a week. And so the melding of the two, I know where I'm good and I'm good at, like, kind of pushing the ball forward. And if they're good at the long term vision, we can both align to say, like, you're good at this thing, I'm good at this thing. How do we. Why don't we merge forces? And so that is something that has resonated with me is like, how do I find these irrational. Like, you know, all progress depends on the unreasonable man, right? Like, how do I pair with these people? Because I'm altogether too reasonable and there's no way to. For me to become unreasonable. And so I have to kind of merge with these people. And so that is again, something that I specifically have sought out. And even when I was starting my own company in 2015, I actually sat down and wrote a list of all the unreasonable people that I knew in Toronto. And I went down the list and met every single one of these entrepreneurs to figure out, are we API compatible and could I work with them? And I ended up picking one of them and starting a company.
Lenny Rachitsky
That is an amazing story. So, first of all, I just love this insight that being aware of, I am not. This is not a superpower of mine. And I'm not going to try to build it. I'm going to find someone to merge with, connect your APIs together, and be the person that builds it, not the person that envisions what to build. I think that's awesome because a lot of people I'm gonna, I need to get good at all these things. I need to become the best at vision and strategy and execution and collaboration and all these things. And so I think alone, this isn't really interesting insight is just recognize your strengths and weaknesses and double down on your strengths.
Farhan Thawar
Yeah, it sounds funny, but like, me and you, you, you talked about it that, that framework I wrote down, which I tweet out, like me writing that down changed how I picked jobs forever, right? Because I kind of had this lull after my first job in between where I was trying to figure out why nothing felt as exciting as my first job. And it turns out that it took me to sit down and be like, what do I actually care about? And you get. People can get confused. I get confused all the time, by the way, by things that are not on my framework. So for Example, a good one. Title, company, money. All these things can confuse you because you could have somebody say a recruiter messages you and says, hey, by the way, here's a new job and here's the compensation. You're like, oh my God, like, this is exciting. And if you don't have a written down framework of the things you actually care about, it's very hard to be distracted, right? So very hard not to be distracted. You get distracted by that. So instead I look at the framework and go, does this align with my framework? Right. Actually to the point of like, I actually sent my framework to a recruiter one time and I said, hey, this thing. Because they kept going back and forth to me and I go, hey, this doesn't align with my framework. Right. So it really saves me time from not being distracted. But it also forced me to think about kind of every year I can reevaluate what I'm doing and look at the framework and say, is this true to my values? Now my wife will say this, that I'm like a robot. When I realize that my framework is being violated, I will resign, like instantly. And I've done that before. So without even having another job or anything, I just go like, oh, my framework is being violated, and then resigned. So there's this thing where I just, I know what I enjoy working on and that framework helps me find it. And so I encourage everyone, anybody looking for a job. I always say, write down a framework. You can use mine as inspiration. Right. But figure out what you care about and make sure that what you're working on lines up with that.
Lenny Rachitsky
And this framework is the questions to ask about where to go work. That's your framework. Okay, cool. We'll link to that so folks can check it out. The example of you resigning when it didn't meet your framework, is that a story you're up for sharing? Is there something to learn from that?
Farhan Thawar
Yeah, sure. Mean, like, so this happened when I was at my previous. A few companies ago, we were running a mobile company called Extreme Labs. That was the one that Chamath was the major investor in. And so we worked with them directly. And what I realized was. And so we got. That company was amazing. We worked on it for many years. It was mobile app development company. We got to work on mobile apps for like the biggest brands in the world. Facebook, Twitter, Instagram, vine, the NFL, NBA, Bloomberg, Slack, like you name it, we worked on those mobile apps. And this is right when the iPhone and Android were really gaining steam in like 09 to 2013 era. And then we eventually got acquired by Pivotal. And over time, my role at Pivotal, Pivotal and Pivotal Labs changed from, hey, I was running the biggest office in the world. I was running the biggest pair programming office. I'm a big fan of pair programming. To one in which we were really trying to attach consulting to, like, the product. And I ended up being, like, a field cto, which really, you know, was. I mean, it was fun to learn about that world, but it was different than what I was doing. And so if I looked across my framework, it kind of was violating all the things that I was trying to. I wasn't working with the smartest people anymore. I was on ic. I wasn't learning as much as I could be learning, and I was. So. I wasn't on this, and I wasn't having a lot of impact. I was like, oh, wait a sec, this is completely, you know, not aligned. And then I just told the team, hey, I plan on resigning. And. And that, by the way, led to great other things because I'm an investor and new companies that have spun out from there, and, like, it was a great experience. I'm just saying, like, hey, it at the time lended me to say, hey, you're not. You're not actually focused on the right things.
Lenny Rachitsky
I want to come back to Extreme Labs there. I know there's other stories there that are interesting, but first, I want to talk about another theme of things that people often raised when I asked them about you. And this one is intensity, and it's specifically creating intensity in your organization. The value of that, the power of that. I've seen that. The way you describe this, and I love, is how do you expend more KiloJoules per hour versus spend more hours on work? So talk about just why intensity, first of all, is so important to an organization.
Farhan Thawar
Yeah. So I think there's a. There's a few things. One, I have this fundamental belief that, like, one hour is one hour. Like, it's the same hour. Right. If you spend an hour, I spend an hour. It's the same time that goes by. And if I just expend more calories in that hour. Right. Like, we both are. You know, let's say we both work 9 to 5. If I can just get more done in the 9 to 5, we have both. The time has elapsed the same for us, but I just got more done. And that allows me, of course, then to be like, hey, I'm gonna take my kid to soccer and do other stuff. Like, we can still do the same things out of work, but during work I just want to try to get as much done as possible during the time versus expanding the time. And I can give you an example, right, I used to work at a company where, you know, it was like I worked 12 hours a day, but I was playing foosball in the middle of the day and then we'd go for a coffee break and like you kind of do these things. And of course the time expanded to 12 hours versus you know, trying to compress into that eight hour day. And pair programming is a great example because so it's such an intense activity, two people on one machine. You can get so much done when two people are working together, not being distracted by the Internet and distractions and just focus on writing like the solution to the problem at hand. And it's so tiring that usually when people switch on to pair programming, they sleep like, you know, 10, 12 hours a night the first few nights because it's so intense, you're working so hard. But for me, that intensity actually leads to like extraordinary outcomes even if you don't have to put in more hours. Like, I think most people, I. You probably hear this all the time. Everyone says, oh yeah, like work hard and like do more hours when you're young, whatever. I'm like, what if you just did more per minute, right? Like quickly get through things. I think there's another unintuitive fact is that people who are really good can actually output high quality collateral quickly. So like take a person who is good and extremely good. The extremely good person can actually get a lot of output in a short amount of time and the person who's good might take longer. Like I think there's a, there's a time variance there that people don't think about. So you can kind of like not drop the quality too much, but get the time down by like 2x3x right? Like Parkinson's law at scale instead of, you know, if I give you an hour to do something, a good, a really good person can get a high quality output in one hour.
Lenny Rachitsky
I want to talk about how you create an org that operates this way, but specifically you just mentioned pair programming, and I know that's one of your favorite tools. Talk about why this is so powerful. When he recommended, I think as an outside observer, it's like two engineers on the same code. Why wouldn't we do things half as fast? Talk about just why you're a big fan of pair programming.
Farhan Thawar
Specifically, it is the most underutilized management tool in engineering, bar none like it is just not used as much as it could be. So pair programming, you know, for those who don't know, it's two people on one computer, right? So two keyboards, two mice, two monitors, but one computer, they work together and if it's remote, they use it. You can use a tool like Tuple, like which we use, and you can just remotely be on one computer. And you're totally right. The famous tweet about pair programming is, wait a sec, we have two engineers on one computer. Won't they write half as much code? And the answer is, oh, no, no, they're right even less than that. Because it's not about lines of code, right? The throughput limiter is not hands on keyboard. It's not like we're both sitting there and the limiter is like us trying to get through the key, like the keystrokes onto the screen. The limiter is where is the good elegant solution? How do we think through the problem and build the right solution for the problem at hand? Tobi famously built a lot of Shopify pair programming. And what he would do is he would actually set a timer and him and the CTO Cody would pair program for one hour. And if they did not finish the problem in one hour, they would delete all the code and they would keep the tests and they would start over. And then what their thinking was, if we were not able to articulate and write the code for this feature in one hour, we must be on the wrong design, we must be building the wrong thing. And so they delete all the code, kept the tests and then wrote it again. And sometimes it'd be over by one minute and he would still delete the code and start over. Because his thinking was the right elegant solution should be able to be written in one hour. Pair programming, I mean, that's an extreme version of it, but even at like pivotal Labs, if your pair was sick that day and you wrote a bunch of code, the strong version is like, your pair would come in the next day, delete all the code that you wrote, and then you'd write it again the next day. And again, like, what better time to rewrite code than like right after you've written it? Because you now know the problem domain and it's. By the way, it sounds like a waste of time, right? Like, it sounds like I'm just deleting code. But the reason is, is that code lives a long time, code is a liability and the like the right solution, the usually shorter lines, more Elegant solution tends to appear after you've done a bunch of pathfinding. And the only way to do that pathfinding is kind of start and then delete, and then start and be like, oh, no, now I know delete. And it's super hard to delete, by the way, because, you know, we're humans and we have this sunk cost fallacy. So it's hard to delete. But if you can do that, you will actually land upon, like, a much, much better solution. Of course, pair programming has high, high rates of learning because you're just like, sitting beside, like, not only you know, whether it's tuple or remote, like or directly. You learn keystrokes and you learn how somebody thinks about a problem. You go back and forth on the talking. And yes, you will write, like, probably less code, but you will move faster along the path of, like, delivering value for your customers than you would if you did it on your own. And there's all these studies that show happiness is higher, knowledge transfer is higher, less silos, intensity is higher, all the things, and at a price of like, you know, 20% or something of like, what you would normally do. The analogy I have is the underhanded free throw in basketball, right? Statistically known to sink more baskets, but looks dumb. And nobody does it, like, literally Shaquille o'. Neal. I'm not that big a basketball fan, but I read this about Shaquille o', Neal, who's a Hall of Famer, and they said, why don't you throw underhand? Because, like, he was notoriously bad at free throws. And he goes, it looks dumb. Even though he's paid millions of dollars a year to do this thing. It looks dumb, doesn't want to do it.
Lenny Rachitsky
I remember those Shaquille o' Neal years when he was. He had a special free throw coach and I remember them talking about this and he's like, no, I'm never going to do that.
Farhan Thawar
I'm never going to do it because it looks dumb. And by the way, go back to the beginning of the, of the interview. I don't care what looks dumb or looking stupid. We're going to do this. And so actually, I ran the biggest pair programming shop in the world.
Lenny Rachitsky
So on that note, so what percentage of shop, like Shopify do this? Is this how you all operate?
Farhan Thawar
Yeah. So Shopify. I mentioned that Toby and Cody did this at the beginning of Shopify. And the cool thing about pair programming is, and in my old world at Extreme Labs, is that we knew exactly what to build because we were building like mobile apps that were almost like contract manufacturing. They're like, we have an iOS version, can we build an Android version? So we kind of quickly were able to say, here's the spec. Go quick. Shopify is such a different company. Right. We are a pathfinding company. We are trying to find the right thing to build. And so pair programming may or may not make sense all the time, like pivotal and extreme. We were doing 40 hours a week. Shopify is much more of like a four to eight hour a week pair programming culture where you're gathering together on a problem and saying, hey, let's pair for half a day or let's pair every Wednesday. And we use that tool in our arsenal to move quickly down a path. But a lot of other time is spent pathfinding and trying to figure out what to build and trying to convince people to be like, hey, we're going to go down this path. Oh, now I know exactly. And sometimes, by the way, 18 months later, we've now figured out all the things and we should, that's the time we should delete everything and start over. And that's something that we will do at that point. And so you don't want to be pair programming for 18 months. You want to be like wayfinding and path finding and then go, I see the matrix. Let me just lead everything and now build it. Because the learning is what you're going for. We have all the learning now let's write the code.
Lenny Rachitsky
Got it. So it's basically when the code is really. You're pretty sure this is correct and it's really important segments of the code base pair program.
Farhan Thawar
Yeah. And then also we do a lot of pairing during like an incident or a way to like figure out together, work with somebody and say, hey, I'm not really sure. And let's, let's jump on a call together or jump on a tuple and like go down the path and say, let's figure out together what's going on.
Lenny Rachitsky
I can't help but ask AI, how does that impact this way of working?
Farhan Thawar
So AI is super interesting what's happening right now with an AI copilot. Like GitHub copilot is it is your pair programmer. So you now can feel like you're pairing actually without another human you can pair with the AI. And so what's happening too is that you're seeing people use like, like whisper, like they're talking to cursor and they're talking through whisper to say, okay, let's Build a new react component that does this and they're talking and then it's building us. Oh, no, that's not what I meant. I meant doing this so you can actually not even have to type, just using voice. Go back and forth with your pair programmer. I would say that's amazing. I would still contend. Take that experience and add two humans together. So you've got like an AI copilot and humans. Because what's happening is generating code and the two humans can look and say, oh, I know what it's trying to do and either delete the code because you have inspiration and write it yourself, or just take the suggestion and move it forward. But I love today's world of AI copilots because you're now, you never have to code alone on your own, right? You never have to code alone. You can try a different language now because the API and the syntax is much easier to pull forward. And so all of those things are like a win for engineering and a win for everybody who wants to build any sort of software that makes a lot of sense.
Lenny Rachitsky
Basically everyone's going to be a pair programmer.
Farhan Thawar
Yes, exactly.
Lenny Rachitsky
In the future. Okay, I want to come back to what else you have done at Shopify to create intensity. And I think again, it's important to highlight the intensity is meant to. How do we get more done in the time we have and then go home, not just work all day, every day, weekends, kind of intensity.
Farhan Thawar
Yeah, so we have a few things that we have going for us, right. So one, we have this tool called gsd which stands for get shit done, which you probably heard from maybe talking to other shop of folk, which is this notion of like weekly updates to the whole company on what's happening. Again, Parkinson's Law at scale. If you ask people every week, they want to show progress every single week. So that's one way. I talked about pair programming as well. The other thing we do as a company is we used to have like twice a year was our cadence. We like like Black Friday, Cyber Monday or like we had like an event in the summer and now we do six week reviews. So teams have this notion of like every six weeks actually coming together and walking through the roadmap, the resourcing and what they're working on with their immediate leadership, but then also with Toby. And so what's cool about that? And by the way, it's a huge time investment, right? We all get into a room. It's happening tomorrow. So Tuesday, Wednesday, Thursday, we're going all, you know, a Bunch of us will be in the office together and we're going to go through every project in the company and we're going to talk about the project, the resourcing, how it's going and we're going to make changes. And again, that creates intensity because you want to show what has been done. What have you learned since the last six week review? And we find six weeks is a very good cadence because it's short enough that you can remember the context and it's long enough. Six weeks is long enough. Especially if you have, let's say a team is a dozen engineers. You can do a lot. And not only that, you can do a lot in a day, but this is kind of like a check in point. And, and what I've noticed too with intensity is let's say we get a review and there's some feedback we get in that review. We don't wait till the next six week review, right? Like the next day we are building things, we are iterating, we are tagging people and then by the next six weeks we're like, here's, here's the trajectory, right? Like I actually, I want to get that Elon shirt made. Like, what have you done this week? Because Parkinson's law is real. It sounds funny but like we, I, you know, I keep bringing this up, but whatever time you allot to something will be the time it takes, right? So if you're doing something monumental like, I don't know, you're doing like a reorg or something, right? You can do it the slow way. Let's like sit down and plan and roll it out. And it's probably like six months. In most companies Shopify, this is like a week or two. You sit down, you're like, hey, this is kind of the bones of it. Let's bring some more people and think. But then you know it's going to start like leaking. So we just like launch it, right? And we do the same thing with lots of things shop. We just try to move more quickly and get out of the change. We don't do change management. We kind of just like land it and then go, hey everyone, it's kind of like a volatile company. This is what's happening. But this is how we get things done quickly and then move on with our lives.
Lenny Rachitsky
Wow, there's so much there. I've been through those six month reorgs and I'm trying to like, I think that context you just shared of we're at a volatile company, we're changing things, it's not going to be smooth. But here's we think this is for the best. It's just the culture of Shopify. It sounds like we want to keep moving fast. We know this isn't going to be the smoothest thing, but we just know this is better to make the change at this point versus wait.
Farhan Thawar
It's how Toby increased the resiliency in the company. He would walk around in the old days when we had a data center and just unplug machines.
Lenny Rachitsky
Right, like the chaos monkey.
Farhan Thawar
Yeah, chaos monkey. Right. But that actually works because it just says, hey, by the way, shit's going to break. And so let's be resilient to that. And so same thing here. Hey, by the way, someone's going to move your cheese. It's fine. We are here to create more entrepreneurs in the world. We are not here to have a six month change management roadmap. And that will just actually hurt the speed at which we can deliver value to merchants.
Lenny Rachitsky
So kind of on those, on all the things you shared. So there's weekly updates. So the weekly updates are each person shares what they're working on for the week.
Farhan Thawar
Each project, Each project can get like it has an update. It might have a video of. Here's the experience. It'll have a bunch, obviously a bunch of writing on like what's changed since last time. We have a process called ok1 and okay2, which is like okay1 is typically at the director level where they're like, okay, this is like I'm aligned with the direction that this is going at or I'm not aligned and they can make changes. Then when it goes to okay too, it's typically like a VP level of the area who's now looking to say okay, what you're working on actually aligns with the overall architecture. But by the way, have you looked at this context? Maybe you haven't seen this, this is happening, or the industry and so you're trying to align at that level. And then again, like I mentioned, every six weeks we go through with Toby and like he's an intense guy himself. And so a lot of it is like, hey, why is this taking so long? Are we overthinking it? Are we not trying to move forward on this thing because we're blocked on something? Is there some piece of infra. Actually, I'll give you a good example. In one of the reviews from last time, there was an interesting AI problem we were trying to solve with LLMs that required us to have a very large output context window. And Most of the LLMs today have a very small output context window. But in the review, right, I actually met. We have shared Slack channels with all the LLM folks, right? I messaged in the OpenAI channel, I messaged in the Gemini channel, whatever. And within an hour we had increased the output context on like a bunch of major models and we were able to kind of move forward through the thing just because like I asked. And so that's an example. Like it didn't, it didn't take another six figure view, but it increased the intensity because the team was like oh, we were blocked because we thought we had to now chunk up this data and do this thing because we had smaller output context and we thought we could do a big input context but like we'd have to do this caching. And it was like this whole thing and I'm like well did we just ask them if we get bigger? And then they were like oh, we don't have this, it's undocumented. But like we'll just enable it right now for Shopify. And so that kind of created the intensity of the team to be like, oh, we can now quickly get unblocked. So that's a kind of example of just like moving quick and trying to like just ask again, ask a dumb question. I'm like this is probably not possible but. And then they came back and said oh yeah, we can do that.
Lenny Rachitsky
That's a great example. And as you're describing the ways that you create intensity and velocity within Shopify, it's interesting that what you're listing is a bunch of meetings and check ins which to most people would feel like why do we need so many. There's all this like less meetings. And I know you guys famously cancel all your meetings and that's a whole thing we can talk about. But it's interesting that more check ins and regular check ins allow you to move faster. I imagine it's partly because it just makes sure you're not working on things that are unnecessary and dumb and not going to be used. And it's just continue to refine. These are actually the most important.
Farhan Thawar
I mean it's a combination of like trust but verify, right? Because don't forget the goal of the check in is not for you to be like haha, I caught you not doing your work like that. It's not like the Dilbert boss like hey, did you do your thing right? It is like even when I look at the Elon text which is like hey, what did you get done? This week. It wasn't to try to catch Parag in a. You didn't do anything or you did a bunch of useless stuff. It was hopefully to pair on the problem. Right? Meaning, like, when I asked somebody, hey, like, did you, you know, did we move forward on this LLM project? Because we now have this larger context window. And then they came back and said, oh, here's what we learned. It's so then I can then look at the answer and say, oh, so now are we going to try? Like, have you thought of this? Have you tried? It's a way to pair on the problem. So it's, it's not like, you know, we, we talk. We have this word. Like, everybody talks about micromanagement as a word. And like, we don't actually think it's a dirty word at Shopify, but the reason we don't think it's a dirty word is because it's not. Just again, Dilbert boss saying, where did you do the thing? It's like, hey, can I work on this problem with you? And if I work on this problem with you, I kind of got to see where you are pretty often and then give you advice. Or you're going to share context with me? Because I don't. I'm not in the work every day to then come back and say, oh, based on what I know and what you know, can we move this in this direction? Maybe that's better for merchants. It's. It's really like, I don't want to overuse the pairing paradigm, but it is really much like, can I pair with you? And I learned this actually very early in my Shopify tenure because Toby would have these one on ones with me and I'd be like, toby, you don't have to waste your time, man. Like, you hired me. I got this. I'm like, where he goes, oh, you misunderstand why you're here. I'm. We are here to work on problems together. And I was like, oh, like, I didn't even think. I didn't. I thought he hired me to take problems away. He hired me to work on problems with me. Like, that's completely different than what I thought.
Lenny Rachitsky
I love that. Okay. One thing you mentioned is meeting thing for people that don't know what you all did with meetings. I think it might be worth just sharing that briefly because it's awesome and something a lot of companies can learn from.
Farhan Thawar
Yeah, sure. Actually, the funny story about the meeting Armageddon is that I was messaging Toby prior to me starting at Shopify. About meeting Armageddon. And so I actually think I had a little hand in him like doing this before I got to Shopify because I was like, hey, have you seen, I think it was Dropbox. Have you seen what Dropbox is doing and meeting again? And. And so he was like, this is super interesting. This is years before I started. So I think it's funny that it ended up being a real thing. But here's what we do. Once a year at a random time, we will delete all recurring meetings that have more than two people. So not one on ones and are internal people only. So not interviews or external partner meetings. And then we have a two week moratorium where you are not allowed to add a reoccurring meeting. You can add a regular meeting but not a reoccurring meeting. And the idea is that there's a lot of inertia behind a recurring meeting. It just always is there and you know what's coming up. And like, it's hard to delete because you're like, oh yeah, we talk about this thing every week. And so what we do is we kind of just do a meeting reset. And I think, yeah, it's just called Chaos Monkey. And some, you know, the admins go in and just delete everything. Now what's cool about it is it forces you to rethink. Do we need a recurring meeting or do we just need one meeting or do we need a different cadence? That's one thing. The other thing is it frees up so much crafter time. Right. Like one of the stats I track across engineering is how many hours are individual contributors in meetings per week. And we noticed that after we did, we did two things, by the way. And this is. I have a spicy second one for this. But the first one was we deleted meetings. And the second thing we did was we moved a lot of our slack into workplace Facebook workplace, which I'll talk about. Those are the only two things we did. And we saw a huge decrease in the amount of time crafters were in meetings. And then we saw all kinds of other productivity enhancements because they were able to have that flow time and work on things. So we're at something like three hours of meetings per week for a Ninja of Azure contributor at Shopify, which is phenomenal. Three hours a week is amazing. I think managers is not that bad. I think it's. I think I tweeted this. I think it's six or seven hours per week. That's not bad at all. In order to get aligned. And then all the rest of the time is work time.
Lenny Rachitsky
And how much. How many hours was it before meeting, get in and. And work?
Farhan Thawar
Yeah, you're asking me a good question. I have to go look and see. But it came down by something like 50 or 60%. Like it was like something like five or six hours for individual contributors and came down to three. And then the managers, I think it was like 10 and came down to six. Something like that. Like. But it was a huge difference. And the only two things were like, I mentioned were like, one was the meeting get in. The other one was like this. And I can talk about this. This is like a.
Lenny Rachitsky
Yes, let's talk about this.
Farhan Thawar
Yeah, so I mean, I love Slack. It's like the IM tool. Everybody uses it, but it can for sure cause distraction. And so what we did was we moved all announcement information. So like anytime you're sending a status update or large group announcement, we moved all of that to like face meta workplace, like Facebook for work, basically, which is now being deprecated, so we'll have to figure that out. But it just moved all this stuff to like a ML feed that you can kind of consume differently than you would Slack. Cause Slack is like I'm messaging you and you see an alert and all this stuff versus workplaces, like, oh, I want to go and consume content from the company and get updates and share updates. And so that reduced a lot of distraction as well. And so I'd love to, you know, figure out what the next tool for us is, but it is. It's probably something more like like a river of information that I can dip my toe into versus like I am and chat everywhere.
Lenny Rachitsky
That is super interesting. So it's specifically things that are just updates where you don't need a discussion. You almost want to discourage discussion.
Farhan Thawar
Yeah, I mean, it has the commenting, but it's not the same as like, you know, it's not. It's not the same tool like Slack. By the way, Slack is amazing. We use it. It's just that for this thing, it wasn't working for us and so we wanted to move that somewhere else.
Lenny Rachitsky
I feel like the more I dig into the Shopify way working, the more fun stuff I never expected emerges. I'm curious what else is going to emerge. So we've been talking about ways that y' all and you specifically have created intensity, especially in the engineering. Org and then you've also shared just broadly Shopify. What else is on that list? What else have you found? Helps create more kilojoules per hour.
Farhan Thawar
Yeah. So I think again, I think there's nothing. I would say, again, start from the beginning. There's nothing more than pair programming because literally you can't do anything else but be on your computer. So, like, pair programming is the number one. I will say the weekly cadence helps a lot. Right. Which we mentioned, which again, which is part of gsd, which is sharing the updates and then the six week reviews, that does a lot. On the other side, we also have a lot of metrics and alerts that help us see when potentially things might be happening in the system that can allow us to be like, hey, wait a sec, there's too many things going on of this type. We probably have to sit back and reset and figure out what's going on. So one thing that happened, for example, was we, we started seeing that it was taking a lot of time to develop in our admin, like engineers at Shopify developing in the admin. So we called like, what's called like Code Yellow, which is before Code Red, but Code Yellow is this idea of like, hey, we're going to call a code Yellow on the admin. We want to make sure that the developer experience inside Shopify is really good. And it should, you know, it should be easy to start up the repo, it should be easy to make changes, it should be easy to see the changes. And so those are the kinds of things that again, we can create intensity because this Code Yellow allows the champion to tap anyone on the shoulder and say, stop what you're doing and come help this thing, which is an infrastructure layer thing. And by building out this infrastructure, it allows you to go fast. It takes longer to build the infrastructure, but it makes you go fast forever afterwards. Right. Actually, I'll give, actually give an example of one of these. So we, in 2020, 2021, the heyday of like, pandemic, obviously there was a crypto summer again and crypto is going nuts. And we were sitting back and saying, wow, a lot of our merchants are now asking for NFT gating. Remember NFT gating, which is like, if you have the token, you can now go into the storefront and see my products, you can see my prices and you can check out, but only if you have the token. And we were getting a lot of demand from merchants to be like, we want to do this, we want to sell an NFT and we want our buyers to have to have the NFT to have this great experience. And we're like, we agree you want to be able to do. We want you to Be able to do whatever you want. And so we want to build this for you too. And sitting with Toby, he's like, you guys are thinking about it wrong. Because he goes, how long would it take to build NFT gating? I'm like, I don't know, two, three weeks. He goes, now how long would it take to build like a platform layer which exposes APIs so anyone could build NFT gating in one hour. And like, I don't know, like two, three months. He goes, do that. He goes, because you don't know what they are going to build on top of the platform. NFC gating is one thing, one use case. But if you spend the time to build out the infrastructure layer, he calls it putting gas in the tank. If you put the gas in the tank, people could drive on that gas for a long time going forward. And so he goes, I always want you to think about. And he had, the key part was what can you build? So anyone could build this in one hour, right? So like he does this thing to us all the time where he goes, oh, this should only be. He'll say it and people get the wrong thing. He'll say, oh, you could write this in a day. And what he means is what has to be true so that you could write this in a day? What infrastructure do you need? And he actually develops this way. He will always, like, he will write code against an API that doesn't exist because he's like, you know what should exist here? This API. He'll write the code, he'll go back and forth and refine the client and the server and then he'll go, this is correct, the correct client code, now let me go implement the server code. And like this is notion of like building things as infrastructure. That sounds slower today because it's going to take it's two, three months instead of two, three weeks. But after that, the things that people built on top, right, were so easy to build. There were so many more scenarios that were emerged. It's just a different way of thinking about software and it really again allows it's intensity in a different way. It's intensity around building this infrastructure layer which we want to build quickly but takes two or three months in this case, but then can get everyone building on top of our infra in a much, much quicker way. And of course, you know, who knows what can flourish from there.
Lenny Rachitsky
It's interesting and it makes sense that so much of the way you all think is about building the best possible platform versus the necessarily best possible like point solution for someone. And it also explains why you spend so much time in crafting really great code and pair programming, because again, it's a platform for other people to build stuff on. So I think a lot of this is very useful, especially for platform businesses.
Farhan Thawar
No, exactly. And actually you're making me think of a stat. So last year I tweeted out, you know, maybe a tangent, but I tweeted out that GitHub Copilot has written over 1 million lines of code for Shopify. And people are like, oh my God. And they got like picked up and everyone was talking about it and I go, I don't know, why is everybody getting so crazy? Because what I want to see is GitHub copilot deleting 1 million lines of code. Like that's when you know we're actually at this point where this is close to an engineer. Right? And so we famously have deleted millions of lines of code this year because we're trying to focus on the, again, the sunk cost and like rebuilding things elegantly or you don't need this anymore and rebuilding. And I even tweeted out, I think someone said, oh, Shopify is In the top 10 Ruby code bases in the world. And I said, I never want to see on this list again. Like it's not, it's not like we shouldn't be gunning for number one and we should be gunning for number 100. Like we want to be not on this list. Right? Someone else can take the crown.
Lenny Rachitsky
This episode is brought to you by Vanta. When it comes to ensuring your company has top notch security practices, things get complicated fast. Now you can assess risk, secure the trust of your customers and Automate compliance for SoC2, ISO 27001, HIPAA and more with a single platform. Vanta, Vanta's market leading trust management platform helps you continuously monitor compliance alongside reporting and tracking risk. Plus you can save hours by completing security questionnaires with Vanta. AI. Join thousands of global companies that use Vanta to automate evidence collection, unify risk management and streamline security reviews. Get $1,000 off Vanta when you go to Vanta.com that's V A N T A dot com. Lenny. Wait, talk about more about this. So there's been a drive to delete code and simplify what's kind of that? What's, what's behind that? What's going on there?
Farhan Thawar
Yeah, so there's a few things, right? One is the more context you can fit in your head around a code base and you can never really fit all of Shopify in your head because it's big complicated set of tools where you give to merchants. But the more you can simplify, the much easier everything becomes. Resiliency, performance, reliability, maintainability, all the ilities become much, much more, much easier when the code base is simple. Now all you need really is the mandate of like, oh well, let's look at this code and if I could start this today, would I really build this thing or do I now have enough domain expertise to say, oh no, this is the right solution, so can I delete, start over and build this more easily. And now everything else becomes like easy to build on top of. And so we routinely we have like a delete code club. We have hack days which happens two or three times a year where there's always one team that is focused on deleting code. They even have like a manual. Here's how to find things to delete. And it's amazing. We almost always delete. I don't know if this is good or bad. We can always almost find a million plus lines of code to delete, which is insane. But at the same time I applaud the teams for going after like the cruft in the code base. And everything gets easier, right? Codeless loads faster. It's easier to understand. And this is why when I look at GitHub stats, you shouldn't really look at. You know, I think Google put out and said oh, 25% of all code is now written by AI. I'm like where's the delete? Where is the 25% of all code is deleted by AI, right? Like this is where we have to start thinking about it because the right code is never the volumous like lines of code metric. It's always something else. It's always like elegance. And that's where we have to think about. So it is something that we as part of us being long term infrastructure thinking we really do care about that.
Lenny Rachitsky
I love this in part because it connects to the topic we're talking about, which is speed, velocity, intensity. Smaller code base, cleaner, better code base allows you to move faster. I used to be an engineer actually, but both my engineering brain and my PM brain, I love the idea of killing stuff that's useless, fixing, making code cleaner and better and more durable. In reality, very hard for companies to prioritize this kind of thing. Is there anything you found that helps you do that? You mentioned hack days and weeks are one part of that probably helps that Toby's an engineer. And he understands the value of this kind of stuff. But I guess for folks that want to do this more. Any advice?
Farhan Thawar
Yeah. So, I mean, we actually think about when we're building something, we think of it in one of three buckets. We're like, are you building an experiment, a feature or infrastructure? And once you bucket things, you can say, oh, it's an experiment. Like, cool. This is not infra. This is like, we're trying something to learn. And it might turn, by the way, that might turn into an experiment or infra. But it starts off as an experiment. Now, if you're building a feature, a feature is basically you're taking advantage of an existing piece of infra, right? So token gating is the example I gave. If you could now build that in one hour, you would probably say, oh, we have the right infra below it. But if you did what Toby does, which is he's like, here's the infra I wish existed. Here's the feature. The feature might be quick to build, but now I have to go and build the infrastructure. You're now slotting yourself into infra land, which is like, that could take longer, but you're now enabling it for a bunch of use cases. You don't have to think about it at once because you may have people using your API in a different way. So I think you kind of have to slot yourself. Now. How do people get into this mode? It is super, super hard. And I would say, like, Toby is the secret sauce here because he pushes us to think about things as infra almost all the time. I mean, one of the things that annoys me the most probably is that I'll always come to him and say, hey, we can do A or B. And he looks. He looks at me and he goes, you know what I'm going to say, right? I'm like, you're going to say, go back and generate more options, because he doesn't like those. I don't like A or B. Come back when you have something else, right? He has. He actually maybe I'll tell you a little anecdote. He has a story where he says there are unlimited amount of wrong options for any problem. There's probably 10,000 right options, but everybody stops at the first right one. Instead, what you should be spending all your time on, because the options that don't work, you're not going to spend time on, but you have to figure out which of the 10,000 options is the right one and spend time in that. What are all these right options? Don't just stop at the first one. And so when I come to and say A or B, I'm picking two of the 10,000 and like, he's like, that's not what I go back and generate more options because those are not the optimal ones. So he is like, quite, you know, the philosopher on these things. And it does really change the way the company works because he'll push you on these things. And then we over time learn to spot the same patterns. And I learned to push my team on infra and deleting code and making things simple. Because by the way, who doesn't want to get free stuff, right? Like free performance, free easy to navigate code base, free maintainability, free resiliency. Because now we went and did the hard work of deleting. It is hard, but that goes back to the beginning, right? Like, choose the hard thing. Don't just build the feature. Go make the feature easy to build.
Lenny Rachitsky
I feel like there's just more and more good stuff. What else, what else is there that might be helpful to folks, uh, while you're thinking about it and interesting. I was reading your tweet where you shared a lot of this advice and I've you mentioned this briefly, but I think it's important. With pair programming, one of the benefits is there's no multitasking. You're not like checking Twitter slack while you're working because you're there, watch, being watched. And I could see why that is more productive just innately.
Farhan Thawar
Oh, no, for sure. People. And again, like, underhanded free throws not only looks dumb, it feels dumb. People, people don't, like, they feel like they're wasting time sitting beside somebody and being like, well, I could be on my computer doing this thing, like, but together they are building like a machine, right? Like, do you ever read the Undoing Project, which is about Amos Versky and Danny Kahneman, the famous, you know, philosopher.
Lenny Rachitsky
Michael Lewis, I think Behavioral economics.
Farhan Thawar
Michael Lewis, exactly. And he said the famous line was, you know, alone we're okay, but together we're a genius. Right? Like, that's a pair programmer. That's like two people. You're like, ah, we're, we're okay, but like, together we're a genius. And that's exactly what pair programming is. And hopefully me plus, like an LLM is a genius, right? As well. But that's like the, that's the genesis of that, of that thinking. So I would say another thing that helps us create intensity is demo culture. So as part of the GSD updates, we we encourage people to share like high fidelity updates, which is not just imagery, but actually a demo. One of the things that can go wrong if it just are screenshots is you don't really get the full experience. Like you can't tell how slow things are or whatever. But with a demo, so you can put a link. We have this tool called Spin, which is like an internal development environment, like a cloud dev environment, where you can say, hey, click here to try this on Spin and then you can try it and you can see how it works. Or you can, or they say, turn on a beta flag in your own store and then try it. And so this short circuits a lot of misunderstandings because you're like, I'm going to try it and you're not waiting till the end, right? Especially with a betaflag, you're like, hey, it's in my store. I just realized that I went in and now this page takes like 20 seconds to load. Is that what you expect? You're like, oh, we didn't find this use case. Like, you're going to learn that much more quickly. And that creates again, intensity on the fidelity of the feedback you're getting. Because, you know, famously, some of our PM team will create a friction log. They'll be like, hey, I'm walking. They'll just create a screen share, create a video and go, I'm walking through. I turn on the beta flag, I'm walking through this experience. Here's my feedback on the experience. And you're getting this high fidelity throughput coming back to you that you're like, okay, let's fix these things for next week's iteration and then share another beta flag and say, okay, try it now, try it now, try it now. And so you're not debating about status reports, you're kind of debating about the experience.
Lenny Rachitsky
So I'm trying to think like broadly all the things you've shared, kind of how they fit together that allow you to move this fast. And I just looked up a few stats to give people a sense of just the size of the company today and how successful it has been as we, as they hear the stuff we're talking about. So you guys are about like 11,000 employees, something like that, according to the Googles. And you're hitting not necessarily all time highs on market cap because Covid gave you guys a big boost for a while, but you're kind of like coming back to this insane valuation that you all had during COVID So it's essentially all time highs at a 10,000 plus person, company moving really fast, shipping constantly. People love the product. And it feels like one key of what you're describing is essentially this operating rhythm that creates these check ins that keep people moving and focused on the right sorts of tools and getting them quick feedback if they're moving in the wrong direction.
Farhan Thawar
And having the leaders pair with those people on those problems, not just checking in, but actually pairing with them on the problems that they're facing. So you get both like the crafters who are working on this stuff and the leaders who may have broader context working together to kind of unblock.
Lenny Rachitsky
And it's so interesting that it's like again, people often like, we don't need meetings. Get rid of all the meetings. Like you guys do that. But also just there is a lot of power in strategic meetings and check ins. Another kind of bucket is just like the engineering environment, engineers working with engineers, pair programming, things like that. There's a tool you mentioned for pair programming. Tuple, I think.
Farhan Thawar
Tuple, Yeah. I mean it's funny because like we use it exclusively but we actually have this note, we have this line internally. We call it like Shopify should be a crafter's paradise. It should be the place where crafters come to practice their craft and get better at their craft. Obviously like resonates from a lot of the engineering crafters, but it's not only engineering, it's UX and PM and like ML. Like all the play, all the places where you, you'd want those people to actually have a great experience. We want them to come to Shopify because we believe this is the best place for that.
Lenny Rachitsky
I love it. There's also, I just wrote a note down of just how you set up your teams for success. Oh, just avoid distractions. So I think the pair programming helps the workspace workplace shift from Slack helps. I think you're also like very firm on like their working hours. You like basically don't let. No. Okay.
Farhan Thawar
No, not really. I mean, yeah. I mean we're not super firm on working hours from that perspective. But I mean we do have like, we have a lot of people on east coast time zones. A lot of stuff happens then. But we do have people all over the world. But I did mention we do have like the check ins on the six week reviews on the cadence. So that six week cycle does give you a little bit of the like, what did you get done and are you blocked mentality. And you can expect like a couple being coming in a couple of times and being like, hey, we didn't get a lot done being on a block for you to change your, your approach to go, okay, I don't want to go to another review where we didn't get a lot done. So what am I doing this time to make sure we unlock a lot of progress and that check in can give you that ammo. Be like, let's go, let's do this this time.
Lenny Rachitsky
And you're also remote first as a company, which I think is especially cool. Now a lot of companies are going back to not remote. You guys are staying remote. What do you, why do you guys decide to do that? What's, what have you seen as a big benefit of that?
Farhan Thawar
Yeah, so we have this remote. So I like to call it like 90% remote or 95% remote because we have these intentionals, intentional IRL experiences. So every summer, we just started last year, like, sorry, this year we're doing this thing called Shopify Summit where we bring the whole company together, get together and we like, it's a combination of talks plus hack days and we, you know, it's a come together experience, like food and like parties and like, you know, bands and like, it's a super fun way to kind of re energize and rebuild your trust battery over time. And then we have this thing called bursts, which is, hey, you want to work on a problem, you want to, you need to prototype, you need to hack. People can just say, hey, I'm starting a burst. We're going to have five people. We're all going to go to Ottawa or Toronto or Montreal or somewhere else and we're going to talk about this problem, get together. And so a combination of those two things mean, like throughout the year you can recharge that. We have the trust battery notion, which is like, how much, you know, how much trust can you have between people? And it can deplete over time if you're remote. So, and then we have offices which are like, come in if you want. Right. Like I mentioned, I come in like once a week. And now Toby moved to Toronto, so now I'm in like three days a week. But it's like, if you want to come in, you can, you don't have to. Right. Today I work from home, but tomorrow I'm going in. And that allows you again to have those random interactions and allow you to feel like, yeah, we're like 90 plus percent remote. But I would say the main reason is we want to hire the best people in the world. And those people can be anywhere and just happens to be that they're not. All of them are near an office. And so, but again with the bursting, like, here's a good example for Black Friday Cyber Monday, I encouraged all of engineering leadership to come to Toronto. We're all going to be in the office, like you know, watching the graphs. And then, you know, for hack days, I try to get people to go to the ports, right. Which we have, you know, four of them. Toronto, Montreal, Ottawa and New York, which again are coming if you want, but then get that irl. And so it's kind of a little bit of a combo. I wouldn't call it hybrid though, because like, you don't really have like every Friday you come in or don't come in. It's more like come in if you want.
Lenny Rachitsky
There's so many things to talk about. This trust battery metaphor, by the way, is awesome. I've learned to use it also. And again, it's just basically everyone. Your trust with someone is like, think of it as a battery that can deplete and grow and you should try to charge it up as when you can and then use that charge over time.
Farhan Thawar
And it can be strategic. By the way, I've seen people use it as like, I'm pretty sure Toby says he starts everyone at 50% and then he gets to know you. And then I've seen people use it as the opposite, saying, hey, look, this team is hard charging. I'm going to start you at 100. Assume that you already have high trust, do the things, and only if you are doing things that are off, off alignment does your trust battery deplete. So I've seen people use it, the terminology and as a shortcut way to figure out how to work with somebody.
Lenny Rachitsky
I love just how first principles you all are and how so many things are so unique to how you operate. And clearly it's working. And so I feel like we just keep going on and on. I want to talk about hiring. I know you have some pretty unique perspectives on how to hire people that are awesome, but also hire them quickly. But before we get there, is there anything else that you think might be really valuable to share in terms of intensity, velocity, moving fast?
Farhan Thawar
I think the personality of the leadership team is quite intense. We have a lot of like, we have a lot of founders on the exec team which are impatient, intense people by design, but even some of the non founders are just accomplished people who tend to be pretty. Like we all have this attitude of impatience. And so maybe that's. I don't even know if that's a, like a learned skill you can learn, or if it just comes, like, you know, it comes along with your personality, like genetics. But we typically, even at the leadership team, for example, we try to do like my. Here's my weekly thread of all the things that are going on so that we can not only share, but also show progress on things. And then someone can jump in and say, oh, this thing you're doing, that it relates to my thing that I'm doing over here, but it creates this notion of, like, there's a lot going all the time and we want to keep the. Keep the vibes, keep the energy high. So a lot of high energy, intense people.
Lenny Rachitsky
It reminds me, while I was at Airbnb, it felt like no matter how well things are going, it always felt like the fountain, Brian especially, is just pedal to the metal. No matter how well things are going, there's always this not going well enough. How do we go faster? How do we do more?
Farhan Thawar
Well, I would say I would actually go farther. I think if you don't have like, two or three big projects that are on fire, you're probably not pushing hard enough because you're not really trying things that are outside of your. Like, if everything's going well, are you really trying? Are you really taking the risks you need to be taking? So I think you kind of have to over rotate a bit and have a. There should be a few things on fire at all times. Not because it, like you should create that, but it should just happen because you're stretching into new things that potentially. Or you're going faster than you should have, or there's a new leader you've counted on early because all these things that should create this thing of, like, it might work. And so you want to have a little bit of chaos at the edge.
Lenny Rachitsky
I love that. And it may sound stressful, and why would I want that? Why would I want to work with chaos and fires everywhere? But in reality, if you don't, your business is unlikely to become incredibly successful. And that is even more stressful and painful, correct?
Farhan Thawar
Yeah, it's like the opposite, right? It's like this idea of, like, people feel like the comfort gives you, like, stability, and really the uncomfort gives you stability. Because now you're. You're in a con, you're constantly learning, and that makes you more robust against things that could come across.
Lenny Rachitsky
Choosing the harder path, some might say. Okay, let's talk about hiring. You have some really interesting takes on hiring. One that I've heard about is that you you kind of don't like the interview process. You kind of like to prefer not to interview and do something instead of talk about that.
Farhan Thawar
Yeah. So throughout my career, what I've noticed is that, and I'm sure everybody, this is a dirty little secret, right? Interviews are not a good predictor of performance. We know this. We know this from studies. We know this. Everyone at their company knows this. Where like, somebody interviewed well, wasn't as good in the job, or the opposite, didn't interview well, and then came in and was phenomenal. One example I have from my startup where right before, you know, we came to Shopify was I hired two people for machine learning. One was like a PhD, taught at the university, was like, oh my God, no brainer. Was also recommended by an employee. We're like, oh my God, this person's gonna be great. The other person was like a dude I met at the coffee shop who had never had a software job but was like, just so interested in machine learning. And person A, we let go within a few weeks because, like, not a fit for a culture. And person B is still went. Was at our startup and is still at Shopify today and is a phenomenal machine learning engineer who, who literally at our Christmas party was like, you know, this is my first software job, right? We're like, how? Well was just so curious, like, and we gave them both a shot. Like, the key was I didn't use the resume in either way to bias. We brought them both in, we said, here's the environment we had. It was all pair programming at my startup. And so they pair programmed and you know, actually an aside, you know, I care. Like, I really believe in pair programming. When I made with my. I made people work in pair programming with my own money. Like, I, I paid people to have. I paid for two people to be on one computer.
Lenny Rachitsky
So that's how you know less than half the code.
Farhan Thawar
Yeah, exactly, right. Less than half the code. But anyway, so pairing and they. And it was pretty clear after just, you know, a few weeks. I would say let's, let's say up to three months is like the amount of time I give people that person A wasn't going to work out and person B was. So what I really like to do is use this like race car analogy. If I told you, hey, I want to go hire the best race car driver, there's not really that many questions you could ask them except for like, put them in the car. And so the same thing happens with us is that of course we have to do Interviews. But we do really spend time in the 30, 60, 90 days to make sure that the thing that they are bringing actually lines up with what we need at Shopify. And you should also be transparent with people because if it's not a fit, it's actually good for them and you to figure that out as quickly as possible because they could be amazing somewhere else. Right, right. Like we mentioned like the chaotic environment and fast moving environment Shopify is. That's not for everyone. But that's okay, right? We're not looking for. Right, we've talked about that. We want to be as you know, the best 10,000 person company in the world. We're not looking for like millions of people. We just need the best 10,000. And so if it's not a fit, like it's in your interest and our interest to figure that out quickly so that you can go somewhere where you will be amazing and for us to have the people who will be amazing at Shopify. And so job trials I'm a huge fan of, which leads me to like intern programs. What a great interview process because you now have real work product from somebody for four months. They get to see what it's like to be at Shopify for four months. We get to see what it's like for them to be at Shopify for four months and that can turn into a full time gig. And that's a great interview process because you literally know exactly. You don't have to. I'll give you a funny example. I think I've heard a company where they're like, oh, we have an intern process and then afterwards we interview them for full time. I'm like, what are you going to learn from like let's say even eight hours of interviews that you're not going to have learned from four months of real work experience. Like, and so there's just things like that. You just got to look at the work product. And so I'm a big fan of like job trials. And in my previous companies I almost, like you mentioned, I almost didn't interview anybody. I almost just said come in and work. And it allowed us, we had a much higher like in the first 90 days, like 20% attrition before 90 days because it just didn't work out. But those after 90 days we had less than 1% attrition because they knew exactly what they're getting into and we knew exactly how they were going to fit.
Lenny Rachitsky
So in terms of the hiring process, you're still at Shopify, you're interviewing people they do technical evaluations, things like that. But it sounds like there's a very strong setting of expectations. We will hire you, but we'll actually clarify if this is a good fit in the first 30, 60, 90 days. And we're going to do like, actual. We may let you go. And there's a good chance we may let you go. Is that just the way you set things up?
Farhan Thawar
Yeah, I mean, I think the way to think about it is more like we want to make the interview process as close to the real job as possible, because by doing that, we can likely assess the skills that you have in your interview closer to what's happening in the job. Right. So that's 1, 2. We have this interview step called the Life Story, where we try to figure out if all the. Are all the experiences you've had up until now actually going to be like, does it show that you are curious, A curious person with range? Because if it does, that's likely more of someone who's going to be a fit. Like, I mean, I had this famous line from somebody who said, you know what I don't like about resumes? I'm like, what? They go. It tells you what you did, but it doesn't tell you why you did those things. And it's such an interesting insight, right? Like. Like, your resume should be a. Why? Like, why did you go from this company to this? Like, that's the interesting part. Not that you are a PM at Microsoft and a PM at Stripe. It's like, why did you switch from Stripe to, like, Microsoft to Stripe? Like, what's. There's something interesting there. And so the Life Story is trying to pull that out. It's like, why did you make the decisions? What did you do in your past that was like, interesting. Are you curious? Like, do you have, like. I always fought. I read this great book Range by David Epstein. That book was maybe one of the hardest books for me to read in my life because every page I was like, I don't believe it. I kept thinking I was a specialist. I kept turning the page going. I don't like this data that keeps showing that generalists are better. And then by the end, I realized that I'm a generalist. It just was like, it took me so long to realize. And funny for me because, like, I ended up redesigning the compensation system for Shopify, even though I'm an engineer. So I still thought of myself as an engineer through and through, even though I work on recruiting and HR and all these other things. So. But I think that that's what we're trying to tease. And then, yes, in that first period, we actually have a survey that goes over Slack that says, hey, how happy are you with the person that you hired? And that should, in conversation with the person, you should give them the feedback to figure out, hey, are there things you need to adjust to? Kind of better fit in and make sure the expectations are set up. But then also together with the person, figure out, hey, if you're not, if you're not feeling this, let's find you either a different role in the company or somewhere else. Because we want the people here to have high impact, but that person should have high impact somewhere. Could be a Shopify, could be in the same role, could be in a different role, could be at a different company, but that's like a good thing for everybody.
Lenny Rachitsky
And then do you actually do work trials with new engineering hires or is it like something you aspire to do?
Farhan Thawar
Yeah, I would love to do. It's hard to do with the volume of resumes we get. But we do do it at scale with the internship program. Right. So like 20, 25, we're going to hire a thousand interns and like, that is going to give me a thousand job trials to pick, like the top, you know, X percent of those to come to Shopify full time.
Lenny Rachitsky
Yeah. So just to double click on that. So you're hiring a thousand interns? Yes, over the course of the year. That's a lot. And the idea there is these folks are actually useful, building useful things. And it's an interview process for.
Farhan Thawar
Yeah, I mean, I think it's two things. One is some people look at an internship program as like community service. Like, let's give back to the community, let's hire early talent. And I'm like, hold on a sec. Are you telling me I could hire a thousand people over the year and they will come to work with an LLM and a brain because they're growing up in the age of AI. They will be useful to us because they come from a different generation and they have like, in our case in commerce, they have a different experience about shopping and AI and bots and chat and voice and like all these things. They'll be useful to us. We'll teach them some stuff as well and then together we can decide if they, you know, they might end up going somewhere else, in which case we have the Shopify imprint on them going to whatever other company which is, I think, a positive. Or they might stay at Shopify and be useful over a Longer period. Like, seems like, win, win, win. The other thing that was cool is after I did that tweet, a bunch of other CTOs messaged me and said, hey, we're going to hire 1001 interns to beat you guys. And I'm like, great. Like, if we can just from that one tweet, if I can get like the early talent ecosystem restarted here after, you know, a really tough last few years and layoffs, it's great for everybody because now they're realizing that. They also realize that these, these people are super valuable and they bring together a completely different set of skills. And by the way, here's a secret. In pair programming, interns will always be more intense than the full time. And so that also helps the flywheel of intensity. Go for it.
Lenny Rachitsky
All just keeps coming back. Did the internship program emerge out of this co op system that Canadian schools have? I know Waterloo has a big co op program.
Farhan Thawar
Yeah, I went to Waterloo. And so, yeah, hint, hint. So I went to Waterloo and I did my. I did co op and I did intern programs there. It was amazing. What a great experience. Because what ends up happening is you leave Waterloo with your degree, but also with two years of experience, because I did six four month work terms, 24 months, and you end up walking. I mean, I think one of the big parts of it is just interview skills, because I interviewed for 10 plus jobs every. Every four months, and I did that six times. And so you come out having done lots, you have a lot of interview experience, but you also have work experience. And so just taking that to the next level. Shopify has always had interns. And what I felt like we needed to do was again, restart this notion of, of early talent in the ecosystem. There's one, I would say one or two big differences with our intern program. One is we're making them come in three days a week versus full remote. And the reason for that is early. And we're doing it just in three offices right now. Montreal, Toronto and Ottawa. And the reason for that is because we want them to have a cohort because early talent is different than, you know, you and I who've been in the industry. We worked in office, we worked out of office. We're more comfortable with navigating, like partnership discussions and like talking to people in different companies. But these people have not. They maybe have never worked anywhere. And so to not have the IRL component would do them a disservice. And so we specifically made it in those ports. And then people are traveling, by the way, like, they're like, moving to Montreal to do the internship is great. And then if you're a mentor or manager for one of the interns, you have to at least see them like, IRL once a month. So we're kind of making these experiences. And of course, they'll have a cohort of dozens of people that will be with them along the way. And so we think that'll just make their experience better. And of course, nothing like typing someone on the shoulder and be like, have you seen this error before? And so it's easier in an early town situation. And then of course, over time, if they become full time, they can still come to the office. Right? It's come if you want, but they can also go full remote.
Lenny Rachitsky
That is amazing. For folks that don't know anything about these co op programs, briefly, it's just basically while you're in school, before you've graduated, during the summer, you go work at a company or during the year.
Farhan Thawar
Okay, yeah, it's during the year. So what happens at Waterloo is what I did was I did eight months of school at the beginning. So two terms. My first co op term was summer, but then it was work, work, school, work, school, alternating for the whole rest of my time at Waterloo.
Lenny Rachitsky
It's like semesters alternating.
Farhan Thawar
Exactly. So every four months, I did either a school term or a work term. So I was doing work in January sometimes and sometimes September sometimes. And it was super good because again, it also allowed me to be super intense at school for four months and then go to super intense work experience for four months. But, yeah, it's a model that, like, I mean, I go to. I was just at Waterloo this week doing a talk. So I just, like, I love that, that symbiotic relationship between Waterloo and, and the. And employers. And by the way, not just Waterloo, right? Lots of schools do a summer program. U of T and others. Lots of schools in the states.
Lenny Rachitsky
Fun fact. So, total tangent. I had a startup called Local. Mine started in Montreal of all places. I'm not Canadian, but moved there for various reasons. It was awesome. And our first hire was actually from the co op program. I don't know if it was Waterloo. His name is Nick Adams and he applied just. He saw our job posting, I think, and we're like, what is a co op? And he came to work and then he went back to school and then we hired him and then he ended up at Airbnb when we got acquired.
Farhan Thawar
See, there you go. And see. So for us, actually, what my first, when I did My startup helpful. We hired. I had one or two engineers, and then I actually literally just hired four interns. Because you hire them in February for May, and because I was doing pair programming, I had to make sure I had four full times by then. So I hired the interns in anticipation of having the full times. And I literally had. I think it was. I was off by one week. So one intern had no pair for a week. But then after that, in May, I had four full times. Four interns, and then they paired the whole time.
Lenny Rachitsky
What a journey. Okay, I want to talk about just one other topic real quick, and then we'll wrap this up. And it's around Extreme Labs.
Farhan Thawar
Okay.
Lenny Rachitsky
So there's a bunch of stuff here. It feels like it's just like this tech mafia of Canada that a lot of incredible people emerged out of. And there's a whole bunch of stuff we can talk about. One fact I heard while you were there is you had a hundred reports, direct reports, that reported to you.
Farhan Thawar
120.
Lenny Rachitsky
120 direct reports. Feels like a complete nightmare to me. Tell me why you decided to do that if you'd recommend that for other people.
Farhan Thawar
Yeah. So what ended up happening there was. We started off small, right. It was 10 people. When I got to Extreme Labs, I wasn't the founder, but I was very early on, and I just had everyone report to me. And then as we grew, I just kept having those people report to me. And I was trying to figure out, like, you know, we talked about, like, crafters and Crafters Paradise. This idea of, like, people don't really, like, they. There's managers are useful. But I was trying to figure out, could I solve the problems that they were. They needed their manager for in other ways. So, for example, what should I be working on? I was like, okay, well, we have product backlogs, or I'm blocked on something, or I need feedback on the product I'm building, or I'm stuck on this technical problem. Like, I tried to figure out ways to, like, not have managers be the answers to those questions. I'm like, there should be another answer. And so pair programming really helps you get unblocked quickly because you're. You have another person that you can bounce technical ideas off of having a product backlog and tell you what to work on. We had demos every week, demos internally, and we had demos with the clients every week because we were, you know, contract manufacturing for mobile that gave them feedback on whether they were going in the right direction. Right. We had set working hours, which made things like super intense in the office. This is again like 2009-20, 2013. So all these things didn't really need a manager. And what I realized was what the unblocking thing needed to manager. I'm blocked on this. Well, I said, okay, if I did had all these directors, I did two things famously. One, I had a lot of direct reports and two, I did not do any scheduled one on ones because you can't have 120 direct reports and do schedule one on ones because you're never doing anything but one on ones. So I said I'm going to be around a lot because I don't have a lot of one on ones. So we can do unscheduled one on ones. And what that means is if you are blocked. Actually there's a famous picture where I had this weird like cube desk where it was like a circle almost in the middle of the whole floor of engineers. And I was always there because I wasn't in a lot of meetings. And people, if they were blocked, they could just come up to me, right? The cool. Actually one cool thing about pair programming IRL is you can kind of look across and just see if it's working or not. Because if two people are intensely on the computer, you know it's working if one person's laying back or like you're like it's not working. So you could just walk up to them and be like, what's happening? But they would, they would come and ask me questions and I could unblock them like, hey, we're blocked on this. We don't have this API. We need money for this machine, like whatever. And so the unscheduled one on ones ended up being like a real clarity clarifying thing for me because I did scheduled one on ones my whole career. And I realized after leaving like Microsoft for three years, I'm like, where are all those one on ones useful? Right? Once a week for three years, right? 151 on ones. So the unscheduled ones were though. I was like, when I knocked on my manager's door and said I have this problem, those were important. So that's where I created it extreme and the 120 direct just, it just grew over time. I just didn't think I needed managers. I was like, let me unblock these people in another way. And we came up with other things to, to systems to unblock them that didn't require a manager. And I just also had a good memory. I knew exactly everyone's skills and compensation. I knew all that off the top of my head. So that helps. The other thing that, the thing, the thing that it broke was actually this is Chamath. He came in and became our biggest investors. And he actually, he's obviously a smart guy, but he said the right thing, which is not this can never work. Because then I would go into defense mode and explain to him why it would work. He just said to me, I'm not going to debate with you whether this works or not, but will it work at 400 people? And I said probably not. He said, okay, so let's change it. And so like we did then ended up putting a little bit more of a structure. But I went to, I made a few people directors and I and I forced them to have 40 direct reports each. Like I said, we're just going to make it still pretty flat. And then that did end up working because it still allowed them to be use the system to unblock people versus like having to do a one on one every week or having to, you know, talk about things that potentially a system could unblock. And so I tried to figure out ways to systematize things.
Lenny Rachitsky
I love is just another example of doing things differently. Not necessarily just here's how it's done and I'm going to do it that way and experimenting with it. Even if you knew like, okay, maybe long term this isn't the way it's going to operate. Imagine at Shopify you're not. You don't have 120 reports.
Farhan Thawar
No, I have like we have the F14 or something. Right? Like we do, we do have like these guardrails where I think we say, hey, like in engineering you should have between eight and like 20. There are definitely people who have more and people who have less. But we do try to keep things as flat as possible because we do believe that like it doesn't make sense to have like three people reporting to and then to somebody and then they only have three people. Like it's. You can just make a very deep hierarchy. We actually do see by the way, the farther you are from Toby. The like we can see things in like the survey results, like the, the alignment, the gets out of whack. And so you do actually see that you want to be closer. You want to have a flatter org in general. And that can be achieved by just having more direct reports per level.
Lenny Rachitsky
Makes sense. Okay, final question before we get to our very exciting lightning round. We have this recurring segment that I call Fail corner where generally people come on these podcasts, they Share all their successes. Here's all the things that I've done right, here's all the big wins and everyone feels like, oh man, I wish I was always successful like these people. When in reality everyone that comes on has failed many times. Is there a story of a failure in your career that you could share that helps people see that even folks like you fail and maybe what you learned from that experience.
Farhan Thawar
I have a few. I'll say one thing, by the way, because I think I read, I think I read this in Tim Ferriss book or in the podcast where he said create a failure resume and like write everything down. And I would not recommend doing this because I did this and I got super. I'm like a high energy, happy guy. I wrote down like I have a, I have a note on my phone called failure resume and wrote down all the times I failed and it is depressing. So I would not encourage people to do that. But I'm happy to tell you about a few, a few instances. So. Well, one is actually I've been laid off twice and people would not expect like, oh like, you know, I'm doing this thing and like I've been laid off twice and you know, I think in both times it was the right thing. Like it was the right thing for the company, the right thing for me. And I kind of use that experience as like a, a way to reevaluate and eventually came up with my framework of how I want to spend time. But that's maybe a different story. I'll tell you about one. At Shopify, the first week that I started 2019, we were, we were rebuilding our point of sale system which you know, now does like billions of dollars of gmb. But back then we were like, let's rebuild it with a new UX and a new technology platform. And it was my first week and I'm the mobile guy coming from Extreme Labs, they're like, should we build this in React native or should we build this, you know, natively on the mobile platform? And so I went through this evaluation, spent a lot of time, blah, blah, blah. And I came back with a hedged solution, which is kind of dumb. I said let's do iOS and Swift and let's do Android and React native. And the reason I said that was I said I want to learn about React native and I think Android's the harder platform so let's build that in react native, but iOS on Swift because that guarantees us a product in market and we didn't have any React native apps. In. In market at the time. A year later, we launched the iOS version and it was a huge success. And we then spent another six months building the react Native version for Android and everything else. And we realized pretty quickly that React Native was the platform for the future. We're like, oh, my God, this will allow us to have one platform. You could run it on the web as well, and we could use the React engineers from the web to work on it. It was a clear winner. And by then we had also launched the Shop app, which is react Native. And so we learned a lot about this. And I went back and I said, hey, everybody, I made a total. I made a huge mistake. We just spent a year building this thing. It's in market, but we're going to have to rewrite, we're going to have to rebase back onto this iOS version. I think I burned 18 months of time with like a hundred engineers, like, literally from the decision I made in the first week of joining Shopify and Toby. When I went to Toby and I told him, I go, hey, man, I think I made this mistake and we have to do this and it's going to cost us like, you know, 100 engineers, another six, whatever. And he looked at me and he goes, you should tell everyone this story. That's all he said. Not like, hey, bad, good. Like, he goes, did you learn something? Like, it was, it was like a. It was an epiphany for me, but he was like, this is a learning. Org. And I totally failed. I told everyone I failed and my mistake and everything else. But he goes, just tell everyone. Because he goes, do you know what mistake you made? And first I was like, I don't think I like, what mistake? He's like, you didn't take. He goes, I will always come down harshly on people who do not take risks. And you did not take a risk in this case. But if you make a. If you take a risk and you. And it doesn't work out, you'll never get in trouble. Cause you took the risk and it was the right risk to take. But he goes, but you didn't take the risk. And so what I should have done. And by the way, even now, thinking back, it would be super hard to do first week of Jabba, right, is like, take a risk on a platform that we have not launched a in production app on. But he was correct in that we should have because we would have saved ourselves so much more time. And so, yeah, total failure. Sorry. The product is like super successful now and like, we're all on React Native and even the Shop Green app is on React Native. Everything's React Native and we're like core contributors. Like, it's all good. But I literally burned, I think 18 months of time for 100 engineers as my first decision in the company.
Lenny Rachitsky
This might be the best example of failure corner we've had yet. This is a great example. Both of them actually are. Although I'm wondering, like, okay, that felt like a really good decision to me. And it's.
Farhan Thawar
It sounds like it, right? But it wouldn't have been his.
Lenny Rachitsky
But it's like, obviously you don't want to just take risks. There's like a limit of like a risk, but like, you know, informed, I guess. Is there anything you missed there that would. Told you this was the right path? Because, you know, in hindsight, of course we should have done this. But I. Looking back, what do you think you should have done other than we should have done the risky path?
Farhan Thawar
Yeah, I mean, one thing about my career as well is I don't really do anything halfway. And when I started looking into React Native, it was never just that I'm like, oh, let me look at the docs and like, read and like, build a thing. It's like, I flew to Meta and met with the Native, the react team. I became a core contributor. I ran the React Native working group. Like I, like, we became release captains for React Native. Like, I was doing, I knew that I was going to do all the things. So I'm like. And of course, in React Native you can also drop down to Native and do things there that are not possible. So, like, I think I, I hedged incorrectly because I knew I was going to do all these things and I should have looked at my own thought process and say, if I do all the things, can I fail? And I didn't take that into account because again, I did like five or six. Like, I literally, I put everyone together. I was running the group. I was like release captain. Like, I would hang out with like the React team and meta, like we were doing all the things, we became core contributors at React Native before we became core contributors in React because of all the things I was doing. And so I think just like knowing that I was going to go all out, I should have said, you know what? This is not going to fail. And I didn't, I didn't have the confidence in that path, so I hedged. Right. Hedging is the worst. And I remember the CTO at the time said, I'm wondering if I Should force you to go react native. Like, he literally said that. And I said, I will do. If you say that, I will do it. But it would have been his decision. And so he didn't do it. He didn't tell me to do it.
Lenny Rachitsky
Okay, that makes a lot more sense. It's so funny that Facebook had a similar mistake early on in their career. Yeah, exactly. And I know, I don't know if you were at Zuck's interview at the Chase center that the acquired podcast did, and he talked about this where, like, their market cap dropped 80%. They were about to go public, they went to this app. No one thought they could do mobile ads. And he's like, that set us back a year and a half. But he's like. But, like, based on all the pain he's gone through back, like, since then, he's like, that was not too bad.
Farhan Thawar
Yeah, it's true. Actually, maybe what people don't know is I was at Facebook Extreme Labs, worked on the Facebook app, and we worked on that app. I was in the office when we submitted the iOS app every single day that week because it kept getting rejected, it kept crashing, and we had obviously direct access to people at Apple, but, like, we ship a new app on Monday and it crashed. Ship an app on Tuesday. Not just us, but us Facebook together. It would just. And so I remember that whole HTML5 fiasco from the inside.
Lenny Rachitsky
I thought you would say you also told Facebook to decide on HTML5 app to set them back a year.
Farhan Thawar
I did not. We just happened to be. We happened to be there when it was. When. When they were doing it. Yeah.
Lenny Rachitsky
That's so funny. Amazing. Thank you for sharing that. Before we get to a very exciting lightning round, is there anything else that you think would be valuable to leave listeners with? May either touch on something you've mentioned, a last piece of nugget of wisdom, or we just go straight to the round.
Farhan Thawar
Yeah. I mean, I'll say something maybe embarrassing for you. I've been. I've been. I've been using your performance management framework from. From your first round review article, not knowing, by the way, that it was you. Like, I actually found it like you being like the famous Lenny podcaster, but the old days, maybe the Lenny, the pm. And I remember reading this a long time ago and just copying. There's a Google link in there to a Google Doc link with a. With a. Like a template for a performance review framework that I've been using for years. Literally every review I've done at Shopify uses That framework. And I was writing a post to my admin about how we can use LLMs to make it easier for me to write these reviews, even though obviously you have to read it all and go through it. But I was like, how can I generate some of this with an LLM? And so I wanted to send her the original article. So I went back to the first round review, found the article and said, oh my God, it's Lenny. Like the same guy. So I will say one thing that's interesting about that framework is I've used it now for, you know, like I said, six years here is that. And I don't think it's me. I think it's actually the framework pulls out good information. I've had multiple people in a review process tell me that, that when I deliver the feedback in of course the format, they would, they would say, wow, I've been in industry a long time, this is the best performance review I've ever had. And it's because the framework pulls out good information. So congrats to you. But I think it was funny that randomly I was coming on this podcast and I just wrote that article to my, that doc to my admin like 2, 3 weeks ago and realized, same person.
Lenny Rachitsky
Well, how about that? I love that. I will also give credit to a former guest on this podcast, Vlad LockTV, who was my manager at Airbnb and that's where I was inspired to write about that framework. So it trickles down to him and I don't know where he, or in this, he probably invented it. So credit to Vlad on also for that. Another fun fact along these lines, I have another first round review post about the W Framework, which is a framework for planning, how to do annual planning, and that's one that I've slowly discovered many, many companies use and they don't know where it came from. They just call it, oh, we have this W framework. Some of them flip it and call it the M framework. But that's another one that has trickled into the ether of tech companies, which is awesome.
Farhan Thawar
Amazing.
Lenny Rachitsky
With that, Farhan, we have reached our very exciting lightning round.
Farhan Thawar
Are you ready? I'm ready.
Lenny Rachitsky
Let's do this. What are two or three books that you have recommended most to other people?
Farhan Thawar
There's one. So Toby has an annoyingly long set of books to that he recommends. And they're all like, not all, they're usually good depends, because we're not totally in sync on fiction, for example, but he recommended one to me that I think everyone should read. Right now called Mana M A N N A from Marshall Brain. It is a book about. It's a book about AI And I think the most interesting thing about it though is about a future in which the AI tells the employ the humans what to do. So it's this idea of like imagine in the future you came into work and the AI would tell you what emails to pay attention to or what dashboard to look at because something weird is going on. It takes that to an interesting level. So I would recommend reading that book. It's not long. That's fun. I think another book that I recommend to people and it's kind of a weird one to recommend, but it's Business Adventures from John Brooks. Like the famous. If you ask, I think it's Bill Gates what his famous book of all time is. It's this book. And the cool thing about the book is that it is not easy to digest for anyone with focus problems. Like, you know, Paul Graham wrote the post how to do great Work and it's super long. The best part about that post is that you have to be able to read the whole thing. And so the same with Business Adventures. I think each chapter is 12 chapters, 12 stories, no breaks in between. It's just each one is super long. But it just goes into a problem at such depth that if you can maintain your focus to get through the the depths of each problem, you will just learn something. Just like that post by Paul Graham. Like I loved that it was so long because I sent it to people and I said the test here is can you read it? Can you just get to the end and not in a pejorative way like in a. If you can get to the end. Like you will extract the. The alpha from this post if you can read it all. So I love. So those are real. Mana is like the opposite. It's very, very easy and easy read.
Lenny Rachitsky
I'm excited to read these. Next question. Do you have a favorite recent movie or TV show you've really enjoyed?
Farhan Thawar
I read a recent one was Challengers, the tennis movie with Zendaya. Just randomly I was at home and I put it on and the cool thing about it was more the cinematography and music. They had this weird style, art house style where they would be talking and music would get like super loud. Like it was very strange but a very, very good movie. And then you saw. You said movies and.
Lenny Rachitsky
Or TV show.
Farhan Thawar
Oh, TV show.
Lenny Rachitsky
Like that.
Farhan Thawar
Yeah, yeah. One of my all time favorites is probably Halt and Catch Fire. If you've watched that.
Lenny Rachitsky
Yeah, about the early tech.
Farhan Thawar
Early tech, yeah. And like, if you. I think there was an Andreessen podcast where he said, this is the closest thing to what a real startup looks like. So holding Ashwire is like an all time, like, recommend. Like, everybody has to watch it.
Lenny Rachitsky
Do you have a favorite product that you recently discovered that you really love?
Farhan Thawar
I don't know if I want to be like in the. In the zeitgeist right now, but, like, the meta Ray Bans are amazing. And the biggest thing about the meta Ray Bans was just that I think I never got into it and I saw people around me wearing it, but I only got into it when somebody said, I never take my AirPods with me anymore. And I was like, oh, I can swap two devices for one device because I always have sunglasses and A. And AirPods because, you know, I'll go for a walk or listen to a podcast, and now I can just have one device. And this happened to me. I was at a, you know, in the summer, I was at a pool party and someone called me and I just took it from my sunglasses and people were confused. It's like where I was taking this call from. But they are the right amount of tech. Like, they're in unintrusive. You can't tell. They don't look like any tech. And then I also. I was playing soccer with my kids. I have three kids. I just turned the video on and I was the goalie and they were taking shots and I was watching them. They had no idea that I was just recording. And it was such a cool moment because I was in playing soccer with them. I wasn't with my phone. And they. I got to get this amazing set of video that I would never would have gotten. So I really like meta ray bands.
Lenny Rachitsky
We had Boz on the podcast who leads a lot of that work, and he's got a lot to teach us. And I put on Ray Bans while we were doing the interview just for fun. You could see my setup.
Farhan Thawar
Okay, cool.
Lenny Rachitsky
Two more questions. Do you have a favorite life motto that you find useful in work or in life?
Farhan Thawar
Okay, I do. And it's on like a lot of my profile, like, bios, and it is everything you know is wrong. And the reason I like that one. And people always like, what would you put on a billboard? Or like. And people always come back to me and say, that's like, they know that as my motto. And the reason for that is it's this notion of if all the knowledge you knew was incorrect, could you. From first principles build up like a view of the world. And that's kind of how I like to think of things, is that anything could be incorrect, even things that you think are correct. Which is why again, back to the I like to experiment. I like to look stupid because I'm always trying shit. Because I'm like, I don't know if even though you say this is correct, that this is going to work. Right. Actually, one example my wife hates this is I have a Tesla and I routinely will switch gears without fully stopping the car, which you cannot do in a, in a regular car. But like, I'll be in drive and then I'll slow down to drive back up into my driveway and while it's moving, I switch it into reverse. And like, you never would know that that's possible except for trying. And sometimes it goes beep, beep, beep because you're going too fast. But like. And she hates it. But I'm like, I'm always trying weird things. And so that's why I say everything you know is wrong. Like, who knows what's possible? Just try different things.
Lenny Rachitsky
I do the same thing with my Tesla. I used to do it with a non electric car and my wife was always like, don't do that. Screwing it up.
Farhan Thawar
Yes, exactly.
Lenny Rachitsky
I love that on the an electric car, there's no gear you're breaking. It's just software.
Farhan Thawar
Exactly.
Lenny Rachitsky
Uh, it all this quote reminds me of that you shared of everything you know is wrong.
Farhan Thawar
It.
Lenny Rachitsky
The founders of Airbnb always talked about just this point, that everything around you was designed by somebody, another human. They're not necessarily that much smarter or insightful. It doesn't mean what they did was correct. Somebody else points on better potentially, I think.
Farhan Thawar
I think Steve Jobs had a similar thing. Like, hey, you can design anything. Like everyone, everything's designed by people. I love that one too.
Lenny Rachitsky
Yeah. Final question. So you told me the story of this PhD you hired versus just a guy you met in a college. Sorry, in a coffee shop. I read another similar story where you hired a waitress.
Farhan Thawar
Yes.
Lenny Rachitsky
Is that real? Okay, tell that story.
Farhan Thawar
Yeah. So again, this is some. Another this long list of reasons my wife is annoyed with me. But this is another one of them where whenever we are, whenever we are out, I'm always scanning and I'm always scanning people. And like, you know one, like, do I know anybody around? Whatever. I like to scan for people and I have a good memory for faces. But in this case, we were at a restaurant and I saw a waitress doing a very Very good job. Like, an extremely. Like, she was running between different tables, she was smiling her face, taking everyone's order, like, you know, making sure that, like, there was a thing happening in the kitchen. She was kind of, like, doing a phenomenal job of organizing the entire crazy busy restaurant. And so in talking to her, I said, what do you do outside of this? Because you look like you're super. She's like, what do you mean? I'm just the waitress. And I said, well, you. Would you like to, like, work? This is Extreme Labs. I said, would you like to, you know, work at Extreme Labs? She's like, what's that? So I explained it to her, and I got her her contact info. She came into the office, and she first started off as our receptionist. So she moved from, like, you know, retail world into the office world. And then I brought her on as my admin, and she became one of my recruiters. And I taught her how to recruit and talk to people. And she came in with me to info sessions. And over time, we actually hired many more people from the restaurant that were really, really good at their job. And what was amazing was one, she was organized, but not e organized. Like, she. I had to teach her Google Docs and G Suite and everything else, but she was super smart, but just never had the opportunity. The coolest thing about this is that she ended up being. She ended up taking over the hr, one of the HR functions for us. And she had a college degree, and because of the work she had done with us, she was able to parlay that into finishing her, like, doing one more year and getting a university degree. And now she's a director of HR at a company, which is amazing. Like, is amazing from, like, she went from that environment to this environment. And a lot of her people, she pulled the smart and, you know, intense people she pulled from that environment also ended up on these amazing career paths. And so I just like, if I see someone doing a good job, I'm like, what? Like, what do they do that? How can I work with them? And this is one example of, like, pulling somebody out of that environment. And I do have lots of other ones where, like, I overhear someone and they're a designer or an engineer, and I try to try to hire them into my company as well.
Lenny Rachitsky
Wow, that is such a good story. I love that maybe this, like, restaurants are the new feeder system for. For tech companies. Did not think about that.
Farhan Thawar
Yeah, I mean, everyone's smart at something, right? So I was trying to figure out she was really good at this thing, could she be so good at something else?
Lenny Rachitsky
Amazing.
Farhan Thawar
Fantastic.
Lenny Rachitsky
Like there's so many stories, more stories to tell. But we're going to wrap it up and let you go. Farhan, two final questions. Where can folks find you online if they want to reach out, learn more, maybe apply to work at Shopify. And how can listeners be useful to you?
Farhan Thawar
Sure. So Twitter is probably the place I try to hang out the most. Xnthower and maybe I'll put that in the show notes and then listeners for me. Yeah, I mean, like, I love to be challenged. I'm sure that there are people who are like, they heard something that I said and they're like, oh, that's like super dumb. We do this instead. Or here's research that says that that won't work. I would love to hear more about these because I'm just again, on a learning journey and if I did something stupid, very likely I would like to learn a better way to do things. So I would love for people to like comment and say, hey, this is dumb. You should try this. Or that doesn't make any sense. I would love to learn more. So that's what I'm looking for.
Lenny Rachitsky
All right, well leave a comment in YouTube or on the substack post with what ye what Farhan got wrong.
Farhan Thawar
Amazing.
Lenny Rachitsky
Amazing. Farhan, thank you so much for being here.
Farhan Thawar
Thanks for having me.
Lenny Rachitsky
Bye everyone. Thank you so much for listening. If you found this valuable, you can subscribe to the show on Apple Podcasts, Spotify, or your favorite podcast app. Also, please consider giving us a rating or leaving a review as that really helps other listeners find the podcast. You can find all past episodes or learn more about the show at Lenny's Podcast.
Farhan Thawar
Com.
Lenny Rachitsky
See you in the next episode.
Guest: Farhan Thawar, VP & Head of Engineering, Shopify
Host: Lenny Rachitsky
Date: December 19, 2024
This episode dives into the mechanics of Shopify’s high-intensity, high-velocity culture as experienced and cultivated by Farhan Thawar. Lenny and Farhan explore practical strategies around intensity, hiring, organizational rhythms, and building for long-term leverage—all rooted in concrete stories and Shopify’s unique “delete code club”, meetings habits, and hiring tactics.
The conversation covers:
[00:00, 05:42, 07:54, 09:49]
[09:37, 10:55, 12:35]
[13:19, 13:49, 15:14]
[19:19, 19:53, 29:34]
[22:07–29:17]
[29:29, 45:29, 47:21]
[37:17, 37:28, 39:54]
[57:43, 57:54]
[63:11, 63:28, 69:46]
[75:39, 76:05, 79:58]
[81:10, 81:57]
Hiring from Unexpected Places:
Farhan hired a waitress who excelled at her job, taught her office skills, and watched her rise to HR director. “If I see someone doing a good job, I’m always thinking—how can I work with them?” [96:14–98:21]
Delete Code Culture:
Annual hack days focus on deleting code, and teams that free millions of lines from the codebase are celebrated for increasing velocity, not penalized for reducing “output.”
Meeting Armageddon:
Once a year, all recurring internal meetings with more than two people vanish, freeing up deep work time and challenging the inertia of default syncs.
Pair Programming as Business Parable:
“No multitasking. Alone we’re okay, but together, we’re a genius.” – Farhan (paraphrasing Tversky/Kahneman from The Undoing Project) [52:57]
Embracing Volatility:
Shopify prefers a “volatile company” where change happens quickly over slow, stabilized change management. “If you don’t have 2–3 projects on fire, you’re probably not pushing hard enough.” [61:59]
Farhan can be found on Twitter [@fnthawar], and encourages listeners to reach out and challenge his ideas:
“I love to be challenged…If I did something stupid, very likely I would like to learn a better way to do things.” [99:24]
Books:
Shows/Movies:
Product:
Motto:
This episode is a masterclass in pragmatic, high-intensity product and engineering leadership for scale, full of actionable tactics, colorful stories, and irreverent wisdom from one of Shopify’s most influential technical leaders.