cover of episode How Shopify builds a high-intensity culture | Farhan Thawar (VP and Head of Eng)

How Shopify builds a high-intensity culture | Farhan Thawar (VP and Head of Eng)

2024/12/19
logo of podcast Lenny's Podcast: Product | Growth | Career

Lenny's Podcast: Product | Growth | Career

AI Deep Dive AI Insights AI Chapters Transcript
People
F
Farhan Thawar
L
Lenny Rachitsky
曾任Airbnb产品领袖,Localmind联合创始人和CEO,著名产品管理博客和播客作者。
Topics
Farhan Thawar:Shopify 的高强度工作文化并非单纯延长工作时间,而是注重提高单位时间的产出效率。通过结对编程、精简代码、高效的会议管理和快速迭代等方式,在有限的时间内完成更多工作,并最终获得更多自由时间。他认为,选择更难的道路,即使失败也能带来宝贵的经验和学习机会,并能与更优秀的人才合作。在招聘方面,他更注重候选人的实际能力和学习能力,而不是面试表现。他推崇试用期制度,并认为 Shopify 的实习项目是一个很好的招聘方式。他还分享了在管理 120 名直接下属的经验,以及如何通过系统化的方式来解决问题,避免过度依赖管理者。 Lenny Rachitsky:本期节目围绕三个主题展开:招聘、高强度工作文化和选择更难的道路。他与 Farhan 探讨了 Shopify 如何在保持高强度工作文化的同时避免员工倦怠,以及如何通过结对编程、高效的会议管理和代码精简等方式来提高效率。他还对 Farhan 的招聘理念和经验进行了深入探讨,并分享了一些关于 Shopify 文化和运营方式的见解。

Deep Dive

Key Insights

Why should you choose the harder path when making decisions?

Choosing the harder path often leads to better outcomes and more learning. Even if it fails, you gain valuable skills and relationships with smart people. If you choose the easy path and it fails, you lose without gaining much.

How does Shopify create intensity within its organization without causing burnout?

Shopify focuses on doing more per minute rather than working longer hours. They use a tool called GSD for weekly updates, encourage pair programming, and have six-week reviews to ensure continuous progress and alignment. These practices help maintain a high level of output without extending work hours.

Why is pair programming considered a powerful tool at Shopify?

Pair programming at Shopify is a way to increase intensity and productivity. It involves two people working on one machine, which helps in finding the best solution to a problem and reduces distractions. It also facilitates high rates of learning, knowledge transfer, and reduces silos within the team.

How does Shopify manage its meetings to enhance productivity?

Shopify implements a 'meeting Armageddon' once a year, where all recurring meetings are canceled, and a two-week moratorium on adding new recurring meetings. This forces teams to rethink the necessity of meetings and frees up time for individual contributors. They also moved many announcements and updates to Facebook Workplace to reduce distractions.

What is the delete code club at Shopify, and why is it important?

The delete code club at Shopify is a group focused on simplifying and cleaning up the codebase. They regularly find and delete millions of lines of code, which improves resiliency, performance, and maintainability. Simplifying the codebase makes it easier for new and existing contributors to understand and build upon.

Why does Shopify prioritize building infrastructure over point solutions?

Shopify’s focus on building infrastructure is to enable long-term flexibility and speed. By creating robust infrastructure, they can quickly build new features and solutions on top of it. This approach was exemplified when they had to rebuild their point of sale system using React Native, which ultimately saved a significant amount of time and resources.

What is Shopify’s unique approach to hiring engineers?

Shopify uses a framework that aligns hiring with the candidate’s values and skills, rather than relying heavily on traditional interviews. They prioritize job trials and internships to see real work products and assess fit. They also have a 'life story' interview to understand the candidate's background and decision-making process.

Why is Shopify fully remote, and what are the benefits of this approach?

Shopify is fully remote to hire the best talent globally, as the best people may not be located near an office. They also provide intentional in-person experiences called 'Bursts' and a yearly summit to build trust and foster collaboration. This approach ensures a balance between remote flexibility and in-person interaction.

What is the 'trust battery' concept, and how is it used at Shopify?

The 'trust battery' concept at Shopify refers to the level of trust between individuals. It starts at a base level and can be charged or depleted based on interactions. Leaders use this to ensure alignment and collaboration. High trust allows for more efficient problem-solving and less micromanagement.

