Behind The Tech with Kevin Scott - Tobi Lütke: CEO and Founder, Shopify
Episode Date: January 3, 2023Tobi Lütke, CEO and founder of the Canadian multinational e-commerce platform Shopify, is always looking for the tools he can use to build a better company. Since his early days running an online sno...wboard shop from his carport, Tobi has envisioned himself as fundamentally a craftsman first and a business exec second, a mindset that he has used to solve a wide variety of problems over the course of his career. In this episode, he joins Kevin to talk about applying computer science and engineering techniques to build and scale a company, the idea of bringing an ‘apprentice mindset’ to his work, and how his daily practice of writing code and tinkering in his home lab inspires him to be a more creative leader. Tobi Lütke | Shopify Kevin Scott Behind the Tech with Kevin Scott Discover and listen to other Microsoft podcasts.
Transcript
Discussion (0)
I operate under the fundamental assumption that all companies are terrible, but all the ones ever created, which, you know, like I, some people, some people don't love me saying this, but like, I think to me, this is actually inspiring because boy, building companies is worth it. It's like, I mean, all the innovation around us
is like, it comes from companies,
comes from journeys,
comes from like entrepreneurships
and builders getting together.
Hi, everyone.
Welcome to Behind the Tech.
I'm your host, Kevin Scott,
Chief Technology Officer for Microsoft.
In this podcast, we're going to get behind the tech.
We'll talk with some of the people
who have made our modern tech world possible
and understand what motivated them to create what they did. So join me to maybe learn a little
bit about the history of computing and get a few behind-the-scenes insights into what's
happening today. Stick around.
Hello, welcome to Behind the Tech. I'm co-host Christina Warren, Senior Developer Advocate at GitHub.
And I'm Kevin Scott.
And we are kicking off 2023 with an insightful conversation with Toby Lutka, who is the CEO and founder of the Canadian e-commerce company Shopify.
Yeah, I've been really, really looking forward to this conversation.
Toby and I
have known each other for a few years. The company that he runs is sort of amazing. Like, I love
anyone who is doing work building platforms to help people run their businesses to, you know,
just empower them to do more of what they want. And I think Shopify is a really great company on that front.
But Toby is a really, really unique CEO.
He is a programmer and computer scientist by training.
And he just is deeply invested in his programmer roots.
And I think you're going to hear a bunch of that in our conversation.
He's a very unusual and impressive CEO.
I'm super, super excited.
All right, let's dive into your conversation with Toby.
Toby Lutka is the CEO and founder of Shopify, the Canadian multinational e-commerce platform that helps companies set up and run online stories. Growing up in Germany, he spent his
time as a teenager tinkering with computers and writing code. Toby began his career as an entrepreneur when he and
a friend decided to design an e-commerce platform to sell snowboards, which eventually evolved into
the concept that built Shopify. As a programmer, Toby has served on the core team of the Ruby on
Rails framework and has created many popular open source libraries. I've been looking forward to
this conversation for a long while.
Thank you for joining us, Toby.
And apologies in advance.
We're doing this from my lab, which sometimes can get a little bit noisy.
Thanks for having me.
Yeah, so we always start these conversations by going all the way back to what inspired you
or how you got the spark to get interested in science and technology.
So tell us a little bit about that.
Yeah, you'd have to go all the way back.
I got really lucky.
So my dad is a doctor and he had, so we had, and this was in Germany, we had Macintosh
in the house.
This was sort of LC1 variety, you know, LC1, LC2,intosh in the house. These were sort of the LC1 variety, you know, like LC1,
LC2, growing up in the 80s. And I just like, I mean, there was just no other magical object
that existed on planet Earth that had nearly withdrawn me, right? It was an interesting
experience going through the 80s and 90s.
Yeah, and so you started out with Macintosh programming.
So what was it?
MPW Pascal?
Was it HyperCard?
Exactly.
Unusual suspects, but HyperCard was the whole concept of...
I mean, I made HyperCard decks for learning my Latin conjugations
and shared them with the other kid that had one and um uh but like um pretty quickly i found like basic and um uh pascal uh like
eventually i don't think i was any good at it and like i was pretty young during those days. But the spark really happened when
the German version of Byte Magazine, I don't know if that was the same in North America,
they often had listings in the back, just often like a little video game or something. And I would type them into my basic interpreter. I had, at this
point, this basic computer. It's called an Amstrad CPC, which again is sort of a European thing.
And I very naturally started, you play the thing after it runs, and this is magic, and then
you beat it and you make it harder and and
it it was only like years and years later that someone told me this is called programming and
has a name this was just like using computers yeah and you ran out of things to do pretty
quickly so this is what i gravitated to yeah and and i i mean it's really interesting in our
generation i think that is a fairly common experience.
Like, oftentimes, like, games were the, you know, sort of provocative thing that captured your attention.
And then it's just sort of hacking around with these systems, not even realizing that what...
None of us certainly realized that what we were doing then were going to inform all of the crazy stuff that we do now, right?
Definitely not.
But it did feel, especially going through the 90s a little bit, which probably looked very different.
Again, I'm from a small town and really didn't know anyone else who was into computers in a similar way I was.
But we were connected through dial-up modems,
BBSs and so on, where you could download messages,
and there was a bridge to Usenet.
So you were this outside observer to,
you know more was going on,
but you stepped out, like away from my bedroom,
and the world wasn't changing.
And people were, like, I remember very early in my teenage years that I had this realization where,
you know what, the adults around me do not understand what's coming.
Because it was just so obvious that everything would change given this thing,
which was just simply not possible before.
And you could play the party tricks, especially with things like HyperCard,
where some data entry job, you just made it basically go away.
But it was clear that there was more value there and that this would have a much,
much bigger impact in the future.
So I'm curious.
So the German education system is a little bit different from the U.S. education system.
So at some point when you're a kid, you get selected.
And it's just always been unclear to me how much choice the student has versus how much the system is sort of deciding for you,
whether you're going to go do Fakhok Shula,
which is this vocational track,
or you're going to gymnasium,
which prepares you to go to university.
So I presume you went on the gymnasium track.
Was there anything in gymnasium
when you went to effectively high school
that helped you learn programming
or get you interested in computer science?
Yeah, not in my experience.
I mean, I'm sure this obviously has changed now, but like I was initially, I went, this
is a really interesting meta topic, which is that Europe has a, especially this Germanic
region of Europe, this sort of heritage of the crafts is very different.
North America does not understand it well.
I know this for a fact because I have to constantly re-explain this
because inside of Shopify, it's well understood
that you kind of have to understand what vocation is
and what craft is in the European sense
to really understand the way the company thinks about itself.
But anyway, I went into this more academic gymnasium track initially,
but I'm just sort of a hands-on tinkerer.
I don't think it's academia for academia's sake.
It's not for me.
And so I wanted to go more into the practical side.
I found out that if you switch, I think after ninth grade or eighth grade,
I switched into the more vocational track of the school.
And then we did practicas and like, you know,
I actually worked at a cement subsidiary for like a couple,
like for a month or so,
which was just the most magical thing to me.
And it was clear that I wanted to leave school as soon as I could,
because it just,
everyone was teaching things that were just kind of exact things that I didn't think would be super relevant in the future.
And then the wisdom of a vocational system
allows you to leave school after 10th grade
and start as an apprentice.
And so that's what I did.
I was actually the first year where computer programming was taught as a craft in the education system.
And I'm so glad that I hit that particular timing window because things would have gone very different otherwise.
This whole idea of computer science and programming is just a huge category. And I've always wondered for myself,
like I'm also practically inclined.
Like I like to write code.
I like to, you know,
it's why I studied compilers
versus theoretical computer science.
It was like this perfect mix of,
you got a little bit of theory
that was sort of intellectually satisfying.
But at the end of the day,
the thing that you wanted to do was like build a compiler or an optimization pass or like
something and you know and in the very truest sense like you're building a tool for other people
to pick up and use to do their craft and so like i've always thought of it as craft but some of
its art and i do think some of it is legitimately science, and there's this
blurry boundary between all of them.
But treating it as if all of it is this holy academic scientific thing, it just never appealed
to me.
Yeah.
I think it's a side effect of the way academia sorted itself.
They had to put it in some building
when computation came around, not realizing that it probably ought to have had its own building.
Yeah. Because there's a lot of different things underneath it. I think
the people who don't doggedly associate themselves with we're scientists and we do science-y things, but rather
follow the value,
treat all
these different disciplines as sources
of inspiration and energy and value
and pull from all of them just to get the
task done. Those are usually
the more vocational people.
I think this is something
I think we see this in a lot of places. I mean,
to take a very recent example, I feel like machine learning is currently being
recaptured by the tinkerers and by with a much more vocational bend people being able to
do cool things on their own gpus rather than calling apis and um uh you know many of the
greatest things will not be used like this this way because they're just too big for machines but
um just the the ability for people to start tinkering just leads to all sorts of better
tooling and better like great writing and like people from
different backgrounds entering the machine learning area, which always is the kind of
creates these melting pots where suddenly progress accelerates.
Yeah. And I think, look, it leads to better applications as well. So one of the things that
I really strongly believe about all of the stuff that's happening in AI machine learning right now
is if we can't make what we're doing into
an accessible platform for people to do this tinkering, whether it's you're downloading
a copy of Stable Diffusion and getting it to run on your own machine, on your own GPU card,
plugged into your PC, or it's calling someone else's API. The API calls have to be unrestricted enough and cheap enough where you can just
tinker.
If we
can't do that, you're not going to
really get the full breadth of the interesting
stuff that's sitting in people's
imagination that they don't even know is there.
Absolutely.
The core of a craft is conversion
something into something.
Every craft that exists is sort of
that particular process. It's like
people who convert wood into furniture
are carpenters.
And one thing which is really
inspired about these things
is that they really, it's the
identity of a
carpenter that they are carpenter. Their identity is
actually that they are a craftsperson.
And that
the particular craft that they are carpenter. Their identity is actually that they are a craftsperson. And that the particular craft that they
have pursued and they've done their
they've become a meister in, it's usually just their aptitude.
But it's a very common type of person, which is also
really, really useful, because therefore some crafts exist for a moment, and then they
don't exist anymore, and they're no longer needed like we like like the blacksmiths kind of figured out
what to do next um and um so i think that's like all of this is actually really worth sort of
understanding um and uh because you know like i i do sometimes talk to uh you know junior engineers
who describe themselves as i'm a react front front-end developer. And I'm like, wow, you just put two little bits into your identity that you really don't need to.
Because I think you are actually much more than that because you can solve problems extremely well.
The rallying cry is like, people were able to make the things that they really want with what they got like that's yeah
that's sort of at the core of it and i love that i think that's a beautiful definition
and like and more to your point like i think some people do
some crafts people really do associate themselves more with their tools than with the process.
And it's okay, but it's like a narrowing thing.
Like it actually happens in woodworking right now.
So there's like I'm a.
Does it?
Yeah, like I'm a woodworker.
And so like there's some woodworkers who are like, oh, it's not really woodworking unless
you are doing it all with hand tools.
Like, and, you know, there's some woodworkers who are like, oh, no, no, no.
It's only woodworking if you do it with
power tools, but CNC is completely
unacceptable.
And it's
all the same craft. You're just wielding
your tools in different ways, and the tools evolve.
And so it's
very interesting, that mindset,
I think.
It's funny, because there's clearly some common ground somewhere
that no one ought to be a hammer carpenter.
That's too fine-gained.
So everyone agrees that you shouldn't narrow focus too much,
but the degree by which people agree is something to be debated.
Yeah, and one of the things that I've seen in some of the most creative and successful craftspeople across any of these disciplines is the agility that they have to adapt to new tools.
To sort of say, oh, this is new and interesting.
I'm going to incorporate this into my craft because it helps me do the thing that I care about better. Yeah. I think this one skill, like how quickly you can get value out of new tools and how quickly
do you spot that a tool would make a substantial improvement to things that are worth improving
on is like the unacknowledged meter skill of all the most successful people on planet
Earth.
I think it's really that.
Once you look for it, it's really stunning.
You really do not hear stories of extremely successful people
who are absolutely set in their ways.
And it's a fascinating...
At least, okay, you can probably find some people in some areas,
but very unlikely to find this
in anywhere close to where you make things. Yeah. So I want to go back to this thing that
you mentioned a few minutes ago, which is this idea of apprenticeship, which I think is very,
very powerful. And so my experience with this as a programmer was I always did my academic work and my programming work side by
side, but they were relatively separate from one another. So like I would have a side job where I
was writing firmware for industrial controllers, or I was helping someone build an internet site,
like this is all back in the early 90s and then I would go study computer
science at school and like it was always confusing to me that they were as separate as they were
and I even remember when I left my PhD studies to go join Google I probably got more benefit in terms of developing my craft as a programmer that first six months at Google than anything else I did the rest of my programming life.
And it really was an apprenticeship. So like it was the special thing about the culture at the time is that your peer engineers valued spending their time in code reviews and like writing good documentation for the things that they were producing for building things in a way where like a first order bit of their job was making a thing that someone else could reuse.
Like they were all like teaching me how to be a better engineer.
And I wonder how you think about that at Shopify,
because like you,
you sort of run your company as a,
like a someone with programmer mindset,
which is,
I find very fascinating.
Yeah.
I mean,
like the,
the concept of,
I mean,
I've tried to reproduce the concept of apprenticeship because I love it as well.
Although it requires sort of a double opt-in, which is hard to manufacture, I found.
We had limited success with this, but we did have some.
But there is a bit of a cultural norm. I mean, the first thing
about the vocational system
in Germany that's really hard
to replace is just that
it's extremely parent-compatible.
Parents are like,
you know, Godspeed.
Go into the crafts, do the
honest work, and
after the apprenticeship, also you can go back to university
afterwards. It's optional which track you take.
You can do the academic next couple of years or you do
the vocational one.
So it's respected.
It's respected and that's a really, really
important thing because
it was always easier to convince
students
to say, hey, you should actually go full-time
just like you did with Google because you
kind of like, this is your opportunity. But the parents would say, hey, you should actually go full-time, just like you did with Google, because you kind of like,
this is your opportunity.
But the parents would say, no chance.
So I've had dinners with parents trying to explain how this all can work out,
and it's just like very little pickup.
So that's sort of an interesting aspect.
The other thing is also the mindset of an apprentice.
Like you are, like they don't even call you apprentice,
at least at my place.
They didn't call you apprentice for first year.
You were, they called you pen, like shift,
which is just short for pencil.
And like, basically you were utility to be like utilized for certain tasks.
And that meant I did,
like I cooked coffee for everyone.
I did the photocopying.
I helped out in accounting,
actually did the inventory sorting. That's so important. And now we are building warehouses and I can draw on
weird lessons that I've had as doing something which some people describe as a hazing, but it
was actually, it was very good. It was a perfect place to enter the workforce because it just, I don't even know what it does.
Like, humility in a way, but also just, like, perspective is fantastic.
Well, look, I think, honestly, it's a really good entrepreneurial lesson because when you are undertaking a new endeavor like all of that stuff needs to
get done like the coffee needs to be made the dishes need to be washed the inventory needs to
be i mean like all of these and like you have to i think as an entrepreneur like part of your job
is figuring out how how are you going to be of service to your team and of service to the tasks that you are doing and not
being overly precious about what your role in that is like just having flexibility like i will do
whatever needs to be done i couldn't agree more you you really have to um i mean at the very least
you should have a non-theoretical understanding of every little job that exists because otherwise
how do you how can you judge
what great work is right like it's this is this is a very important part of what the entrepreneurs
have to do in a business um and uh you judge your own work uh because you're doing every job in
beginning and then you use that skill to actually help other people like reach higher than they
might have otherwise imagined they would um So those principles are super valuable.
And just they're this way, like, in doing truths, right?
Like, this is, you can find, like, Cicero talked about Roman times
about the importance of having hands-on experience at everything.
I'm not sure he would go all the way down to,
in that particular society with those things, but
the virtues of these ideas are well known to us.
And so
in Shopify, so you're right,
I operate under the fundamental assumption that all companies
are terrible, but all the ones ever created, which, you know, like I,
some people don't love me saying this, but like, I think to me,
this is actually inspiring because boy, building companies is worth it.
Like, it's like, I mean, all the innovation around us is like,
it comes from companies, comes from journeys,
comes from like entrepreneurships
and builders getting together we build this incredible legal structure which allows um
deeply caring hardworking people to get together align everyone's economic incentives and allow
them to just like pour themselves into like really tough problems for you know sometimes
their entire work life and i think it's it's a beautiful thing that we have something like this.
And so we should be good at it.
Yeah.
And I tend to agree with you.
All of what you just said is the inspiring bit.
And I don't know that there's an existence proof for how to go accomplish the most complicated things that humans get up to without this sort of structure.
Like maybe maybe there's something else.
But like, I think the only other thing might be like a national emergency, like you're you're going to war or something like that.
But like companies, I think, do a pretty good job of doing what you said,
like sort of aligning the interests of a whole bunch of people to accomplish a task
that's too big for any one of them individually to accomplish.
And that's sort of a necessity, right?
Because companies are kind of miserable, right?
It's just sort of hard, hard work to
get a group of people together to do these complicated things. And there's so many like
entropic pulls to, you know, misery and inefficiency and friction. And so like, that's,
I'd love to hear your take on like, how you think about solving some of these problems at Shopify,
but like, it just is a constant struggle against all of these things to
make a company work well.
Yeah. So I would be
really sad if people tell me,
someone would come to me out of the future and say,
hey, the companies of today
are the most efficient companies that ever
will exist, and there's not much to be improved.
I would probably be uninterested in doing my job
if that would be okay. So again, if something
is terrible, it's very motivating to me
because I draw motivation from dissatisfaction with status quo, usually.
That's my sort of source of energy.
And so if you would take any, like even the World Soccer Cup is going on right now,
and you always see these replays of the goals.
And sometimes our analysis,
and it's just like every single player
is just in the right spot.
This is like the top of a game.
That matters more.
People who have spent their entire lives
training for this moment.
But there's lots of mistakes.
It's like if you actually go down to individual muscles that were activated,
you're probably talking about 70% efficiency or something like this.
They're getting close, but as close as we can.
But if you freeze frame every frame and analyze,
is everyone exactly where they should be,
what different opportunities they didn't spot in the moment? You will find
them. If you do that with a
company,
if
professional players get to 70%,
companies probably get to
seven. There are
so many memos that no one reads, so many
meetings that should be in email,
and so many
projects that
are like local many meetings that should be in email. And so many projects that are
like local
maxima optimizations of something
that no one would have to do
if everyone would have just spent a moment
figuring out what does a global
company want from its mission.
And so
I mean, I
certainly have not cracked the code on how to solve
these problems, but I mean, what's motivating to me is like at the end of my career, I want to have conversations with my contemporaries and say, and I want to know that I've done the best job I could have possibly done.
And maybe I'm going to be slightly less embarrassed by my company.
So that would be awesome.
Yeah, it's really, I mean, it's interesting to hear you frame it this way, because when we were building LinkedIn, for instance, like we thought about it a lot in these terms, there's this economist philosopher named Fred Kaufman, who.
One of the exercises that he does is, you know, to a group of leaders, he walks in the room and he asks folks on a
football team, what's the job of the goalkeeper? And people will confidently raise their hand
and say, it's to, you know, play that position and keep the ball out of the goal. And he's like,
no, you're wrong. Like their job is to help the team win the game.
And that mentality, I think, of the best football teams is probably
why they get to 70% efficiency. It's not just about being at peak
performance for themselves, but paying attention to everything else
that's happening on the field with their
opponents and their
teammates, uh, and being willing to get into whatever position you need to be in
to assist your team in winning the game.
And that's just sort of, it gets harder, the bigger you get, uh, you know,
probably quadratically at least.
Uh, and yeah, you're just sort of fighting against a bunch of impulses, right?
Like one of the catastrophic failings of sports teams is like
if you get an egomaniac on the team who like wants the whole game to be about them.
And like you sort of see those pathologies in big companies.
Absolutely.
Yeah, I mean, what this is, is people have a different incentive hierarchy than the team.
And there's a book which made a really big impression on me.
I read it very early and then recently again, written by James Carr.
It's named Finite and Infinite Games.
And it's actually a pretty dense philosophical book,
but it feels extremely actionable
because it really explains how some things are...
I mean, the world is, like, completely controlled
by finite games, partly because
they have clear goals, and they are measurable,
and they are fun, and they are
easy to communicate, and
they are,
you just know how you do. Like, there's a score.
And you know if you're winning.
But there are
infinite games as well. So, like,
for instance, like, we structure, we structure every person on planet Earth, I think, I hope, engaged in an infinite game towards wisdom, towards education.
These are unwinnable games.
They have no goal orientation and there's no way to finish them.
Those will go on forever. But we structure the world in such a way
that we encode these infinite pursuits
underneath finite games like school,
like grade one, grade two.
Like, you can win grade one by qualifying for grade two,
and you can win the math test by getting a high score.
One thing which is unfortunate, I think,
which happens at some point, is that
people end up getting
so addicted in this
empty calories,
dopamine way
to how they're doing on
the finite games and
the scores, that they completely lose
their pursuit of
a more important infinite
goals.
And I think that's just, it's a problem that's avoidable.
It's a cultural thing.
And again, I could talk about how this informs some of the things we are doing at Shopify,
but I don't actually know how to get the most value
out of these ideas per se.
I just know that eventually we will figure out how to turn what I just said into the perfect fortune cookie.
And once it is compressed this way, in such a way that it losslessly uncompresses into the right set of ideas after it's communicated,
whoever figures that one out will do better than everyone else.
And then hopefully in the sort of
Darwinian process of ideas,
it'll be something that becomes better known
and better communicated.
Yeah.
It really is a tough set of problems
because it's tough on a bunch of different images.
Like one of them, for instance,
is in a complicated company, and I'm sure Shopify is at the point where it's tough on a bunch of different images. Like one of them, for instance, is in a complicated company,
and I'm sure Shopify is at the point where it's a complicated company.
You have people like you who probably have, like,
this very wide horizontal view of what's going on
that not many other people have.
And then you have people who have these, like, very narrow vertical views of some part of the company.
And both of those things are sort of necessary
and they both occupy a huge amount of space in your head.
And so it's just sort of hard,
like it would be impossible for you, for instance,
to like have the sum of all of those little detail detailed vertical bits of knowledge in your head at one time.
And it would probably be very hard for someone who's deep in the weeds of, hey, I've got to solve this particular problem in this backend code to get the latency down.
And there's some weird bug, whatever it might be, to have time to see the whole horizontal view.
And so part of the hell of setting up a company is how do you balance those two things out?
How do you free the people who need to go do this detailed stuff to have enough context
about what's going on so when they're making their decisions every day, they choose to spend their time on the
right things.
Totally.
I mean, this is the hardest challenge I've ever thought of, really.
It's the alignment challenge of companies.
We're hearing a lot about alignment challenges in AI, and I feel like we should solve the
people ones first.
I would love to have an RLHF for my HR, my company.
And you might one day.
Yeah, I might one day. So this is actually, look, your listeners are like, this is a lot of highly technical people.
A lot of them are in key roles in the businesses they're in.
I think this thing we talked about earlier, which is sort of academia sort of decided it's computer science and therefore it's going to STEM and
that's its swim lane.
We're still a little bit
like there's a hangover
from that idea, which
means that
I don't think the
technically minded people, especially the ones who make it
high up in an organization
structure, tend to be people who
can reason very
well across very complicated systems, because that's what we built. The architects and the
people who find the novel solutions, which mean that... There's a wonderful story, sorry for the aside, that I read. Man, let me go there. And if I don't get this right,
don't. This is a long time ago that I heard about this, where I think Charles Petzold from
Microsoft actually talked about it, who writes amazing books, shout out, which I read and now read to my children.
Anyway, he told a story.
There was an event of,
I think Bill Gates was introducing BASIC
and there was a programming contest,
like a Storm the Gates, I think it was called.
This is like weird memories coming back to me.
And you were supposed to like write code,
which was like quicker than Bill using BASIC,
presumably in Pascal Assembler or something like this.
And someone ended up winning by realizing that the spec was
draw a circle on the screen at different alternating
differences of circumference.
And realized you could do this with an uppercase and lowercase o.
So, which, of course,
somewhere in this story, again, is this incredible
pragmaticness of being able to spot
the Pareto principle. Here's how we can solve this issue without
having to do all the hard work.
We don't actually have to build an entire GUI stack. We can actually just solve the spec this way.
Anyway, sorry for the aside. The people who are high up in companies
are trained on systems thinking and don't know it, because this is what we do
in engineering. Engineering is the applied field of systems thinking, in the same way
how poker is the applied field of systems thinking in the same way how poker is the applied field of game theory.
And this actually took a while in my own journey after running a company which was getting increasingly big.
I tried very hard to check my biases of like, hey, engineering would solve this this way.
But of course, you are a professional in HR, therefore you understand how this really works.
And often this is true, but sometimes our industry has solved problems that are not
fathomable by people who are in other fields, in other disciplines. And so I really highly
encourage people to take more of an engineering, like a systems engineering, a
company engineering approach to their businesses. Fundamentally, everyone who works in a company
is an intelligent actor working in accordance with their incentive system.
A lot of this sort of entropy revision revision to the mean, that happens in companies.
People talk about it as politics.
People talk about it as bureaucracy.
People talk about it as process.
These are all proxy words for this sucks. A lot of this just happens because people want to improve the place.
They identify true problems,
but they don't have the ability to create processes or systems
or incentive systems that actually are effortless.
But computers are very good at it.
A lot of other problems arrive
if the people who can create the processes
are the actors in the systems
because the incentives are underlined there so one
you know at some point i realized shopper was getting really uh inefficient um in like all
these random ways like there's like i don't know on on 5 000 or 10 000 people of staff we had like
like 5 000 different titles partly because i realized at some point, my God, like this company's people systems
are basically like, I don't know,
like a Windows 95 computer
connected to the modern internet,
unpapped, giving everyone root access.
And like, if that's your situation,
then you probably are going to end up
with really random and hard to document
like incentive systems in the company
and you will never spot who is acting according to which.
And I think, you know, like, I don't know.
These days, all our people systems, titling,
comp frameworks, levels, disciplines,
and sub-disciplines, and all these kind of things
exist in a GitHub repository
that you have to formulate a pull request against
if you want to make a change.
And then there's going to be a discussion.
And unless this is committed, this is not happening.
And that's actually that crazy of a change,
although it's a little bit of a hard tool
to initially explain to the HR team.
But once you're there, everyone loves it. Because now, you know, that
something that was previously kind of crazy suddenly is totally, like, there's a shared
understanding of how the system evolves forward. Yeah, so I love that example. I think you and I
were chatting about that at some event a few months ago. And I was like, this is like really, really inventive and creative because part of the struggle that you deal with in these
complicated organizations where you've got a lot of different people with a lot of different
information is just sort of sharing context. Like, how did this decision get made? What is
the real problem that we're trying to solve? Like, what have we tried before that didn't work?
And like, what did we try before that did work?
And like, what can we all learn from these?
So like having a way to like codify these decisions,
like where you've got the whole pull request history.
And I mean, I think it's really smart.
And it's extremely powerful.
Like we've been doing like in VipMob this in a while and I actually write code on this repository
which is doing this kind of thing.
And they're using like tools which are, again,
made by engineers for engineering problems,
but actually generalized to people system cases
in ways that I think isn't clear to people.
So for instance, you'll like this because this is your thing. Probably the most sort of
politics-inducing process that I've ever encountered in my company is headcount allocation.
Because it's, you know, it's very many, like, many things are, like, a lot of things aren't zero-sum games, and people just pretend they are.
But some things are, you know, resources are finite and it's a rather rigorous process.
Headcount allocation is clearly one of those. So we know in the same GitHub repository, we have a full, like stated via DSL, the principles by which Shopify does headcount, the decisions that are high level on which group should be which size.
And then we run it through, I think it's called Z3.
It's a SAT solver.
It's an optimizer version of a SAT solver, which
comes out of Microsoft Research.
I read the entire doc
on it. It talks about every single
problem that you can imagine, except not
headcount allocation.
It's certainly an
off-label use.
It's magical.
It's a magical tool applied in this space.
And it solves an incredibly complex problem.
And suddenly people don't have to go fight.
People will make their cases on a principle level.
And then we make decisions which are committed.
And then on CI, the thing reruns and it generates data and a book.
And everyone can read how many people they get.
So it's really neat if you can get there.
I think, again, that's super smart.
This is one of the very interesting things I think about being in an organization and making decisions.
Like frequently, like all of this stuff that's sort of politics and emotion and whatnot goes away as soon as everybody understands what the rubric is for making the decision.
And they believe that it's fair that the decision maker or the decision making process, like in the case, this SAT solver that you're
using, like has seen all of the relevant data when it is producing the solution, the decision.
So I think it's clever. The one thing that I will add, though, to, I agree with you that that headcount allocation is mostly a zero-sum problem.
But there are ways to make it slightly non-zero
in that I find oftentimes people haven't really asked themselves
when they want another person on their team,
like, why do I want another person?
Have I exploited every other possible way to like
get the work done that i think this new person is necessary for and you know sometimes they're
like a bunch of shadow reasons for adding people it's like oh well it's a score that i'm keeping
you know on you know how influential i am as a manager or I need to collect these many people tokens
before I can advance to the next level.
And I'm not even making fun of it.
I'm sure I have done this myself in the past.
But oftentimes when people really look at what they need to do, there are other ways to accomplish the problem than adding another head.
And adding another head to a team, just bigger is always worse, honestly.
So you don't want to be big unless it's absolutely necessary.
Have you built the tools that you need to do to make yourself more efficient?
Have you tried to go in and clean up a bunch of friction that you have in the system,
for the love of God, don't add more people just to cover up for inefficiencies that you've
let creep into the system. It's also bad for the planet, right? If people do this, right? Because
every problem that can be solved by one person should be solved by one person,
because there's nothing more efficient.
I type at 120 words per minute. That's not even the speed of a modem from the 90s.
But our brain interconnects with some multi-terabyte of synaptic bandwidth. So if you encounter a problem that can be solved by a single person, the speed of communication internally to the brain, to having just one other person, is just like magnitudes different.
This is why you have ultra efficient people if people have a range to solve all aspects of the problem. Now, of course, sometimes it's getting rarer that that happens,
although hopefully it will stage a comeback. Now, if you add people just because, hey,
we need at least three people so that if anyone goes on vacation, then the problem could have
been solved by one person. Now there's two people who are there to slow down one person,
really, instead of being an individual doing something really remarkable with the best they
got. And no one benefits from this other than, I don't know, it looks good in a spreadsheet,
I guess. So I think those are real conversations. I cut my teeth. So after learning programming,
working at this apprenticeship,
one of the coolest things about growing up in Germany in the 90s was what was referred to as the demo scene,
which was really pre-internet.
It was super expensive to go on internet.
So we had mailboxes that we downloaded, BBSs.
But we would have a lot of these LAN parties where on a weekend, 1500 people would bring their computers.
And then it was almost a festival where code was celebrated, like the crafts. So there was
competitions you could enter at like four kilobytes, 64 kilobytes, and two megabytes,
and you just were making art, right? Like we're making something that was launched, shown and rated by everyone.
And this is where I learned to really program.
And, you know, we did all this in Assembler
and we were engaged in a four kilobyte category,
which is like the XC header,
the PE header is too large.
Like you're making com files and you're like, you're not important, like anything there.
So it was absolutely incredible, like just procedurally generating textures and landscapes
and so on, like programming for the art of it.
And so, you know, like, I mean, this is, we're recording this in 20, right at the end of 2022.
Very different world than it was 12 months ago.
I sort of talk about the 2021 energy as sort of a tail end of the boom times.
And now there's like a 2022 energy around us, which I think, whatever else it does, it really compels people to think more about
what to do with limited resources.
And actually, this is
so much better. It's not engineering
if you have infinite resources.
That is called daydreaming.
It doesn't
qualify as engineering if you think,
oh, we could refactor this to be so perfect
if you had unlimited time.
Yeah, that's hallucination. That's not actually engineering. Engineering is getting could refactor this to be so perfect if you had unlimited time and uh you know like yeah that
that's hallucination that's not uh that's not actually engineering engineering is getting
thing you want with what you got and i think that's actually a very good energy to seep into
our industry again because we lost this a little bit yeah i i could not agree with you more um
and i i wish we had more time we're. We're almost at the end. But maybe
very quickly, I could ask you, what outside, and so I know being CEO of one of the fastest growing,
most important e-commerce companies on the planet is a lot of work.
But what outside of work do you do for fun?
What's energizing you right now?
Right now, I'm playing Dwarf Fortress.
Nice.
I mean, I tinker a lot.
I have three kids.
I have three boys, 12, 10, and 8.
We own Rel it together and using Kahoot, no,
Kaboom, anyway, for making video games, which is really,
really fun.
And we fell in love with this open source fantasy console
called Tick 80, which is just basically a computer
like they were when I was a kid.
So
these are fun things. But I tinker a lot.
I love technology.
I'm as addicted,
although sometimes annoyed,
as everyone else to
hacker news as I ever have been.
I have a home lab
at home that
now has increasingly getting GPUs because I'm doing more machine learning.
It's all built on Nix because that seems interesting to learn.
And in fact, I learned from Nix how to build deterministic reproducible environments and the value of them.
And that actually influenced the HR system we built,
which is like, think about that for a moment.
I think there's a school of thought
about what creativity is,
which says that creativity is predominantly
the extraction of incredibly insightful ideas
out of obscure fields and moving them into others where they're of just as much value once contextualized.
And I believe that.
I really think that I find tons and tons of inspirations in this tinkering.
I'm doing the advent of code right now.
I'm trying to do it in a different programming language every day this year.
What's your favorite programming language right now?
I mean, Ruby fits
into my brain better than anything else.
And I just love...
Again, man,
I could spend an hour talking about this, but
I wish people would give
Ruby more of a chance because there is
ideas in code in it which are
necessary in the rest of the
programming world. Making a programming language optimized for programmer happiness is just like important.
Like we are not machines, we're humans and we love aesthetics and these kind of things,
even though it just seems inefficient sometimes to the sort of more shape rotator types.
I think that, but I really enjoy Zig right now.
It just also seems like, like, I love everything
that is a clear novel take on problems
that I recognize to be worth solving, right?
Like I, doing this comp time thing is brilliant.
Struggling a little bit with Rust.
It's like the learning curve is hard.
I know I'm going to love it once I clear the borrow checker hurdle,
but I keep running my head into it.
Actually, TypeScript is very, very good.
TypeScript I like, too.
Awesome.
What about you?
What's your favorite program?
Can I ask this? This is politically charged for you. No, no, no. TypeScript I like too. Awesome. What about you? What's your favorite programming language?
Can I ask this?
This is politically charged for you.
No, no, no.
It's not politically charged at all.
I love all of my children.
Yeah.
My default programming language for just a really long time now,
since I was an engineer at Google, has been Python.
Yeah, it's very comfortable. Like my, like the way that I
think is harmonized with the, with the language and I'm sure, you know, sort of influence in both
directions. But yeah, and I'm intrigued by Rust.'ve been doing a bunch of like weird machining stuff, like which we've
talked about before. And so like, there's a bunch of procedural stuff that I'm doing with,
with machining, where I'm sort of taking a tool where you are graphically laying in a bunch of tool
paths for a thing that you're trying to make. And then I will export the code from that,
which is usually G code or there's this programming language called simple for the
Datron CNC machine that I have. And then I'm writing a bunch of code to transform that in
a bunch of weird ways to
get the machining effects that I want. And what I really want is to be able to have a coding
assistant, like an AI assistant, help me with all of this stuff. Because I think there's no reason
to think that you can't, in natural language, describe most of what it is I'm doing and have an assistant help you out with it.
Yeah.
I mean, I am so ready.
Like, I started doing a lot more programming again,
like, two, three years ago,
because I was really missing it.
And luckily, friends at GitHub hooked me up
with early access to GitHub Copilot.
And I am just like, I mean, I used to do all of Shopify's programming, doing pair programming with one of my co-founders.
And we would play like a test-driven development.
And we would basically do this bug ping pong kind of thing.
We were trying to be as lazy as possible to solve the unit tests that the other person wrote and go back and forth and then like i but
this is really fun for me this kind of thing that's hard to reproduce for like everyone's
scared of me like no it's like it's just i can't just go pair with like yeah someone random um and
uh so so honestly just like like working with copilot is actually very close to this.
It really reminds me of peer programming with someone who's always available.
Again, it's such a cool time to be in this space and be able to get to solve problems and tinker with technology.
It'll be seen as the golden age forever, basically, from this point forward.
That I very much agree with you on.
And so on that note, thank you so much for being on the podcast today.
And I could easily spend another couple hours chatting with you.
So hopefully we'll get a chance to chat again.
Awesome. Yeah, really enjoyed this too.
Thanks so much for having me, Kevin. Cool.
What a great conversation with Toby Lutka. You know, as you mentioned, kind of at the top,
he is such a pure engineer through and through. And that was actually something that kind of
struck me as the two of you were talking is he is obviously very entrepreneurial minded and is a very good
leader and thinks very thoughtfully about business. But he also approaches the way that
he runs his business as an engineer in every aspect of everything that he does. It's like
he can't turn it off. I love it. Yeah. And you can sort of see it.
I mean, he and I, even before this interview, had talked about him applying some of these computer science and programming techniques to unusual places in the company, like how you do some HR things, like allocating headcount to teams and, you know, like how you document how you're making
the important decisions that you make in the company. And so, like, I just love that mindset
in general. And at the core, I think he talked about it a couple of different ways. Like,
he really thinks of himself more as a craftsperson than like a scientist or even like a business executive, I would imagine, where,
you know, he's always thinking about, like, what can I make from what I have?
And what he has is an important problem and a really amazing team.
And he's just constantly trying to think about, like, what tools can I use to mold the material of this company,
this organization, this ecosystem into something that is not just satisfying the needs of the
customer, but is well built? Yes, no, I completely agree. And especially in an area that it needs to
be well built, especially for what Shopify does. What kind of struck me as you
were even saying that is that, you know, you're right, he takes this craftsmanship approach. And
I think he, you know, sees himself that way. But it also kind of comes through with the product
itself, right? You talk about how they're building this platform. But fundamentally, Shopify is a
platform for people to be able to build their own businesses and build their own things and sell things they've maybe crafted themselves if that's what they're doing.
So it's kind of, you know, serendipitous and almost comes full circle in that regard.
Yeah, for sure.
And again, like we could have spent several more hours talking about things because I think Toby is truly a systems thinker and like thinks about
things from first principles and like not in that sort of superficial way. Like I think it's
become a little bit trendy the past year to say, oh, I'm a first principles thinker.
But like this is just deeply wired into the way that Toby thinks about the world, and it results in him just getting to really impressive outcomes, like non-obvious things, just because he's willing to think about things differently.
And I love that.
No, I love that too. I've had a number of friends over the years who work at Shopify or some who have worked at Shopify. And to a person, they've all really, really had great things to say about him. And I think that comes through because, you know, especially you can see it in the product and the employees definitely see it. And I think you're right. I think it comes from taking that first principles approach and really thinking thoughtfully about the things that he's doing.
Yeah, and like maybe my selfishly my favorite part of the conversation was right there at the end where like we're sort of, you know, trading, trading like what's our favorite technical thing right now?
Like, I always feel like I learned something talking with Toby.
No, honestly, I said this to you off mic,
but I'll say it on the pod as well.
I could listen to an entire hour of just that.
And so, Toby, if you ever want to do a behind-the-tech,
behind-the-scenes episode, bonus episode,
there's maybe a Patreon out there for you guys.
That's all I'm saying.
I would definitely listen to that. I'm just saying, I would subscribe. All right. That is all the time that we have for
this episode. A huge thank you to Toby Lutka for joining us. And if you have anything that you'd
like to share with us, like what is your favorite programming language right now, please email us
anytime at behindthetech at microsoft.com.
And you can follow Behind the Tech
on your favorite podcast platform,
or you can check out our full video episodes on YouTube.
Thanks for tuning in.
And next month, we'll be talking with entrepreneur
and AI thought leader, Rana El-Khouloubi.
See you next time.