TOBI LÜTKE: I operate under the fundamental assumption that all companies are terrible, that – all of the ones ever created, which you know, like, 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 innovation around us is like – it comes from companies. It comes from journeys, it comes from – like entrepreneurships and builders getting together.
KEVIN SCOTT: 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.
CHRISTINA WARREN: Hello, welcome to Behind The Tech. I’m cohost Christina Warren, Senior Developer Advocate at GitHub.
KEVIN SCOTT: And I’m Kevin Scott.
CHRISTINA WARREN: And we are kicking off 2023 with an insightful conversation with Tobi Lütke, who is the CEO and founder of the Canadian e–commerce company, Shopify.
KEVIN SCOTT: Yeah, I’ve been really looking forward to this conversation. Tobi 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 Tobi is a really unique CEO. He is a programmer and computer scientist by training, and, like, 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.
CHRISTINA WARREN: I’m super, super excited. All right, let’s dive into your conversation with Tobi.
KEVIN SCOTT: Tobi Lütke is the CEO and Founder of Shopify, the Canadian multinational ecommerce platform that helps companies set up and run online stores. Growing up in Germany, he spent his time as a teacher, tinkering with computers and writing code. Tobi began his career as an entrepreneur when he and a friend decided to design an ecommerce platform to sell snowboards which eventually evolved into the concept that built Shopify.
As a programmer, Tobi has served on the core team of the Ruby on Rails framework and has created many popular opensource libraries. I’ve been looking forward to this conversation for a really long while. Thank you for joining us, Tobi, and apologies in advance – we’re doing this from my lab which can sometimes get a little bit noisy.
TOBI LÜTKE: Thanks for having me.
KEVIN SCOTT: So we always start these conversations by going all the way back to what inspired you or how you go the spark to, you know, get interested in science and technology. So tell us a little bit about that.
TOBI LÜTKE: Yeah, I had – you’d have to go all the way back. I got really lucky. So my dad is a doctor and he had - and this is in Germany - we had Macintosh in the house. These were sort of LC1 variety, you know, (inaudible) in the – growing up in the ‘80s, and I just like – I mean, there was no other magical object that existed on planet Earth that had nearly – this draw on me, right? It’s like it just was – it was an interesting experience, going into the ‘80s and ‘90s.
KEVIN SCOTT: Yeah, and so what – and so you were – you started out with Macintosh programming, so what was it, MPW Pascal, was it HyperCard, what was your –
TOBI LÜTKE: Exactly, it’s – the usual suspects, but HyperCard was – like, you know, the whole concept of. I mean, I made HyperCard index cards for learning my Latin vocab – conjugations, and you know, shared them with the other kids that had a monitor, and a – but like, pretty quickly I found, like BASIC and Pascal, like eventually. I don’t think I was any good at it, and like I was pretty young during those days.
But you know, just like the – the spark really happened then. You know, 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, you know, just – often, like a little videogame 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 kind of a European thing.
And you know, just like I very naturally started like – you know, to 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. And you ran out of things to do pretty quickly, so this is what I gravitated to.
KEVIN SCOTT: Yeah, and 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 – well, none of us certainly realized that what we were doing then we’re going to inform, like all of the crazy stuff that we do now, right?
TOBI LÜTKE: Definitely not, but like it did feel, especially going from the ‘90s, a little bit – which probably looked very different. Again, I’m from a small town, and – and really didn’t know anyone who was into computers in a similar way I was. And we were connected through, you know, dialup modems, BBSs and so on, very quick download messages and it – sort of there was a bridge to Usenet.
So you were this outside observer to – you know more was going on, but you know, you were stepped out – like away from my bedroom, and the world wasn’t changing. And – and people were – I remember very early in my teenage years that I had this realization where, you know what? The adults are – they do not understand what’s coming. Because just it was just so obvious that everything would change, given this thing which was just simply not possible before.
And you know, you could play the party tricks, where – especially with things like HyperCard, where, you know, some data entry job, you just made it like basically go away, and – but it was clear that there was more value there, and that this would have a much, much bigger impact in – like in the future.
KEVIN SCOTT: And 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, like how much of a choice the student has, versus how much the system is sort of deciding for you, whether you’re going to go do Fachhochschule, 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 was, you know, helps you learn programing, or you know, get you interested in computer science?
TOBI LÜTKE: Yeah, not – not in my experience. I mean, I’m sure obviously, it’s changed now, but like I was initially eventually – 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 craft is very different, and it’s, North America does not understand it well.
I know this for a fact because I have to constantly re-explain this because I, inside of Shopify, it’s – it’s well established that you have to kind of understand what vocation is and what craft is, in the European sense, to really understand the way the company thinks about itself.
So but anyway, I went into this more academic Gymnasium track initially, but I’m just sort of hands-on. I would tinker. I’m not, I don’t – it’s, academia for academia’s sake is not for me, and – so I wanted to go, like more into the practical side. I found out that if you switch, I think after like ninth grade or eighth grade, I switched into the more vocational track of school, and then we did practicals and then – like I actually worked at a Siemens subsidiary for like a couple of – 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 the 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 tenth grade and start as an apprentice.
And so that’s what I did. I was actually – most, like the first year where computer programming was taught as a craft, in the vocation system, and I’m so glad that I hit that particular timing window because things would have gone very different otherwise.
KEVIN SCOTT: This whole idea of computer science and programming is just a huge category, and I’ve always wondered for – for myself, like I’m also practically inclined.
Like I like to write code. You know, it’s why I studied compilers versus theoretical computer science. It was like this perfect mix of you’ve 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 and optimization pass, or like something, 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 it is art, and I do think some of it is like legitimately science, and there’s like this blurry boundary between all of them, but like treating it – treating it as if like all of it is this sort of wholly academic scientific thing, always. It just never appealed to me.
TOBI LÜTKE: Yeah, I think it’s a side effect of a way academia sorted itself, right? Like, it – they had to put it in some building when computation came around, not realizing that it probably ought to have had its own building because there’s a lot of different things that it needed, and I think the people that don’t doggedly, like associate themselves with like this – we’re a scientist, we do science-y things, but rather follow the value – you know, like treat all these different disciplines as like sources of inspiration and energy and value, and – and pull it from all of them, just to get the task done.
Those are hugely the vocational people, right? And I think this is something we – like I think we see this, you know, in a lot of places. I mean, take a very recent example. I feel like machine learning is currently being like recaptured by the tinkerers, and with much more of a vocational bent, because being able to do cool things with their own GPUs, rather than calling APIs, and you know, many of the greatest things will not be used like this, this way, because they’re just too big for machines, but just 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 obviously is the kind of created melting points for – where suddenly focus accelerates.
KEVIN SCOTT: 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 and machine learning right now is, if we can’t make what we’re doing into an accessible platform for people to do this tinkering – you know, whether it’s – you know, you’re downloading a copy of Stable Diffusion, and you know, 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.
Like the API calls have to be unrestricted enough and cheap enough where you can just tinker. You know, 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 imaginations that they don’t even know is there.
TOBI LÜTKE: Absolutely. The core of a craft is like converting something into something, right? Like, like any craft that exists is sort of a – that particular process is like people who convert wood into furniture are carpenters.
One thing which is really inspired about these things is that they really – it’s the identity of a carpenter, that they are a carpenter. Their identity is actually that they’re a craftsperson, and that the particular craft that they are – that they’ve pursued, and that they’ve done their – they become a master in, it’s usually just their aptitude, and it’s a very common type of person, which is also really useful, because therefore some crafts exist for a moment, and then they don’t exist anymore, they’re no longer needed.
Like the blacksmith has finally figured out what to do next. And so I think that’s – like all of this is actually really worth sort of understanding, and because – you know, like I sometimes talk to, you know, junior engineers who describe themselves as, “I’m a React front-end developer,” and like, “Wow, you just put two little bits into your identity, but you really don’t need to, because – like I think you’re actually much more than that because you can solve problems extremely well.”
The rallying cry is like, people who were able to make the things that they really want with what they’ve got, like that’s sort of at the core of it, and I love that.
KEVIN SCOTT: I think that’s a beautiful definition, and more to your point, like I think some craftspeople 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.
TOBI LÜTKE: Does it?
KEVIN SCOTT: 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,” and you know, there are some woodworkers who are like, “Oh, 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, like you’re just wielding your tools in different ways and the tools evolve, and so it’s very interesting, that mindset, I think.
TOBI LÜTKE: It’s funny because – I mean, there’s – there’s clearly some common ground somewhere, but no one ought to be a hammer carpenter, like that’s too fine grained, so everyone agrees, but you shouldn’t narrow the focus too much, but like the degree by which people agree is something to be debated.
KEVIN SCOTT: 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.”
TOBI LÜTKE: Yeah, I think this one skill, like how quickly you can get value out of new tools and how quickly do you spot better and better tools would make a substantial improvement to things that you that are worth improving on. It’s like the unacknowledged meta skill of all the most successful people on planet Earth. And I think it’s – it’s really that. Like it’s so – it, it just – once you look for it, it’s really stunning. Like it’s – it’s, you really do not hear stories of extremely successful people who are absolutely set in their ways, and it’s – it’s, it’s – it’s a fascinating – At least, okay, you can probably find some people in some areas, but like, very unlikely to find this in – in anywhere close to where you make things.
KEVIN SCOTT: 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, you know, 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 I, 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, 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 someone with programmer mindset, which I find very fascinating.
TOBI LÜTKE: Yeah, I mean, the concept of – I have 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’ve found. We had limited success with this, but we did have some, but it – there is a bit of a cultural norm.
I mean, the first thing about – vocational system in Germany, that’s really hard to replace. It’s just that it’s extremely parent compatible, right? Like parents are like, you know, “Godspeed. Go, go, go into the crafts, make – do your honest work,” and after apprenticeship also, you can go back to university afterwards. Like it’s optional which track you take. You can do academic – next couple of years, or you do a vocational one.
KEVIN SCOTT: Yeah, so – so it’s – it’s respected.
TOBI LÜTKE: It’s respected, and that’s a really, really important thing because I – I’m – it’s, it was obviously easier to convince, you know, students to say, “Hey, you should actually go full-time,” just like you did with Google, because you kind of like – like this is your – 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. But the other thing is also the mindset of the – of the apprentice. Like you are – like they don’t even call you an apprentice, at least at my place. They didn’t call you apprentice. For first year, you were – they called pen’ – like Stift, which is just short for pencil.
And like basically you were, utility, to be, like utilized for certain tasks, and like I cooked – made coffee for everyone. I did the photocopying. I helped out in accounting. I actually did inventory sorting –
KEVIN SCOTT: That’s so important.
TOBI LÜTKE: And now, like – and now we are building warehouses, and I can draw on like weird lessons that I’ve had doing something which – some people describe as a hazing, but like it was actually – it was very good, it was – it was a perfect place to enter the workforce because you it just, I don’t even know what it does. Like humility in a way, but also just like perspective is fantastic.
KEVIN SCOTT: Well, I – look, I think, honestly, it’s a really good entrepreneurial lesson because when you – when you are undertaking a new endeavor, like all 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 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.”
TOBI LÜTKE: I couldn’t agree more. You, you really have to 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 a very important part of what entrepreneurs have to do in a business, and you judge your own work because you’re doing every job in the beginning, and then you use that skill to actually help other people like reach higher than they might have otherwise imagined they would.
So those principles are super valuable, and just there’s very enduring 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, I’m not sure if he would go all the way down to – in that particular society, with those things, and – but the virtues of these ideas are well known to us, and so – in Shopify, so you are right. I operate under the fundamental assumption that all companies are terrible, that – all of the ones ever created, which you know, like I – I, some people don’t love me saying this, but like I – I think, to me, this is actually inspiring because, boy, building companies is worth it.
Like, it’s like, I mean, all innovation around us is like – it comes from companies. It comes from journeys, it comes from – like entrepreneurships and builders getting together. You build this incredible legal structure which allows 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 a beautiful thing that we have something like this. And so we should be good at it.
KEVIN SCOTT: Yeah, and I tend to agree with you. All of what you just said is the inspiring bit, and like 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 there’s something else, but like, I think the only other thing might be like a national emergency, like 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, you know, too big for any one of them, individually, to accomplish. And like, that’s sort of a necessity, right, because companies are kind of miserable, right? It, 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, like make a company work well.
TOBI LÜTKE: Yeah, so I would be really sad if people tell – if someone would come to me in the future and say, “Hey, like the companies of today are the most efficient companies ever will exist, and there’s not much to be improved.” I would probably be uninterested in doing my job if that would be the case.
So again, if something is terrible, it’s very motivating to me because, like I draw motivation from dissatisfaction with the status quo, usually. That’s my sort of source of energy, and so if you would take any – I mean, the World Cup, the World Soccer Cup is going on right now, and you always see these like replays – like replays of the goals, and sometimes an analysis, and like it’s just like, every single player is just in the right spot, right?
Like it’s – this is like the top of the game, where it matters more – like people who have spent their entire lives, like training for this moment, but like there’s lots of mistakes. Like, it’s like if you actually get down to it, like individual muscles that were activated, you’re probably like talking about like 70% efficiency, or something like this. Like, we are getting close, like as close as we can.
But if you freeze-frame every frame, and analyze, like is everyone exactly where they should be or are there different opportunities they didn’t spot within the moment, you will find them. If you do that with a company, what’s the – if they, if a professional player gets to 70%, companies probably get to seven, right? Like there are so many memos that no one reads, so many meetings that should be an email, and so many projects that, you know, are like local maxima optimizations of something that no one would have to do, if everyone would just spend a moment figuring out what does a global company want from its mission, right?
Like, so I certainly have not cracked the code on how to solve these problems, but I mean, again, what’s motivating to me is like at the end of my career I want to have conversations with my contemporaries and say 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.
KEVIN SCOTT: 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 Frank Kaufmann, who – one of the exercises he does is – you know, to a group of leaders, he walks into 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 like that – that mentality, I think, in the best football teams is probably why they get to 70% efficiency.
It’s not just about being at peak performance for themselves, but like paying attention to, like everything else that’s happening on the field, with their opponents and their teammates 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, you know, probably quadratically, at least, and you know, 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 inbig companies.
TOBI LÜTKE: Absolutely. Yeah, I mean, with business is like, people have, like, a different incentive hierarchy than the team. And – and, you know, that’s a book, which made a really big impression on me. I read it, like, sort of, like, very early, and then recently, again, written by James Carse, which is it’s named Finite and Infinite Games. And it’s actually – it’s a pretty dense, philosophical book. But it feels extremely actionable, because it really explains how, you know, the – you know, some things are, I mean…
Like, the world is, like, completely controlled by finite games, partly because they have clear goals, and they are measurable, and they’re fun, and they’re 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, every person on planet Earth is, I think, I hope, engaged in an infinite game towards wisdom, towards, like, education. Like, these are unwinnable games. They have no goal orientation, and there’s no way to finish them, right? Like, those could go on forever. But we’ve structured the world in such a way that we encode these infinite pursuits underneath finite games, like school, like Grade 1, Grade 2. Like, you can win Grade 1 by qualifying for Grade 2, 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 sort of in this sort of empty calories, dopamine way to how they’re doing on the finite games and the scores, that they completely lose their pursuit of more important infinite goals. And I think that’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’re doing at Shopify, but, like, 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.
KEVIN SCOTT: Yeah, it really is a tough set of problems, because… and 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. I mean, like, it would be impossible for you, for instance, to, like, have the sum of all of those little detail vertical bits of knowledge in your head at one time. And it would probably be very hard for someone who’s, like, deep in the weeds of, you know, like, hey, I’ve got to solve this particular problem in this backend code to get the latency down. And there’s some weird bug, you know, whatever it might be, to have time to, like, see the whole horizontal view.
And so, like, you know, part of the hell of setting up a company is, like, how do you – you know, how do you balance those two things out? Like, how do you free the people who need to go do this detailed stuff to have enough context about what’s going on? And so, when they’re making their decisions every day, they choose to spend their time on the right things.
TOBI LÜTKE: Totally. I mean, this is the hardest challenge related to alignment. It’s the alignment challenge of companies.
KEVIN SCOTT: Right.
TOBI LÜTKE: We’re hearing a lot about alignment challenges in – in AI, and I feel, like, we should solve the people ones first. It’s – I would love to have an RLHF for my HR, my company.
KEVIN SCOTT: Yeah, and you might one day. (Laughter.)
TOBI LÜTKE: 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 are in.
I think, a 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 it’s sort of, like, that’s its swim lane. It’s – we’re still a little bit, like, there’s a hangover from that idea, which means that I don’t think the technical – the sort of 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, right? Like, you know, the architects and the people will find the novel solutions, which means that…
There’s a – there’s a wonderful story. I don’t know if it’s a true story. Sorry for the aside. That I read… Man, yeah, let me go back. And if I don’t get this, right, don’t – this was 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 retold the story. There was an event of where I think Bill Gates was introducing Basic, and there was a programming contest, like, Storm The Gates, I think was it 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 or Sembla or something like this.
And some – 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 – (laughter) – so, which, of course, like, somehow, somewhere in this story, again, is this incredible pragmatic-ness of, like, being able to spot, like, the sort of Pareto Principle. Here’s how we can solve this issue without having to do all the hard work. Like, 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. Like, 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 an applied field of systems thinking in the same way how poker is an applied field of game theory. And this actually took a while in my own journey after, you know, running a company which was getting increasingly big. I tried to, 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, you know, often this is true, but sometimes, like, 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 it is sort of entropy reversion to the mean that happens in companies. You know, 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, one set of systems that actually are effortless. But computers are very good at it. A lot of other problems arise if the people who can create the processes are the actors in the systems, because incentives aren’t aligned there.
So, one – you know, at some point, I realized Shopify was getting really inefficient in, like, all these random ways. Like, there’s like, I don’t know, 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, unpatched, giving everyone root access. And like, if that’s your situation, then you probably are going to end up with really random, 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, comm frameworks, levels, disciplines, and sub disciplines, and all these kinds 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 it is committed, this is not happening.
And that’s not 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.
KEVIN SCOTT: Yeah. I – 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 – it’s 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.
TOBI LÜTKE: And it’s extremely powerful. Like, we’ve been doing, like, I’ve been working on this one a while, and I actually, you know, write code along 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.
KEVIN SCOTT: Yeah. (Laughter.)
TOBI LÜTKE: Because it’s – you know, it’s very many – 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 – and it’s a rivalrous process, right? Like, and headcount allocation is clearly one of those.
So, we now 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, like, which groups should be which size. And then we run it through, I think it’s called Z3. It’s a SAT solver, like an optimized version of a SAT solver, which comes out of Microsoft Research.
And I read the entire doc on it. It talks about every single problem that you could imagine, except not headcount allocation. (Laughter.) So, it’s – certainly an off–label use, but, like, it’s magical. Like, it’s a magical tool applied in this space.
And it’s an incredibly complex problem, and it solves – like, suddenly, people don’t have to go fight. People just – I mean, people will make their cases on the principal level, and then we make decisions, which are committed. And then on CI, the thing reruns, and it generates data and a book. (Laughter.) And, like, everyone can read how many people they get. So, it’s really neat, if you can get there.
KEVIN SCOTT: Yeah, I – I think, again, that’s super smart. Like, 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 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, I agree with you that headcount allocation is mostly a zero sum problem. But there are ways to, like, 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, there’s, 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, like, I need to collect these many people tokens before I can advance to the next level. You know, and I’m – like, I’m not even making fun of it. Like, I’m sure I have done this myself in the past.
But oftentimes, when people really look at what they need to do, like, there’s other ways to accomplish the problem than adding another head. And, like, adding another head to a team, like, 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? Like, have you, like, tried to go in and clean up a bunch of friction that you have in the system? Like, for the love of God, don’t add more people just to cover up, you know, for inefficiencies that you’ve let creep into the system.
TOBI LÜTKE: It’s also bad for the planet, right? Like, if people do this, because, like, I mean, every problem that can be solved by one person should be solved by one person, because there’s nothing more efficient. Like, you know, I type 120 words per minute. That’s not even, like, the speed of a modem from the ‘90s. And – but our brain interconnects with, like, some multi–terabytes 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, like, having – to even 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 a problem. Now, of course, this is sort of… you know, sometimes it’s getting rarer, that that happens, although hopefully, we’ll stage a comeback.
Now if you add people just because, hey, we need at least three people so that, you know, if anyone goes on vacation kind of thing, then… and 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, like, being an individual doing something really remarkable, the best they’ve got, again. And it’s just kind of not – no one benefits from this other than, like, I don’t know, like, it looks good in a spreadsheet, I guess. So, I think those are real conversations.
I cut my teeth – like, so after – after learning programming, working at this apprenticeship, one of the coolest things about growing up in Germany and – and in the 90s was this – what was previously referred to as the demo scene, which is really the, this was really pre–Internet. It was super expensive to go on Internet, so we really – we had mailboxes that we downloaded, BBSs. So, but we would have a lot of these LAN parties where, like, on a weekend, 1,000, 500 people would bring their computers. And then it was almost a festival where code was celebrated like a craft.
So, there was competitions you could enter at, like, four kilobytes, 64 kilobyte 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 .exe header, the PE header is too large.
Like, you were making comm files. And you’re like, you’re are not importing 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, we’re recording this in 20… right at the end of 2022, very different world than it was 12 months ago. I sort of talked about the 2021 energy as sort of the 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, right?
And actually, this is so much better. Like, it’s not engineering, if you have infinite resources. That is called daydreaming. (Laughter.)
KEVIN SCOTT: Yes.
TOBI LÜTKE: It doesn’t qualify as engineering if you think, oh, we could refactor this to be so perfect, if you had unlimited time. And, you know, like, yeah, that – that’s hallucination. That’s not actually engineering. Engineering is getting the thing you want with what you’ve got. And I think that’s actually a very good energy to seep into our industry again, because we lost this a little bit.
KEVIN SCOTT: Yeah, I could not agree with you more, and I wish we had more time. We’re almost at the end. But, like, maybe very quickly, I could ask you… what outside – and so, I know, like, being CEO of, like, one of the fastest growing, most important e-commerce companies on the planet is a lot of work. But like, what outside of work do you do for fun? Like, what’s energizing you right now?
TOBI LÜTKE: Right now, I am playing Dwarf Fortress. (Laughter.)
KEVIN SCOTT: Nice.
TOBI LÜTKE: But like, I mean, I tinker a lot. I mean, I have three kids; I have three boys, 12, 10 and eight. I – we’ll be on Replit together and using Kahoot – no, Kaboom, anyway, like, for making video games, which is really, really fun. And we fell in love with this open source fantasy console called TIC–80, which is, like, basically a computer like they were when I was a kid.
And so, these are fun things, but I tinker a lot. I love technology. I am as addicted as – although sometimes annoyed as everyone else – to Hacker News as I ever have been. I have a home lab at home that’s now has increasingly getting GPUs, because I’m doing more machine learning. It’s – it’s all built on Nix, because that seemed 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 – like, 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 are of just as much value, once contextualized. And I believe that. I really think that I find tons and tons of inspirations in this – like, 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 of this year.
KEVIN SCOTT: What’s your favorite programming language right now?
TOBI LÜTKE: I mean, I – like, Ruby fits into my brain better than anything else. And I just love – man, I could spend an hour talking about this, but, like, I wish people would give Ruby more of a chance because there’s ideas encoded in it, which are necessary in the rest of the programming world.
Like, 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 kinds of things, even though it just seems inefficient sometimes to the sort of more shape rotator types.
I really enjoy Zig right now. It just also seems 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 just like, the learning curve, it’s hard. I know I’m going to love it once I clear the borrow checker hurdle, but, like, I keep running my head into it. And yeah, actually, TypeScript is very, very good. TypeScript, I like, too, so.
KEVIN SCOTT: Awesome. Well, I –
TOBI LÜTKE: What about you? What is – what’s your favorite programming language? Like, can I ask this?
KEVIN SCOTT: Yeah, yeah, yeah.
TOBI LÜTKE: This is probably politically charged for you. (Laughter.)
KEVIN SCOTT: No, no, no, it’s not politically charged at all. So, I – my default –
TOBI LÜTKE: I love all my children.
KEVIN SCOTT: Yeah. No, 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, the way that I think is harmonized with the with the language. And I’m sure, you know, sort of influenced in both directions. But yeah, and I’m intrigued by Rust. Like, it’s an interesting – interesting learning curve. I…
You know, I’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, like, 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, like, 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.
TOBI LÜTKE: Yeah, it’s – I mean, I am so ready – I started doing a lot more programming again, like, two, three years ago, because I just kind of – I was really missing it.
And luckily, friends at GitHub hooked me up with, like, 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 my – with one of my co–founders. And we would play, like, a test driven development. And we would – we would basically do this bug ping pong kind of thing, where we were trying to be lazy, as lazy as possible to solve for unit tests that the other person wrote, and go back and forth.
And like, but this is really fun for me, this kind of thing, but it’s hard to reproduce. Like, everyone’s scared of me now. Like, now, I can’t just go pair with someone random.
Honestly, working with Copilot is actually very close to this. Like, it really reminds me of, like, of pair programming with someone who’s always available. And it’s just like, 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’s – it’ll be seen as the golden age forever, basically, from this point forward.
KEVIN SCOTT: Yeah. That, I very much agree with you. 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.
TOBI LÜTKE: Awesome. Yeah, really enjoyed this, too. Thanks so much for having me, Kevin.
KEVIN SCOTT: Cool.
CHRISTINA WARREN: What a great conversation with Tobi Lütke. 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.
KEVIN SCOTT: 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 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.
CHRISTINA WARREN: Yes. No, I completely agree, and especially, it’s 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 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 kind of, you know, serendipitous and almost comes full circle in that regard.
KEVIN SCOTT: Yeah, for sure. And again, like, we could have spent several more hours talking about things, because I think Tobi 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, you know, become a little bit trendy in the past – past year to say, “oh, I’m a first principles thinker.”
CHRISTINA WARREN: Right.
KEVIN SCOTT: But this is just deeply wired into the way that Tobi thinks about the world, and it results in him just getting to, like, really impressive outcomes, like non–obvious things, just because he’s willing to think about things differently. And I love that.
CHRISTINA WARREN: No, I love that too. I’ve had a number of friends over the years who work at Shopify, or some of them who have worked at Shopify, and to a person, they’ve all 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.
KEVIN SCOTT: 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, like, what’s our favorite technical thing right now.
CHRISTINA WARREN: Yes.
KEVIN SCOTT: Like, I always feel like I learned something, talking with Tobi.
CHRISTINA WARREN: 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, Tobi, if you ever want to do, like, a Behind The Tech behind the scenes episode, like bonus episode, like there’s maybe a Patreon out there for you guys, is all I’m saying. (Laughter.) Like, 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 Tobi Lütke 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 e–mail us anytime at [email protected]. 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.
KEVIN SCOTT: And next month, we’ll be talking with entrepreneur and AI thought leader, Rana el Kaliouby. See you next time.