What can we learn from Farhan’s failure with choosing the technology stack for Shopify’s point of sale system?

Farhan’s decision to hedge on the technology stack for the point of sale system by using both iOS and React Native led to a significant time loss. The key lesson is to take risks and not hedge. If you are confident in a new technology, it’s better to commit fully to it, even if it fails, to learn and move forward quickly.

Shownotes Transcript

Translations:
中文

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. First, I want to talk about another theme, creating intensity in your organization. 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? 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. We have a delete code club.

We can always almost find a million plus lines of code to delete, which is insane. I found this great quote from you. Not everyone can look stupid in public over and over, but I believe it's my superpower. 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 it's to understand the content. 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. They're mostly different people.

But they're similar in one thing is that they have an...

Today, my guest is Furhan Thaur. 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 Ferhan, 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 gonna blow your mind. He also talks about their engineering intern program where they're gonna hire over a thousand engineers just for their intern program in 2025.

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 Thaur.

Farhan, thank you so much for being here and welcome to the podcast. Thanks for having me. 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? Yeah, I think, I mean, I have ideas on 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 ended up doing. Perfect. So this is like the Steve Jobs, everything looking backwards, it all connects. Yes.

Today's episode is brought to you by DX. If you're an engineering leader or on a platform team, at some point your CEO 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 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 at getdx.com slash 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 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 at withpersona.com.

persona.com slash Lenny. Again, that's with P-E-R-S-O-N-A dot com slash Lenny. Okay, so let's start by talking about the hard path. Okay. 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. But the short version is that if you have a choice and you choose the easy thing 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 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 10 resumes a day. I'm like,

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, maybe 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. 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 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. So on that building on the last plane just made people could hear this and think, OK, if it's harder, that's going to 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. Yeah, 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'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 is 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 do the let's let's try to do the hard thing that we can learn at 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. 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. Yeah. And I think, I mean, it's, 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, I might be like 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 maybe we'll get some benefit. But maybe we'll take Shopify down. We don't want to do that. So you want to have some sort of guardrails. But there is something around trying dumb things and saying dumb things. Half the time, by the way, when I say something dumb, people go, I had the same question. They just were scared to say it.

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 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. 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, you're like, 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 it's just the fact of like going up and forcing myself to talk to people and then, you know, trying to get them to, 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, OK, let me try this. Let me try that. And it's not easy, but it was a way to kind of build up 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. 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 that's but 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 say, 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. 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. Oh, yeah, still. Yeah. So how about this that I heard? That's the dumbest fucking 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 it's to understand the content.

Right. And actually, by the way, I say these were like I saved them. Like I literally screenshot it because I'm like, remember this? Like, it doesn't matter. 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? 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'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. They're irrational in that they'll look and say, hey, 10, 15, 20, 25 years, this is what the world is going to look like. And I'm not good at seeing that vision, but I'm good at trying to move towards that vision 1% 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. 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 going to, 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. Yeah, it sounds funny. But like me and you, you talked about it, 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 resign. 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.

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? Yeah, sure. So I 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 a major investor in. And so we worked with them directly.

And what I realized was, and so we got, the company was amazing. We worked on it for many years. It was a 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 work. I wasn't working with the smartest people anymore. I was an 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, um,

you know, not aligned. And then I just told the team, hey, I plan on resigning. And that, by the way, led to great other things because I'm an investor in new companies that have spun out from there. And like, it was a great experience. I'm just saying like it at the time lended me to say, hey, you're not actually focused on the right things. I want to come back to Extreme Labs. 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 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.

Yeah, so I think 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 nine to five.

if I can just get more done in the nine to five, we have both, the time has elapsed the same for us, but I just got more done. And that allows me, of course, then it'd be like, Hey, I'm going to take my kid to soccer and do other stuff. Like we,

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 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, I,

that intensity actually leads to like extraordinary outcomes. Even if you don't have to put in more hours. Like I think most people, 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 results

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 two X, three X. 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 high quality output in one hour.

