Lenny's Podcast: Product | Career | Growth - How Shopify builds a high-intensity culture | Farhan Thawar (VP and Head of Eng)
Episode Date: December 19, 2024Farhan Thawar is the head of engineering at Shopify, where he oversees more than 1,000 engineers and a platform that powers over 10% of all U.S. e-commerce. Before Shopify, he was VP of engineering at... Pivotal Labs and Xtreme Labs, and co-founder of Helpful.com. In our conversation, Farhan shares:• Why choosing the harder path leads to better outcomes• How to create intensity within your org (without burnout)• Why every company should be embracing pair programming• How he hires without interviewing• How he built the world’s largest internship program• His mission to create a “crafter’s paradise” for engineers• Much more—Brought to you by:• DX—A platform for measuring and improving developer productivity• Persona—A global leader in digital identity verification• Vanta—Automate compliance. Simplify security—Find the transcript at: https://www.lennysnewsletter.com/p/how-shopify-builds-a-high-intensity-culture-farhan-thawer—Where to find Farhan Thawar:• X: https://x.com/fnthawar• LinkedIn: https://www.linkedin.com/in/fnthawar—Where to find Lenny:• Newsletter: https://www.lennysnewsletter.com• X: https://twitter.com/lennysan• LinkedIn: https://www.linkedin.com/in/lennyrachitsky/—In this episode, we cover:(00:00) Farhan’s background(05:38) Choosing the hard path(09:37) Getting comfortable with looking dumb(13:20) Lessons from working with visionaries(19:19) Creating intensity in organizations(22:06) The power of pair programming(29:18) Shopify’s culture of intensity(37:18) Meeting Armageddon: revolutionizing company meetings(39:46) Reducing distractions(41:10) Deleting 1M+ lines of code(49:05) Three buckets of building(57:45) Remote work and trust battery(01:00:29) Finding stability in uncomfortable times(01:03:14) Hiring philosophy(01:11:41) Internship programs and co-op systems(01:15:32) Lessons from managing 120 direct reports(01:20:40) Failure corner(01:27:46) Lightning round and closing thoughts—Referenced:• The Steve Jobs quote about connecting dots: https://www.goodreads.com/quotes/463176-you-can-t-connect-the-dots-looking-forward-you-can-only• Shopify: https://www.shopify.com/• GitHub: https://github.com/• Farhan’s “questions to ask” framework: https://x.com/fnthawar/status/1514193402828574721• Palantir: https://www.palantir.com/• Joe Liemandt: https://www.linkedin.com/in/liemandt• Chamath Palihapitya: https://en.wikipedia.org/wiki/Chamath_Palihapitiya• Xtreme Labs: https://www.xtremelabs.io• Parkinson’s law: https://www.verywellmind.com/what-is-parkinsons-law-6674423• Pair programming: https://dev.to/documatic/pair-programming-best-practices-and-tools-154j• Cody Fauser on LinkedIn: https://www.linkedin.com/in/codyfauser• How Shopify builds product: https://www.lennysnewsletter.com/p/how-shopify-builds-product• Chaos Monkey: We look at Shopify’s new ‘culture of focus’: https://www.siliconrepublic.com/careers/shopify-chaos-monkey-meetings-culture-deann-evans• Empowering devs with AI: How Shopify made GitHub Copilot core to its culture: https://www.youtube.com/watch?v=wVKBwcm5dbw&t=2318s• Tobi Lütke of Shopify: Powering a Team with a ‘Trust Battery’: https://www.nytimes.com/2016/04/24/business/tobi-lutke-of-shopify-powering-a-team-with-a-trust-battery.html• Brian Chesky’s new playbook: https://www.lennysnewsletter.com/p/brian-cheskys-contrarian-approach• Stop Being Deceived by Interviews When You’re Hiring: https://www.forbes.com/sites/forbesleadershipforum/2012/02/07/stop-being-deceived-by-interviews-when-youre-hiring/• Shopify’s made the Life Story a major part of their interview: https://news.ycombinator.com/item?id=39294140• Internships at Shopify: https://internships.shopify.com• Nick Adams on LinkedIn: https://www.linkedin.com/in/nick-adams-32b28139• React Native: https://reactnative.dev• Swift: https://www.swift.org• Acquired podcast: The Mark Zuckerberg interview: https://www.acquired.fm/episodes/the-mark-zuckerberg-interview• The Power of Performance Reviews: Use This System to Become a Better Manager: https://review.firstround.com/the-power-of-performance-reviews-use-this-system-to-become-a-better-manager• Airbnb’s Vlad Loktev on embracing chaos, inquiry over advocacy, poking the bear, and “impact, impact, impact” (Partner at Index Ventures, Airbnb GM/VP Product): https://www.lennysnewsletter.com/p/impact-impact-impact-vlad-loktev• The Secret to a Great Planning Process—Lessons from Airbnb and Eventbrite: https://review.firstround.com/the-secret-to-a-great-planning-process-lessons-from-airbnb-and-eventbrite• How to do great work: https://www.paulgraham.com/greatwork.html• Challengers on Prime: https://www.amazon.com/Challengers-Luca-Guadagnino/dp/B0CX5MZ9M4• Halt and Catch Fire on Prime: https://www.amazon.com/Halt-Catch-Fire-Season-1/dp/B0CKXZNT96• Meta Ray-Bans: https://www.meta.com/smart-glasses/shop-all• Making Meta | Andrew ‘Boz’ Bosworth (CTO): https://www.lennysnewsletter.com/p/making-meta-andrew-boz-bosworth-cto—Recommended books:• The Undoing Project: A Friendship That Changed Our Minds: https://www.amazon.com/Undoing-Project-Friendship-Changed-Minds/dp/0393254593• Range: Why Generalists Triumph in a Specialized World: https://www.amazon.com/Range-Generalists-Triumph-Specialized-World/dp/0735214484• Manna: Two Visions of Humanity’s Future: https://www.amazon.com/Manna-Two-Visions-Humanitys-Future-ebook/dp/B007HQH67U• Business Adventures: Twelve Classic Tales from the World of Wall Street: https://www.amazon.com/Business-Adventures-Twelve-Classic-Street/dp/1504000021—Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email podcast@lennyrachitsky.com.—Lenny may be an investor in the companies discussed. This is a public episode. If you'd like to discuss this with other subscribers or get access to bonus episodes, visit www.lennysnewsletter.com/subscribe
Transcript
Discussion (0)
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 trying 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 is 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 haven't...
Today, my guest is Furhan Thower.
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 continued to operate with urgency, velocity,
and a very first principle's 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 Furhan, who, in our conversation, shares very specifically what he's
done to maintain intensity and urgency within the engineering team, including their meeting
cadences, the counterintuitive power of pair programming, how they run meetings, how they
cancel meetings constantly, and so much more. He also shares his experience with indexing towards
choosing the harder option when you have multiple options to choose from and why that ends up making
your life easier. He also shares a bunch of great hiring advice and a bunch of hiring stories which
are going to blow your mind. He also talks about their engineering intern program where they're going to
hire over 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 Furhan Thauer. Furhan, 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
end up doing. Perfect. So this is like the Steve Jobs, everything looking backwards at 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, Versel, and Webflow. Relytex.
Visit DX's website at get dX.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 part 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 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 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 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 trying to find a job?
I'm like, I'm sending out 10 resumes a day.
I'm like, okay.
That sounds like kind of easy and like, are you really learning anything from sending out 10 resumes a day?
Versus I would say to them, hey, you know all these companies you're interested in?
Shopify might be one of them.
Why don't you look at the API docs and build something?
Build a Shopify app.
Build an admin extension.
Like build something on top of Shopify.
Even if you don't get a job at Shopify, right, which is maybe your goal, you've learned something.
You've built something.
You have things in your GitHub repo now and you can show people.
You're learning about the product that might translate to a job you might get somewhere else.
But so I think that even though it's harder, right?
Of course, you can't every day build an app on a different platform.
Maybe you can once a day.
You will learn something in the hard path.
And the same thing happened to me in taking hard courses.
I would get worse marks.
But I ended up meeting smarter people in those courses because they were there for the same reason I was because the content was hard.
So that's something that I've 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 point just made, people could hear this and think, okay, 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 XYZ 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 and 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's the how do you win even if you lose
because if it goes poorly,
you can still come out of it with skills.
But if you actually take the hard path,
you'll have these like intense working relationships
with smart people that again will continue on in your life.
And that also just forces you to be in this constant state of uncomfort.
by going into these rooms and saying, I don't know anything.
And it's harder.
And I agree with you, you don't want to do dumb things.
Like, oh, let's just do this thing in a dumb way.
That's not what I mean.
I mean, let's try to do the hard thing that we can learn from.
And by the way, it happens to be on the path.
It's just as 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 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 ruin 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 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.
Like 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.
Right?
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 help 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 exact 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 working on commission and they're not always buying
stuff and if they don't buy you don't make any money and so maybe just the fact of like going up
and forcing myself to talk to people and then you know trying to get them and maybe you spend
an hour with a client and then they don't buy anything but you're getting that like that reaction
of a bunch of negatives.
And all you have to do is say,
okay, and just go to the next customer.
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, say,
okay, let me try this.
Let me try that.
And it's not easy, but it was a way to kind of build up some 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 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 nose,
which by the way is part of like some sales training,
which is like go and get 10 nose.
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, just 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 crumbled.
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.
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 understand.
And literally I got this message back saying I've already explained this to you three times.
I'm like, okay, like, I still don't get it.
So like my goal there is not to annoy the person, but is to understand the content.
Right?
And actually, by the way, I say these were like, 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 Lehmond in your 20s and Chamoth 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 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 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,
and 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 super power 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.
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 inside 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? 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, and 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 Chimoth was a,
the major investor in, and so we worked with them directly. And what I realized was,
and so we got a 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
2019 era. And then we eventually got acquired by Pivotal. And over time, my role at Pivotal, Pivotal and Pivotal
changed from, hey, I was running the biggest office in the world.
I was running the biggest pair programming office and a big banner per 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 smartest people anymore.
I was an IC.
I wasn't learning as much as I could be learning.
and I wasn't on this and I wasn't having a lot of impact
and I was like, oh, wait a sec, this is completely
you know, not aligned.
And then I just told the team, hey, I plan on resigning.
And that, by the way, led to great other things
because I'm an investor and new companies
that have spun out from there.
And like, it was a great experience.
I'm just saying like it at the time landed me to say,
hey, you're not actually focused on the right things.
I want to come back to Extreme Labs.
There, I know there's other stories there that are interesting.
But first I want to talk about another theme of things
that people often raised when 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 can still do the same things out of
work, but during work, I just want to try to get as much done as possible during the time versus
expanding the time. And I can give you an example, right? I used to work at a company where, you know,
it was like, I worked 12 hours a day, but I was playing foosball in the middle of the day, and then we'd
go for a coffee break, and like, you kind of do these things. And of course, the time expanded to 12 hours.
Versus, you know, trying to compress into that eight-hour day, and pair programming is a great
example, because so it's such an intense activity, two people on one machine, you can get so much done
when two people are working together, not being distracted by the internet and distractions,
and just focus on writing like the solution to the problem at hand.
And it's so tiring that usually when people switch on to pair programming,
they sleep like, you know, 10, 12 hours a night, the first few nights,
because it's so intense.
You're working so hard.
But for me, that intensity actually leads to like extraordinary outcomes,
even if you don't have to put in more hours.
Like I think most people, you probably hear this all the time.
Everyone says, oh, yeah, like, work hard and, like, do more hours when you're young, whatever.
I'm like, what if you just did more per minute, right?
Like, quickly get through things.
I think there's another unintuitive fact is that people who are really good can actually output high quality collateral quickly.
So, like, take a person who is good and extremely good.
The extremely good person can actually get a lot of output in a short amount of time,
and the person who's good might take longer.
I think there's a time variance there that people don't think about.
So you can kind of not drop the quality too much,
but get the time down by like 2x, 3x, right?
Like Parkinson's law at scale.
Instead of, you know, if I give you an hour to do something,
a really good person can get a 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 recommended.
I think as an outside observer,
it's like two engineers on the same code.
Why wouldn't we do things half as fast?
Talk about just why you're a big fan of pair programming specifically.
It is the most underutilized management tool and engineering, bar none.
It is just not used as much as it could be.
So pair programming, for those don't know,
it's two people on one computer, right?
So two keyboards, two mice, two monitors, but one computer, they work together.
And if it's remote, you can use a tool like two full, like which we use,
and you can just remotely be on one computer.
And you're totally right.
The famous tweet about pair programming is, wait a sec, we have two engineers on one computer.
Won't they write half as much code?
And the answer is, oh, no, no, they're right even less than that.
Because it's not about lines of code, right?
The throughput limiter is not hands on keyboard.
It's not like we're both sitting there and the limiter is like us trying to get through the key,
like the keystrokes onto the screen.
The limiter is where is the good, elegant solution?
How do we think through the problem and build the right solution for the problem at hand?
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 they'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 Pivoto 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 by the way, it sounds like a waste of time, right?
Like, it sounds like I'm just deleting code.
But the reason is that code lives a long time.
Code is a liability.
And 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 path finding is kind of start and then delete and then
start and be like, oh, no, now I know, delete. And it's super hard to delete, by the way,
because, you know, we're humans and we have this sunk cost fallacy, so it's hard to delete.
But if you can do that, you will actually land upon like a much, much better solution.
And of course, paraps programming has high, high rates of learning because you're just like sitting
beside, like, you not only, you know, whether it's tuple or like or directly, 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 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 transfers higher, less silos,
intensities 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 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,
hit 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, like 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 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.
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 path-finding 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 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 path-finding and trying to figure out what to build
and trying to convince field 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 paraprogramming for 18 months. You want to be like wayfinding and
past finding. And then go, I see the matrix. Let me just lead everything and now build it.
Because the learning is what you're going for. We have all the learning. Now let's write the code.
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 two pole 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 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, 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 pull forward.
And so all of those things are like a win for engineering and a wind.
for everybody who wants to build any sort of software.
That makes a lot of sense.
Basically, everyone's going to be a parprogrammer.
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 Shabafoke,
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 paraprogramming as well.
The other thing we do as a company is we used to have like twice a year was our cadence.
We like like Black Friday, Cyber Monday or like we had like an event in the summer.
And now we do six week reviews.
So teams have this notion of like every six weeks,
actually coming together and walking through the roadmap, the resourcing, and what they're working on
with their immediate leadership, but then also with Toby.
And so what's cool about that, and by the way, it's a huge time investment, right?
We all get into a room.
It's happening tomorrow.
So Tuesday, Wednesday, Thursday, we're going, 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 until
the next six-week review, right? Like the next day, we are building things. We are iterating. We
tagging people. And then by the next week,
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,
I keep bringing this up. But whatever time
you allot to something will be the time it takes.
Right. So if you're doing something monumental,
like, I don't know, you're doing like a reorg or something,
right? You can do it the slow way. Let's like sit down and plan
and roll it out. And it's probably like six months in most
companies. Shopify, this is like a week or two.
you sit down, you're like, hey, this is kind of the bones of it.
Let's bring some more people and think.
Then you know it's going to start leaking, so we just like launch it, right?
And we do the same thing with lots of things shop.
We just try to move more quickly and get out of the chain.
We don't do change management.
We kind of just like land it and then go, hey, everyone.
It's kind of like a volatile company.
This is what's happening.
But this is how we get things done quickly and then move on with our lives.
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 weight. 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
unplugged machines. Right. Like the, yeah, chaos monkey. Yeah, chaos monkey. Right. 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. And that will just actually hurt the speed at which we can deliver
value to merchants. So kind of 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. Is that they
each project. So each project can get like it has an update. It can might have a video of a, 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, OK, one 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, too, it's typically 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.
you're trying to align at that level.
And then again, like I mentioned, every six weeks we go through with Toby,
and like he's an intense guy himself.
And so a lot of it is like, hey, why is this taking so long?
Are we overthinking it?
Are we not trying to move forward on this thing because we're blocked on something?
Is there some piece of infra?
Actually, I'll give you a good example.
In one of the reviews from last time,
there was an interesting AI problem we were trying to solve with LLMs
that required us to have a very large output context
window. And most of the LLMs today have a very small output context window. But in the review,
right, I actually met, we have shared Slack channels with all the LLM folks, right? I messaged in the
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,
like it didn't, it didn't take another six week review, but it increased the intensity because the team is like,
we were blocked because we thought we had to now chunk up this data and do this thing because we had smaller output context and we thought we could do a big input context, but like we'd have to do this caching.
It was like this whole thing.
And I'm like, well, did we just ask them if we get bigger?
And then they were like, oh, we don't have this is undocumented, but like, we'll just enable it right now for Shopify.
And so that kind of created the intensity of the team, be like, oh, we can now quickly get unblocked.
So that's a kind of example of just like moving quick and trying to like just ask again, ask a dumb question.
I'm like, this is probably not possible.
But and then they came back and said, oh, yeah, we can do that.
That's a great example.
And as you're describing the ways that you create intensity and velocity within Shopify,
it's interesting that what you're listening is a bunch of meetings and check-ins,
which to most people would feel like, why do we need so many?
There's all this, like, less meetings.
And I know you guys famously canceled all your meetings.
And that's the whole thing we can talk about.
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.
make sure you're not working on things that are unnecessary and dumb and not going to be used.
And it's just continued 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,
ha, ha, I caught you not doing your work.
Like that it's not like the Dilbert boss.
Like, hey, did you do your thing, right?
It is like even when I look at the Elon text, which is like,
hey, what did you get done this week?
It wasn't to try to catch Parag in a, you didn't do anything or you did a bunch of useless stuff.
It was hopefully to pair on the problem, right?
meaning like when I asked somebody, hey, like, did you, you know, did we move forward on this LLM project because we now have this larger context window?
And then they came back and said, oh, here's what we learned.
So then I can then look at the answer and say, oh, so now are we going to try, like, have you thought of this?
Have you tried?
It's a way to pair on the problem.
So it's 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 don't, I'm not in the work every day,
to then come back and say, oh, based on what I know and what you know, can we move this in this direction?
Maybe that's better for merchants.
It's really like, I don't want to overuse the pairing paradigm, but it is really much like,
can I pair with you?
And I learned this actually very early in my Shopify tenure because Toby would have these one-on-ones with me.
And I'd be like, Toby, you don't have to waste your time, man.
Like, you hired me.
I got this. I'm like, he goes, oh, you misunderstand why you're here. I'm, we're here to
work on problems together. And I was like, oh, like, I didn't even think, I didn't, I thought he hired
me to take problems away. He hired me to work on problems with me. Like, that's completely
different than what I thought. I love that. Okay, one thing you mentioned is meeting thing. For
people that don't know what you all did with meetings, I think it might be worth just sharing that
briefly because it's awesome and something a lot of companies can learn from. 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
doing this before I got to Shopify because I was like, hey, have you seen, I think it was
Dropbox. Have you seen what Dropbox is doing and meeting again? And so he was like, this is super
interesting. This is years before I started. So I think it's funny that it ended up being a real thing.
But here's what we do. Once a year at a random time, we will delete all recurring meetings
that have more than two people, so not one-on-ones,
and are internal people only,
so not interviews or external partner meetings.
And then we have a two-week moratorium
where you are not allowed to add a reoccurring meeting.
You can add a regular meeting, but not a reoccurring meeting.
And the idea is that there's a lot of inertia behind a recurring meeting.
It just always is there, and you know what's coming up.
And 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 it 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 not a good question. I have to go look and see, but it came down by something like 50 or 60 percent.
Like it was 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 setting a status update or large group announcement,
we moved all of that to like Facebook meta workplace, like Facebook for work basically,
which is not being deprecated.
So we'll have to figure that out.
But it just moved all this stuff to like an ML feed that you can kind of consume
differently than you would Slack because Slack is like,
a message of you and you see an alert and all this stuff versus workplaces like, oh, I want to go and
consume content from the company and get updates and share updates. And so that reduced a lot of
distraction as well. And so I'd love to, you know, figure out what the next tool for us is. But it is,
it's probably something more like a river of information that I can dip my toe into versus like
I am and chat everywhere. 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, 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
way working, the more fun stuff I never expected emerges. I'm curious what else is going to emerge.
So we've been talking about ways that 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
paraprogramming because literally you can't do anything else, but be on your computer. So like,
para 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 like 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 be easy to start up the repo.
It should be easy to make changes.
It should be easy to see the changes.
And so those are the kinds of things that, again, we can create intensity because this code yellow allows the champion to tap anyone on the shoulder and say, stop what you're doing and come help this thing, which is an infrastructure layer thing.
And by building out this infrastructure, it allows you to go fast.
It takes longer to build the infrastructure, but it makes you go fast forever afterwards, right?
I'll actually give an example of one.
So we in 2020, 2021, the heyday of pandemic, obviously there was a crypto summer again,
and crypto was 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 it, 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 NFTs.
to have this great experience.
And we're like, we agree.
You want to be able to do, we want you to be able to do whatever you want.
And so we want to build this for you too.
And sitting with Toby, he's like, you guys are thinking about it wrong.
Because he goes, how long would it take to build NFT gating?
I'm like, I don't know, two, three weeks.
He goes, now how long would it take to build like a platform layer which exposes APIs
so anyone could build NFT gating in one hour?
I'm like, I don't know, like two, three months.
He goes, do that.
He goes, because you don't know what they are going to build on top of the platform.
NFC gating is one thing, one use case.
But if you spend the time to build out the infrastructure layer,
he calls it putting gas in the tank.
If you put the gas in the tank,
people could drive on that gas for a long time going forward.
And so he goes, I always want you to think about,
and 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
or two, three weeks. But after that, the things that people built on top, right, were so easy to
build, there were so many more scenarios that were emerged. It's just a different way of thinking
about software. And it really, again, allows its intensity in a different way, it's intensity
around building this infrastructure layer, which we want to build quickly, but it 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. 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 co-pilot has written
over one million lines of code for Shopify.
And people are like, oh, my God, and they got like picked up
and everyone was talking about it.
And I go, I don't know why is everybody getting so crazy
because what I want to see is GitHub co-pilot deleting
one million lines of code.
Like that's when you know we're actually at this point
where this is close to an engineer, right?
And so we famously have deleted millions of lines of code this year
because we're trying to focus on the, again,
the sunk cost and like rebuilding things elegantly
or you don't need this anymore in rebuilding.
And I even tweeted out, I think someone said, oh, Shopify is in the top 10 Ruby codebases in the world.
And I said, I never want to see on this list again.
Like, it's not like, we shouldn't be gunning for number one.
We should be gunning for number 100.
Right?
Like, 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 SOC2, ISO-271, 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-M-T-A-D-A-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 codebase,
and you can never really fit all of 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 illities 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 a delete code club.
We have hack days, which happens two or three times a year,
where there's always one team that is focused on deleting code.
They even have like a manual.
Here's how to find things to delete.
And it's amazing.
We almost always delete, I don't know if this is good or bad.
We can always almost find a million plus lines of code to delete, which is insane.
But at the same time, I applaud the teams for going after like the croft in the code base.
And everything gets easier, right?
Code lets 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? Like, this is where we have to start thinking about it because the right code is never the voluminous, like lines of code metric. It's always something else. It's always like elegance. And that's where we have to think about. So it is something that we, as part of us being long term infrastructure thinking.
we really do care about that.
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, you know, 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, hack days and weeks or 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.
You're 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 gaining 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 goes,
you know what I'm going to say, right?
I'm like, they'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 a actually, maybe I'll tell you a little anecdote.
He has a story where he says, there are unlimited amount of wrong options for any problem.
There's probably 10,000 right options, but everybody stops at the first right one.
Instead, what you should be spending all your time on, because the options that don't work, you're not going to spend time on.
But you have to figure out which of the 10,000 options is the right one.
And spend time in that, what are all these right options, don't just stop at the first one.
And so when I come to and say A or B, I'm picking two of the 10,000.
And like, he's like, that's not what I go back and generate more.
because those are not the optimal ones.
So he is quite the philosopher on these things.
And it does really change the way the company works because he'll push you on these things.
And then we over time learn to spot the same patterns.
And I learned to push my team on infra and deleting code and making things simple.
Because by the way, who doesn't want to get free stuff, right?
Like free performance, free easy to navigate code base, free maintainability, free resiliency,
because now we went and did the hard work of deleting.
It is hard.
But that goes back to the beginning, right?
Like, choose the hard thing.
Don't just build the feature.
Go make the feature easy to build.
I feel like there's just more and more good stuff.
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 parprogramming.
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 Theroy's,
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.
But together, they are building, like, a machine, right?
Like, do you ever read The Undoing Project,
which is about Amos Sversky and Danny Kahneman,
the famous, you know, philosopher,
by Michael Lewis, I think.
Behavioral economics.
Michael Lewis, exactly.
Exactly. And he said, the famous line was, you know, alone we're okay, but together we're a genius.
Right? Like, that's a pair programmer. That's like two people. You're like, 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 genesis of that thinking.
So I would say another thing that helps us create intensity is demo culture. So as part of the GSD updates, we,
we encourage people to share like high fidelity updates,
which is not just imagery, but actually a demo.
One of the things that can go wrong if it just their 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 try it.
And you can try it.
Or they say turn on a beta flag in your own store and then try it.
And so this short circuits a lot of,
misunderstandings because you're like, I'm going to try it. And you're not waiting until the end,
right, especially with the beta flag. You're like, hey, it's in my store. I just realized that I went in
and now this page takes like 20 seconds to load. Is that what you expect? You're like, oh, we didn't
find this use case. Like you're going to learn that much more quickly. And that creates, again,
intensity on the fidelity of the feedback you're getting because, you know, famously some of our
PM team will create a friction log. They'll be like, I am walking, they'll just create a screen share,
create a video and go, I'm walking through it through it 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 as few stats to give people a sense of just the size of the company
today and how successful it has been as we as they hear the stuff we're talking about so you guys
are about like 11,000 employees something like that according to the Googles and you're hitting
not necessarily all-time highs a 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
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 the 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 from 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, too-pull, I think.
Two pull, yeah. I mean, it's funny because we use it exclusively, but we actually have this, 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 parabolic 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, no, no, really.
I mean, yeah, not, I mean, we're not super firm on working hours from that perspective.
But, I mean, we do have, like, we have a lot of people on East Coast time zones.
A lot of stuff happens then, but we do have people all over the world.
But I did mention, we do have, like, the check-ins 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, being coming in a couple of times
and being like, hey, we didn't get a lot done being a blocked for you to change 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 that are 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, intentional IRL experiences.
So every summer we just started it 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 like parties and like, you know, bands and like it's a super fun way to kind of
re-energize and rebuild your trust battery over time. And then we have this thing called bursts,
which is, hey, you want to work on a problem. You want to, you need to prototype, you need to
hack. People can just say, hey, I'm starting a burst. We're going to have five people. We're
all going to go to Ottawa or Toronto or Montreal or somewhere else. And we're going to talk about
this problem and get together. And so a combination of those two things mean like throughout the
year you can recharge that we have the trust battery notion, which is like how much,
you know, how much trust can you have between people and it can deplete over time if we're remote.
So, and then we have offices which are like, come in if you want, right?
Like I mentioned, I come in like once a week and now Toby moved to Toronto.
So now I'm in like three days a week.
But it's like if you want to come in, you can.
You don't have to.
Right.
Today I work from home.
But tomorrow I'm going in.
And that allows you again to have those random interactions and allow you to feel like,
yeah, we're like 90 plus percent remote.
But I would say the main reason is we want to hire the best people in the world.
And those people can be anywhere.
and just happens to be that not all of them are near an office.
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.
don't come in. It's more like coming 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,
your trust with someone is like, think of it as a battery that can deplete and grow.
And you should try to charge it up when you can and then use that charge over time.
And it can be strategic, by the way. I've seen people use it as, like, I'm pretty sure Toby says
he starts everyone at 50% and then he gets to know you.
And then I've seen people use it as the opposite saying, hey, look, this team is hard charging.
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 deplet. 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
principles you all are. And there are so many things are so unique to high 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, like, we have a lot of founders on the exec team,
which are impatient, intense people by design. But even some of the non-founders are just
accomplished people who tend to be pretty, like 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 that it relates to my thing that I'm doing over here.
But it creates this notion of like, there's a lot going all the time.
And we want to keep the, keep the vibes, keep the energy high.
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 found, Brian especially is just pedal to the metal.
No matter how well things are going, there's always, it's 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 you should create that, but it should just happen because you're stretching into new things that potentially, or you're going faster than you should have.
Or there's a new leader you've counted on early.
Because all these things that should create this thing of like, it might work.
And so you want to have a little bit of chaos at the edge.
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 paths, I 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 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,
this is a dirty little secret, right?
Interviews are not a good predictor of performance.
We know this.
We know this from studies.
We know this.
Everyone at their company knows this, where like, somebody interviewed well, wasn't as
good 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 heard two people
for machine learning.
One was like a PhD, taught at the university, was like, oh my God, no brainer.
It was also recommended by an employee.
We're like, oh, my God, this person is going to 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.
is like not a fit for a culture. And person B is still went with at our startup and it's still at
Shopify today. And it's 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? But it was just
so curious. Like, and we gave them both a shot. Like the key was I didn't use the resume in either way
to bias. We brought them both in. We said, here's the environment. We had, it was all pair
programming at my startup. And, uh, you know, actually, as aside, you know, I care. I, I, I, I,
I really believe in pair programming when I made with my, I made people work in pair programming
with my own money. Like I paid people to have, I paid for two people to be on one computer.
So that's how you know.
Less than half the code. Yeah, exactly. Right, less than half the code. But anyway, so pairing
and they, and it was pretty clear after just, you know, a few weeks. I'd say let's,
let's say up to three months is like the amount of time I give people. That person A wasn't going to
work out in person B was. So what I really like to do is use this like race car analogy.
if I told you, hey, I want to go hire the best race car driver,
there's not really that many questions you could ask them,
except for like put them in the car.
And so the same thing happens with us is that, of course, we have to do interviews,
but we do really spend time in the 30, 60, 90 days to make sure that the thing that they are bringing
actually lines up with what we need at Shopify.
And you should also be transparent with people because if it's not a fit,
it's actually good for them and you to figure that out as quickly as possible
because they could be amazing somewhere else, right?
Like we mentioned like the chaotic environment and fast moving environment Shopify is that's not for everyone.
But that's okay.
Right.
We're not looking for, right?
We've talked about that we want to be as, you know, the best 10,000 person company in the world.
We're not looking for like millions of people.
We just need the best 10,000.
And so if it's not a fit, like it's in your interest and our interest to figure that out quickly so that you can go somewhere where you will be amazing.
And for us to have the people who will be amazing at Shopify.
And so job trials, I'm a huge fan of, which leads me to like intern programs.
What a great interview process because you now have real work product from somebody for four months.
They get to see what it's like to be a Shopify for four months.
We get to see what it's like for them to be a 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.
And so there's just things like that.
You just got to look at the work product.
And so I'm a big fan of like job trials.
And in my previous companies, I almost, like you mentioned,
I almost didn't interview anybody.
I almost just said, come in and work.
And it allowed us, we had a much higher like in the first 90 days,
like 20% attrition before 90 days because it just didn't work out.
But those after 90 days, we had less than 1% of 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 shop five.
you're interviewing people, they do technical evaluations, things of 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, 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, your resume should be a why.
Like, why did you go from this company to this?
Like, that's the interesting part.
Not that you were a PM at Microsoft and the PM at Stripe.
It's like, why did you switch from Stripe to Microsoft to Stripe?
Like, what's something interesting there?
And so the life story is trying to pull that out.
It's like, why did you make the decisions?
What did you do in your past that was like interesting?
Are you curious?
Like, do you have, like I always fought, I read this great book,
range by David Epstein.
that book was maybe one of the hardest books for me to read in my life
because every page I was like, I don't believe it.
I kept thinking I was a specialist.
I kept turning the page going,
I don't like this data that keeps showing that generalists are better.
And then by the end, I realized that I'm a generalist.
It just was like it took me so long to realize.
And funny for me because I ended up redesigning the compensation system of Java
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.
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
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 rule,
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 it 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
a double click on that. So you're hiring a thousand interns. Yes. Over the course of the year,
that's a lot. And the idea there is these folks are actually useful, building useful things.
And it's an interview process for. 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 second. 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. It seems like win, win, win.
And 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 1,0001 interns to beat you guys.
And I'm like, great.
Like if we can, just from that one tweet, if I can get like the early talent ecosystem restarted here after, you know, a really tough last few years and layoffs, it's great for everybody because now they're realizing that they also realize that these people are super valuable.
And they bring together a complete different set of skills.
And by the way, here's a secret.
Impair programming, interns will always be more intense than the full-time.
And so that also helps the fly a wheel of intensity go.
It all just keeps coming back.
Did the internship programming merge out of this co-op system that Canadian schools have in at 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 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.
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,
we start this notion of early talent in the ecosystem.
There's one, I would say, one or two big differences with our intern program.
One is we're making them come in three days a week versus full remote.
And the reason for that is early, and we're doing it just in three offices right now,
Montreal, Toronto, and Ottawa.
And the reason for that is because we want them to have a cohort,
because early talent is different than, you know, you and I who've been in the industry.
We worked in office, we worked out of office.
We're more comfortable with navigating like partnership discussions
and 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.
They're like moving to Montreal to do the internship.
It's 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.
Yeah, it's during 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 school, work school alternating for the whole rest of my time at Waterloo.
It's like semester is alternating.
Exactly.
So every four months I did either school term or work time.
So I was doing work in January sometimes and 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 symbiotics, a relationship between Waterloo and, uh,
and employers. And by the way, not just Waterloo, right? Lots of schools do a summer program,
UFT and others, lots of schools in the States. Fun fact. So total tangent. I had a startup called Local
Mine started in Montreal, of all places. I'm not Canadian, but moved there for various reasons.
It was awesome. And our first hire was actually from the co-op program. I don't know if it was Waterloo,
his name Nick Adams. And he applied just, he saw her job posting, I think, and we're like,
what is a co-op?
And he came to work
and then he went back to school
and then we hired him.
And then he ended up at Airbnb
when we got a quarry.
See, there you go.
And so for us, actually,
what my first,
when I did my startup,
helpful,
we hired,
I had one or two engineers.
And then I actually
literally just
hired four interns
because you hire them
in February for May
and I,
because I was doing paraprogram
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,
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.
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're there
you had a hundred 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 an own report to me.
And then as we grew, I just kept having those people report to me.
And I was trying to figure out, like, you know, we talked about like crafters and crafters paradise, this idea of like, people don't really, like, they, there's managers are useful.
But I was trying to figure out, could I solve the problems that they 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 but 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 have another person that you can bounce technical ideas off of,
having a product backlog and tell you what to work on.
We had demos every week, demos internally,
and we had demos with the clients every week
because we were, you know, contract manufacturing for mobile.
That gave them feedback on whether they're going in the right direction, right?
We had set working hours, which made things like super intense in the office.
This is again, like 2009 to 2013.
So all these things didn't really need a manager.
And what I realized was what 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, you could just come up to me.
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 could just walk up to them and be like, what's happening?
But they would come and ask me questions, and I could unblock them.
Like, hey, we're blocked on this.
We don't have this API.
We need money for this machine, like, whatever.
And so the unscheduled one-on-ones ended up being like a real clarity,
clarifying thing for me because I did scheduled one-on-ones my whole career. And I realized after
leaving Microsoft for three years, I'm like, we're all those one-on-ones useful, right, once a week for
three years, right, 150 one-on-ones. So the unscheduled ones were, though. I was like, when I knocked
on my manager's door and said, I had this problem, those were important. So that's what I created
at extreme. And the 120 direct just, it just grew over time. I just didn't think I needed managers.
I was like, let me unblock these people in another way. And we came up with other things to, to
systems to unblock them that didn't require a manager.
And I just also had a good memory.
I knew exactly everyone's skills and compensation,
and you all that off the top of my head.
So that helps.
The other thing that the thing that it broke was,
actually, this is Chamath.
He came in and became our biggest investors.
And he obviously is 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 end up putting a little bit more of a structure.
But I went to, I made a few people directors, and I forced them to have 40 direct reports each.
Like I said, we're just going to make it still pretty flat.
And then that did end up working because it still allowed them to be, use the system to unblock people versus, like, having to do a one-on-one every week or having to, you know, talk about things that potentially a system could unblock.
And so I tried to figure out ways to systematize things.
I love it's just another example of doing things differently,
not necessarily just here's how it's done and I'm going to do it that way
and experimenting with it even if you knew.
Like, okay, maybe long term this isn't the way it's going to operate.
Imagine at Shopify, you're not.
You don't have 120 reports.
No, I have like we have the F-14 or something, right?
Like we do have like these guardrails where I think we say,
hey, like an engineering you should have between 8 and like 20.
There are definitely people who have more and people who have less.
But we do try to keep things as flat as Boston.
because you do believe that, like, it doesn't make sense to have, like, three people reporting to somebody, and then they only have three people.
So, like, you just make a very deep hierarchy.
We actually do see, by the way, the farther you are from Toby, the, like, we can see things in, like, the survey results, like the alignment gets out of whack.
And so you do actually see that you want to be closer.
You want to have a flatter orc 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, I think I read this in
Tim Ferriss's book or on the podcast where he said, create a failure resume and like write everything
down. And I would not recommend doing this because I did this and I got super, I'm like a high energy
happy guy. I wrote down like I have a 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 out with my framework of how I want to spend time. But that's maybe
a different story. I'll tell you about when at Shopify. The first week that I started,
2019, we were, we were rebuilding our point of sales system, which, you know, now does like
billions of dollars of GMB. But back then we were like, let's rebuild it with a new U.S.
and a new technology platform.
And it was my first week, and I'm the mobile guy
coming from Extreme Labs.
They're like, should we build this in React Native?
Or should we build this, you know,
natively on 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,
and let's do Android and React Native.
And the reason I said that was I said,
I want to learn about React Native,
and I think Android's a 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.
We're like, oh, my God, this will allow us to have one platform.
You could run it on the web as well.
and we could use the React engineers from the web to work on it.
It was 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 for like 100 engineers.
Like literally from the decision I made in the first week of joining Shopify.
And Toby, when I went to Toby and I told me,
told him. I go, hey, man, I think I made this mistake and we have to do this. And it's going to cost
this like, you know, 100 engineers, another six, whatever. And he looked at me and he goes,
you should tell everyone in 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. And I told everyone I failed and
my mistake and everything else. But he goes, just tell everyone. Because he goes, do you know what
mistake he made? And first, I was like, I don't think I, like, what mistake? He's like,
you didn't take. He goes, I will, 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 you get job by, right, is like,
take a risk on a platform that we have not launched a in production app on, but he was correct
in that we should have because we would have saved ourselves so much more time.
And so, yeah, total failure.
Sorry, the product is like super successful now.
And like we're all on React Native.
And even the shop green app is on React Native.
Everything's React Native.
And we're like core contributors.
Like it's all good.
But I literally burned, I think, 18 months of time for 100 engineers as my first
decision in the company.
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, okay, that felt like a really good decision to me.
And it sounds like it, right?
But it wouldn't have been here.
his. 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, 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.
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 and React Native before we
became core contributors and React because of all the things I was doing. And so I think just like
knowing that I was going to go all out, I should have said, you know what? This is not going to fail.
And I didn't, I didn't have the confidence in 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.
8-M-R-5.
Yeah, exactly.
I know.
I don't know if you were at Zuck's interview at the Chase Center that the Acquired podcast did.
And he talked about this where like their market cap dropped 80%.
They were about to go public.
They went to this app.
No one thought they could do mobile ads.
and he's like, that said us back a year and a half, but he's like,
but like based on all the pain he's gone through back, like since then, he's like,
that was not too bad.
Yeah, it's true.
Actually, maybe what people don't know is, we, 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, it kept crashing.
And we had obviously direct access to people at Apple, but like it would, we should
new app on Monday and it crashed, shipping app on TV.
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 an 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 a very exciting lightning round, is there anything else that you think
would be valuable to leave listeners with?
Maybe you've touched on something you've mentioned, a last piece of.
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.
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, like,
a template for a performance review framework that I've been using for years.
Literally every review I've done at Shopify uses that framework.
And I was writing a post to my admin about how we can use LLMs to make it easier for me
to write these reviews, even though I obviously have to read it all and go through it.
But I was like, how can I generate some of this with an L&M?
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, 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 history 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 verse.
Well, how about that? I love that. I will also give credit to a former guest on this podcast, Vlad Lockhev, 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 warned 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 called the M framework, but that's another one that
has trickled into the ether of tech companies, which is awesome. Amazing. With that,
for Han, 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 you recommends and they're all, like, not all.
They're usually good.
It depends because we're not in totally instinct on fiction, for example.
But he recommended one to me that I think everyone should read right now called Mana, M-A-N-N-N-A from Marshall Brain.
It is a book about, it's a book about AI.
And I think the most interesting thing about it, though, is about a future in which the AI tells the humans what to do.
So it's this idea of like imagine in the future you came into work and the AI would tell you what emails to pay attention to or what dashboard to look at because something weird is going on.
It takes that to an interesting level.
So I would recommend reading that book.
It's not long.
That's fun.
I think another book that I recommend to people, and it's kind of a weird one to recommend, but it's business adventures from John Brooks.
Like the famous, if you ask a, 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, it's 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.
it to people and I said, the test here is, can you read it? Can you just get to the end? And
not in a pejorative way. Like, if you can get to the end, like, you will extract the alpha
from this post if you can read it all. So I love, so those are real. Mana is like the opposite. It's
very, very easy and easy read. I'm excited to read these. Next question. Do you have a favorite
recent movie or TV share you've really enjoyed? A recent one was Challenger's, the tennis movie,
with Zendai.
I just randomly I was at home
and I put it on.
And the cool thing about it
was more the cinematography and music.
They had this weird style,
art house style
where they would be talking
and music would get like super loud.
Like it was very strange,
but a very, very good movie.
And then you saw you said movies and...
Or TV show.
Oh, TV show.
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.
Yeah, and like if you,
I think there was an end recent podcast.
where he said this is the closest thing to what a real startup looks like.
So Halding Getsfire is like an all-time, like, recommend.
Like, everybody has to watch it.
You have a favorite product that you recently discovered that you really love.
I don't know if I want to be like in the, in the zeitgeist right now, but like the meta-ray bands are amazing.
And the biggest thing about the meta-ray bands was just like, 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, I can swap two devices for one device because I always have sunglasses and an air.
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 uninterrusive.
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 I got to get this amazing set of video
that I would never would have gotten.
So I really liked Meta Raybans.
We had Boz on the podcast who leads a lot of that work
and he's got a lot to teach us.
And I put on Raybans while we were doing an interview
just for fun.
You could see my setup.
Okay, cool.
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?
And people always come back to me and say,
that's like,
they know that as my motto.
And the reason for that is,
it's this notion of if all the knowledge you knew was incorrect,
could you from first principles build up like a view of the world?
And that's kind of how I like to think of things,
is that anything could be incorrect,
even things that you think are correct,
which is why, again,
back to the, I like to experiment, I like to look stupid because I'm always trying shit because I'm like,
I don't know if even though you say this is correct that this is going to work, right? Actually,
one example, my wife hates this is I have a Tesla and I routinely will switch gears without
fully stopping the car, which you cannot do in a regular car, but like I'll be in drive and then
I'll slow down to drive back up into my driveway. And while it's moving, I switch it into reverse.
And like, you never would know that that's possible except for trying. And sometimes it goes,
beep, beep, 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 card.
There's no gear you're breaking.
It's just software.
Exactly.
This quote reminds me that you shared of everything you knows wrong.
The founders of Airbnb be 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.
Like, 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 who met in a 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 smile on her face, taking everyone's order.
like, you know, making sure that, like, there was a thing happening in the kitchen.
She was kind of like doing an phenomenal job of organizing the entire crazy, busy restaurant.
And so, in talking to her, I said, what do you do outside of this?
Because you look like you're super, she's like, what do you mean?
I'm just the waitress.
And I said, well, would you like to, like, this is at 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 and to 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.
I had to teach her at 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 taking over one of the HR functions
for us.
And she had a college degree,
and because of the work,
get done with us, she was able to parlay that into finishing her, like, doing one more year and
getting a university degree. And now she's a director of HR at a company, which is amazing,
like, is amazing from like, she went from that environment to this environment. And a lot of her
people she pulled the smart and, you know, intense people she pulled from that environment also
ended up on these amazing career paths. And so I just like, if I see someone doing a good job,
I'm like, what, like, what do they do that? How can I work with them? And this is a 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 hire them into my company as well.
Wow.
That is such a good story.
I love that maybe this like restaurants or 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 because she'd be 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 Thower, and maybe
I'll put that on the show notes. And then listeners for me, yeah, I mean, like, I love to be challenged.
I'm sure that there are people who are like, they heard something that I said, and they're like,
oh, that's like super dumb. We do this instead. Or here's research that says that that won't work.
I would love to hear more about these because I'm just, again, on a learning journey.
And if I did something stupid, very likely, I would like to.
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 if 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
what Ferhan got wrong. Amazing. Amazing. Ron, 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 lenniespodcast.com.
See you in the next episode.