I want to talk about how you create an org that operates this way. But specifically, you just mentioned pair programming, and that's one of your favorite tools. Talk about why this is so powerful when you recommend it. 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 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 mics, two monitors, but one computer. They work together. And if it's remote, they use it. You can use a tool like Tuple, 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? You know, Toby famously built a lot of Shopify pair programming. And what he would do is he would actually set a timer and him and his 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 they're 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.

And so 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, no, 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. And 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're, you're learned 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. Then 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 was 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.

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. I'm never going to do it because it looks dumb. And by the way, go back to the beginning 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. So on that note, so what percentage of Shopify do this? Is this how you all operate? Yeah. So Shopify, I mentioned that Toby and Cody did this at the beginning of Shopify and

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. 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 pathfinding and then go, I see the matrix. Let me just delete 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.

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. 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 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. I can't help but ask AI, how does that impact this way of working? So AI is super interesting.

What's happening right now with an AI co-pilot like GitHub co-pilot 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 co-pilot and humans, because what's happening is generating code and the two humans can look and say, oh,

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 co-pilots 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 to pull forward. And so all of those things are are like a win for for engineering and a win for everybody who wants to build.

any sort of software. That makes a lot of sense. Basically, everyone's going to be a pair programmer. Yes, exactly. 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. 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 Shopify 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 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 on, 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 like kind of like a check-in point. 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 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, you know, I keep bringing this up, but whatever time you allot to something will be the time it takes.

So if you're doing something monumental, like, I don't know, you're doing like a reorg or something, 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 leaking, so we just launch it. And we do the same thing with lots of things at Shopify. We just try to move more quickly and get out of the chain. We don't do change management. We kind of just 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.

Wow, there's so much there. I've been through the 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 better to make the change at this point versus wait. It's how Toby increased the resiliency in the company. He would walk around in the old days when we had a data center, just unplug machines. Right? Like the chaos monkey. Yeah. Chaos monkey. Right. And, but, but that, 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're not here to have a six month change management roadmap, but

And that will just actually hurt the speed at which we can deliver value to merchants. 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. Each project. So 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 OK2, which is like OK1 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. And then when it goes to okay two, 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 in 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 channel with all the LLM folks. Right. I messaged in the open AI channel. I messaged in the Gemini channel, whatever. And within an hour, I had I had 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. 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 we'd have to do this caching. It was like this whole thing. And I'm like, well, did we just ask them? And then they were like, oh, we don't have this. It's undocumented. But 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 moving quick and trying to 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. 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 like what you're listing is a bunch of like 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 the whole thing we can talk about. Yeah.

But it's interesting that more check-ins and regular check-ins allow you to move faster. 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.

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 ask 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. So then I can then look at the answer and say, oh, so now are we going to try it? 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 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'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 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. You hired me, I got this. He goes, oh, you misunderstand why you're here. We're here to work on problems together.

And I was like, oh, 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. I love that. OK, 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. 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. Cause 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're 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 an individual 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.

And how many hours was it before meeting, get in and work? 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. But it was a huge difference. And the only two things were like I mentioned, where like one was the meeting, get in. The other one was like this. And I can talk about this. This is like a... Yes, let's talk about this. 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 Facebook 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 and

differently than you would Slack, 'cause Slack is like a message to you and you see an alert and all this stuff versus workplaces like, oh, I wanna 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 figure out what the next tool for us is, but it's probably something more like a river of information that I can dip my toe into versus like IM and chat

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. Yeah, I mean, it has the commenting, but it's not the same as like, you know, 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. I feel like the more I...

dig into the Shopify wayworking, 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 you 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?

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 you 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 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 what's called Code Yellow, which is before Code Red. But Code Yellow is this idea of like, hey, we're going to call it Code Yellow on the admin. We want to make sure that the developer experience inside Shopify is really good. It should...

You know, it should be easy to create 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 why. 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 same 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? I'm like, I don't know, like two, three months. He goes, do that.

He goes, because you don't know what they're 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 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 emerged. It's just a different way of thinking about software. And it really, again, allows its 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?

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 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 today.

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's talking about it. And I go, I don't know why everybody's getting so crazy, because what I want to see is GitHub Copilot deleting 1 million lines of code. Like that's when you know where

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, again, the sunk cost and 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 us on this list again. It's not like we shouldn't be gunning for number one. We should be gunning for number 100, right? We want to be not on this list, right? Someone else can take the crown.

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 SOC 2, 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 risks.

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 slash lenny. That's V-A-N-T-A dot com slash 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 behind that? What's going on there? 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 Shopify in your head because it's a big, complicated set of tools we 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 like the mandate, right? 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 it's 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? Code loads faster. It's easier to understand. 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? This is where we have to start thinking about it because the right code is never the voluminous 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. 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, like I love the idea of

we're 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? Yeah. So 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 getting 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 infra. 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 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 he's like, that's not what I go back and generate more options because those are not the optimal ones. So he is 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, 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 bleeding. 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. I feel like there's just more and more good stuff. What else? What else is there that might be helpful to folks? While you're thinking about it, and interesting, I was reading your tweet where you shared a lot of this advice. And 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 being watched. And I could see why that is more productive just innately. Oh, no, for sure. People, again, like underhanded free throws, not only looks dumb, it feels dumb.

People don't like they feel like they're wasting time sitting beside somebody and be 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 by Michael Lewis, I think behavioral economics, Michael Lewis. Exactly. And he said the famous line was, you know, alone we're OK, but together we're a genius.

Right? Like that's a pair programmer. That's like two people. You're like, oh, 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, 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 you just throw 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. Cause you're like, I'm going to try it. And you're not waiting until the end, right? Especially with a beta flag. You're like, Hey, it's in my store. I just realized that I went in and now the, that 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're

You know, famously, some of our PM team will create a friction log. They'll be like, "I am walking." They'll just create a screen share, create a video and go, "I'm walking through. I turned 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.

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 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. 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.

And it's so interesting that it's like, again, people are often like, we don't need meetings, get rid of all the meetings. Like you guys do that. But also just there's 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. 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 places where 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. 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. No, not really. I mean, yeah, not, not, I mean, we're not super firm on working hours from that perspective, but I mean, we do have like, we,

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 and 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, coming in a couple of times and being like, hey, we didn't get a lot done being on 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 to be like, let's go, let's do this this time. 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.

Why do you guys decide to do that? What have you seen as a big benefit of that? Yeah. So we have this remote. So I like to call it like 90% remote or 95% remote because we have these 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 it's a combination of talks plus hack days. And it's a coming together experience like food and parties and bands. And 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 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 and get together. And so a combination of those two things mean like throughout the year, you can recharge. We have the trust battery notion, which is like how much trust can you have between people? And it can deplete over time if we're remote. 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 yeah.

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. 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 you trust with someone is like, think of it as a battery that can deplete and grow. And you should try to charge it up when you can and then use that charge over time. And it can be strategic, by the way. I've seen people use it.

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 alignment does your trust battery deplete. So I've seen people use it, the terminology, as a shortcut way to figure out how to work with somebody. I love just how first principles you all are. And 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? I think the personality of the leadership team is quite intense. 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 they have. We all have this attitude of impatience.

And so maybe that's, I don't even know if that's 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, it relates to my thing that I'm doing over here. But it creates this notion of like, there's a lot going on all the time. And we want to keep the, keep the vibes, keep the energy high.

It's a lot of high energy, intense people. It reminds me while I was at Airbnb, it felt like no matter how well things are going, it always felt like the 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? Well, 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. Like it's 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. 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. 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 constantly learning. And that makes you more robust against things that could come across. 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. Talk about that.

Yeah. So throughout my career, what I've noticed is that and I'm sure everybody 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. Everybody at the company knows this where like somebody interviewed well, wasn't as good at the job or the opposite, didn't interview well and then came in and was phenomenal. One example I have from my startup right before 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 our 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 literally at our Christmas party was like, you know, this is my first software job, right? We're like, how? What was just so cute. Like, and we gave them both a shot. Like the key was,

I didn't use the resume in either way to buy us. 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 program. And, you know, actually, as an aside, you know, I care. I really believe in pair programming when I made with my I made people work in pair program with my own money. Like I

I paid people to have, I paid for two people to be on one computer. So that's how you know. - Write less than half the code. - Yeah, exactly, write less than half the code. But anyway, so pairing and they, and it was pretty clear after just a few weeks, I would say, let's say up to three months is like the amount of time I give people that person A wasn't gonna work out and person B was.

So what I really like to do is use this 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.

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? Like we mentioned like the chaotic environment and fast moving environment Shopify is, that's not for everyone.

But that's okay. We're not looking for... We've talked about that we want to be as the best 10,000 person company in the world. We're not looking for millions of people. We just need the best 10,000. And so if it's not a fit, 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 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 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 percent 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. 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, actually, 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? 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 one. Two, 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 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, right?

Like, why did you go from this company to this? Like, that's the interesting part. Not that you were a PM at Microsoft and a PM at Stripe. It's like, why did you switch from Stripe to like Microsoft? Like what? 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 thought I read this great book range by David Epstein.

And 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 to 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 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 at 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. And then do you actually do work trials with new engineering hires or is it like something you aspire to do? 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 2025, 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.

Yeah. So just to double click on that. So you're hiring a thousand interns 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. Yeah. I mean, I think it's two things. One is, 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, it 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,

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 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. It all just keeps coming back. Yeah.

Did the internship program emerge out of this co-op system that Canadian schools have? I know Waterloo has a big co-op program. 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 month experience.

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 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 early talent in the ecosystem. There's, 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 the 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 talent 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. 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 graduated during the summer, you go work at a company or during the year. 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 it's like semesters alternating exactly so every four months i did either a school term or a work time so i was doing work in january sometimes in 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 uh

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. Fun fact, so total tangent. I had a startup called Local Mind 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? Yeah.

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. See, there you go. And so for us, actually, 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 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. 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. Okay. Okay.

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 100 reports, direct reports that reported to you. 120. 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. 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, their managers are useful.

But I was trying to figure out, could I solve the problems that 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 contract manufacturing for mobile. That gave them feedback on whether they were going in the right direction. We had set working hours, which made things super intense in the office. This is, again, 2009 to 2013. So all these things didn't really need a manager. And what I realized was the unblocking thing needed a manager. I'm blocked on this. Well, I said, okay, if I 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 scheduled 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 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 is laying back or like you're like, it's not working. So you can just walk up to them and be like, what's happening? But they would they would come and ask me questions and I could unlock 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 Microsoft for three years, I'm like, "Were all those one-on-ones useful?" Once a week for three years, 150 one-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 at Xtreme. And the 120 Direct, 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 systems

to unblock them that didn't require a manager. 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 that 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,

And then that did end up working because it still allowed them to use the system to unblock people versus having to do a one-on-one every week or having to talk about things that potentially a system could unblock. And so I tried to figure out ways to systematize things. I love it. 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, OK, 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. No, we have the F14 or something. We do have these guardrails where I think we say, hey, in engineering, you should have between 8 and 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 somebody and then they only have three people. You just make a very deep hierarchy. We actually do see, by the way, the farther you are from Toby, we can see things in, like, the survey results, like the alignment 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.

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?

I have a few. I'll say one thing, by the way, because I think I read this in Tim Ferriss' book or on the podcast where he said, create a failure resume and 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... 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 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 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 rebuilding our point of sale system, which 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 natively on mobile platforms? 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 together.

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 is 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 market at the time. A year later, we launched the iOS version, and it was a huge success.

And we then spent like 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. Like 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. Like it was like 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 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 100 engineers, literally from the decision I made in the first week of joining Shopify. And 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 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. Because 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 those. I will. 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 take a risk and it doesn't work out, you'll never get in trouble because 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 job buy, right? Is like, take a risk on a platform that we have not launched an 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. This might be the best example of failure coordinator we've had yet. This is a great example. Both of them actually are. Although I'm wondering like, OK, that felt like a really good decision to me. And it sounds like it, right? But it wouldn't have been his. Yeah.

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 looking back, what do you think you should have done other than we should have done the risky path? 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 React team. I became a core contributor. I ran the React Native working group. 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 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 I would be 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 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.

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 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's at his 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. Yeah, it's true. Actually, maybe what people don't know is we were I was at Facebook, like we were 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 was just, and so I remember that whole HTML5 fiasco from the inside.

I thought you would say you also told Facebook to decide on the HTML5 app to set them back a year. I did not. We just happened to be there when they were doing it. That's so funny. Amazing. Thank you for sharing that. Before we get to our very exciting lightning round, is there anything else that you think would be valuable to leave listeners with?

Maybe you better touch on something you mentioned, a last piece of nugget of wisdom, or we just go straight to the round. Yeah. I mean, I'll say something maybe embarrassing for you. I've been using your performance management framework from your first round review article, not knowing, by the way, that it was you. Like, I actually found it, like, you being, like, a famous Lenny podcaster, but the old days, maybe the Lenny the PM. Yeah.

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 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 I obviously 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 her 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 when I deliver the feedback,

in, of course, the format, 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 two, three weeks ago and realized it's the same person.

Well, how about that? I love that. I will also give credit to a former guest on this podcast, Vlad Loktev, 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 learned this. He probably invented it. So credit to Vlad also for that. Another fun fact along these lines, I have another first round repost about the W framework, which is a framework for planning. I do annual planning. And that's one that I've

slowly discover many, many companies use and they don't know where it came from. They just call it, oh, we have this W framework. Someone 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. Amazing. With that, Farhan, we have reached our very exciting lightning round. Are you ready? I'm ready. Let's do this.

What are two or three books that you have recommended most to other people? There's one. So Toby has an annoyingly long set of books that he recommends, and they're all like, not all. They're usually good. It 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-A, from Marshall Brin. It is a book about, it's a book about A.I.,

And I think the most interesting thing about it, though, is about a future in which the AI tells 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. 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 thing 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 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. If you can get to the end, you will extract the alpha from this post if you can read it all. So those are real. Mana is like the opposite. It's very easy and easy to read. I'm excited to read these. Next question. Do you have a favorite recent movie or TV show you've really enjoyed?

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 said movies and... Or TV show. Oh, TV show. Anything like that. Yeah. One of my all-time favorites is probably Halt and Catch Fire.

I don't know if you've watched that. Yeah, about the early tech industry. Early tech. Yeah, and I think there was an Andreessen podcast where he said this is the closest thing to what a real startup looks like. So Halt and Catch Fire is an all-time recommend. Everybody has to watch it. Do you have a favorite product that you recently discovered that you really love? I don't know if I want to be in the zeitgeist right now, but 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'd never take my AirPods with me anymore. And I was like, oh, yeah.

I can swap two devices for one device because I always have sunglasses 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 unobtrusive. 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 have gotten. So I really liked Matt Raybans. We had Boz on the podcast who leads a lot of that work and he's got a lot, a lot to teach us. And I put on Raybans while we were doing the interview just for fun. You could see my setup. Okay, cool. Yeah.

Two more questions. Do you have a favorite life motto that you find useful in work or in life? 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, right?

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 is I have a Tesla and I routinely will switch gears and

without fully stopping the car, which you cannot do in a regular car. But like, I'll be in drive and 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.

I do the same thing with my Tesla. I used to do it with a non electric car. My wife was always like, don't do that. Screwing it up. Yes, exactly. I love that on an electric car. There's no gear you're breaking. It's just software. Exactly. This quote reminds me of that you shared of everything you know is wrong. 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 Steve Jobs had a similar thing. Like, hey, you can design anything. Everything's designed by people. I love that one too. Yeah.

Final question. So you told me the story of this PhD you hired versus just a guy you met in college, sorry, in a coffee shop. I read another similar story where you hired a waitress. Yes. Is that real? Okay. Tell that story. Yeah. So again, this is 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 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, making sure that there was a thing happening in the kitchen. She was kind of doing a phenomenal job of organizing the entire crazy busy restaurant. And so when 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 a waitress. And I said, well, would you like to work? This is Extreme Labs. I said, would you like to work at Extreme Labs? She's like, what's that? So I explained it to her and I got her contact info.

She came into the office and she first started off as our receptionist. So she moved from like, you know, the 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 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 and,

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.

Wow. That is such a good story. I love that. Maybe this like restaurants are the new feeder system for tech companies. Did not think about that. 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? Amazing. I feel 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?

Sure. So Twitter is probably the place I try to hang out the most, x at FN Thour, and maybe I'll put that in the show notes.

And then listeners for me, I mean, 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.

All right. Well, leave a comment in YouTube or on the Substack post with what Farhan got wrong. Amazing. Amazing. Farhan, thank you so much for being here. Thanks for having me. 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 lennyspodcast.com. See you in the next episode.