[00:00] (0.08s)
We've been using AI tools for a long
[00:01] (1.60s)
time in engineering. I believe we were
[00:03] (3.36s)
the first company outside of GitHub to
[00:05] (5.28s)
use GitHub Copilot. And the reason Yeah.
[00:07] (7.12s)
The reason I know that is because when
[00:08] (8.48s)
Thomas DMK became the CEO of GitHub, the
[00:10] (10.48s)
same day I emailed him saying I would
[00:11] (11.84s)
like GitHub Copilot. This is 2021, a
[00:13] (13.76s)
year before Chat GBT. He messaged me
[00:15] (15.44s)
back saying, "It's not available for
[00:16] (16.72s)
commercial use." And I said, "That's not
[00:17] (17.92s)
what I asked. I don't care what you have
[00:19] (19.60s)
for commercial use. I would like this
[00:21] (21.68s)
deployed for all Shopify engineers as
[00:23] (23.68s)
soon as humanly possible." I think it
[00:25] (25.12s)
took him about a month. And we were not
[00:26] (26.48s)
charged for 2 years because there was
[00:28] (28.08s)
not a skew to charge us. And we said in
[00:30] (30.08s)
exchange we'll give you lots and lots of
[00:31] (31.44s)
feedback. And so we were using copilot
[00:32] (32.80s)
for a long time and then we worked with
[00:35] (35.04s)
them as we started looking at their road
[00:36] (36.48s)
map. We then deployed cursor internally
[00:38] (38.24s)
as well. Actually we're very new to
[00:39] (39.60s)
cursor about a year into cursor. So we
[00:41] (41.52s)
kind of trying all these things and as
[00:43] (43.28s)
we try them we want to see what's
[00:44] (44.56s)
working not working and then we let more
[00:46] (46.08s)
engineers use it. The most interesting
[00:47] (47.44s)
thing about cursor is that the growth in
[00:49] (49.52s)
cursor at Shopify is happening a lot
[00:51] (51.52s)
outside of engineering and outside of
[00:53] (53.36s)
R&D finance sales support those are the
[00:57] (57.52s)
teams using cursor. What happens when a
[00:59] (59.36s)
company goes allin on AI? Shopify did
[01:02] (62.24s)
exactly this a few years ago and
[01:04] (64.00s)
Shopify's head of engineering, Farhan
[01:05] (65.68s)
Tavar, told me exactly how it's going so
[01:07] (67.84s)
far. In this episode, we discuss how
[01:10] (70.56s)
Shopify works closely with AI labs and
[01:12] (72.80s)
why Farhand paired for an hour with an
[01:14] (74.56s)
engineer at Antrophic working on the
[01:16] (76.00s)
cloud code team. Why Shopify is planning
[01:18] (78.08s)
to hire 10,000 interns in a year and how
[01:20] (80.16s)
they incorporated AI into their entry
[01:22] (82.16s)
process. why Shopify has no cost limit
[01:24] (84.32s)
on how much an engineer or team can
[01:25] (85.84s)
spend on AI tokens and many more. If
[01:28] (88.40s)
you're interested to know what an AI
[01:29] (89.76s)
first tech company operates, like this
[01:31] (91.92s)
episode is for you. This podcast was
[01:34] (94.00s)
recorded as a live podcast at LDX3 in
[01:36] (96.56s)
London. If you enjoy the podcast, please
[01:38] (98.40s)
do subscribe on your favorite podcast
[01:39] (99.92s)
player and on YouTube. So, welcome
[01:42] (102.48s)
everyone to this very special live
[01:44] (104.72s)
podcast with Farhan Tower and we're
[01:48] (108.08s)
going to talk about AI at Shopify. But
[01:50] (110.72s)
before we start about AI, I just wanted
[01:53] (113.12s)
to talk a little bit about you, Farhan.
[01:54] (114.80s)
So I did a little bit of research. I
[01:56] (116.64s)
talked with a couple of engineers at at
[01:58] (118.32s)
at Shopify and they told me, you know,
[02:00] (120.96s)
your role is the head of engineering and
[02:03] (123.20s)
engineers told me that they see you in
[02:06] (126.16s)
everything. You have reworked Shopify's
[02:08] (128.24s)
intern hiring program. You've defined
[02:09] (129.92s)
what Shopify does. In fact, you even
[02:12] (132.56s)
were in the weeds to deploying an
[02:15] (135.20s)
internal hackfest to more than to
[02:18] (138.16s)
getting the Wi-Fi right for a hackfest.
[02:20] (140.00s)
So I'd like to know what does a head of
[02:21] (141.68s)
engineering do at Shopify and
[02:23] (143.36s)
specifically what do you do or maybe
[02:24] (144.64s)
what do you not do? Yeah. So I think
[02:26] (146.80s)
what's interesting about Shopify is that
[02:28] (148.96s)
we use this line. We're not a swim lane
[02:30] (150.72s)
company which means that we don't try to
[02:32] (152.88s)
put people into these roles where you
[02:35] (155.12s)
are like you're in product so only think
[02:36] (156.72s)
about product or you're in engineering
[02:38] (158.40s)
only think about like how the code is
[02:39] (159.76s)
written or architecture. We're very much
[02:42] (162.08s)
just curious problem solvers and so
[02:44] (164.24s)
something's broken we expect uh curious
[02:47] (167.12s)
people to go and look at the problem
[02:48] (168.64s)
even doesn't matter what their role is
[02:49] (169.84s)
and try to solve it and so last year at
[02:52] (172.00s)
our uh Shopify summit which is our
[02:53] (173.60s)
employee event where you know 7,000
[02:55] (175.60s)
people come to one space the Wi-Fi did
[02:57] (177.92s)
not work super well and so I spent all
[03:00] (180.64s)
my time in that summit for three days
[03:02] (182.40s)
trying to fix the Wi-Fi I became known
[03:04] (184.24s)
as the chief Wi-Fi officer and so this
[03:06] (186.48s)
year which was it was two weeks ago um I
[03:08] (188.80s)
deployed uh 300 00 ubiquity uh APS, 800
[03:13] (193.60s)
switches in order to have access points.
[03:16] (196.08s)
Yeah. To have a much much smoother Wi-Fi
[03:17] (197.76s)
experience, which is how uh that all got
[03:19] (199.84s)
started in terms of and they the team
[03:21] (201.60s)
built lots and lots of memes because
[03:23] (203.44s)
they thought the Wi-Fi was not going to
[03:24] (204.56s)
work, but it did work. And so I did
[03:26] (206.16s)
publish all those memes. Uh I I I need
[03:28] (208.48s)
to ask you because a lot of leaders
[03:30] (210.96s)
would say, look, like you know, your
[03:32] (212.72s)
time is super valuable. You're kind of
[03:34] (214.16s)
ahead of an organization. How many
[03:35] (215.52s)
people are 3,000? 3,000 people. you're
[03:37] (217.68s)
kind of up there and your time is now,
[03:39] (219.28s)
you know, if you measure it in dollars,
[03:40] (220.40s)
it'll be expensive, right? It's a lot
[03:42] (222.16s)
better to just get a specialist to do
[03:44] (224.16s)
these things. Why do you still do these
[03:46] (226.40s)
things? And do you disagree with with
[03:48] (228.24s)
that advice of like focus on on the high
[03:50] (230.48s)
leverage? Yeah. So, we don't love the
[03:53] (233.60s)
there's that notion of like hire smart
[03:55] (235.20s)
people and get out of their way.
[03:56] (236.56s)
Instead, what we say is like hire smart
[03:58] (238.16s)
people and pair with them on problems. M
[04:00] (240.48s)
so the difference for us is we really
[04:01] (241.84s)
like to bring in obviously lots of smart
[04:03] (243.28s)
people hands-on people and instead of
[04:05] (245.28s)
just saying hey you take this area and
[04:06] (246.72s)
then go away and just solve it for me
[04:08] (248.24s)
and come back we like to pair with them
[04:10] (250.00s)
and say you're smart I'm smart can we
[04:11] (251.60s)
work on this problem together this
[04:13] (253.12s)
episode is brought to you by work OS if
[04:15] (255.44s)
you're building a SAS app at some point
[04:16] (256.96s)
your customers will start asking for
[04:18] (258.32s)
enterprise features like SL
[04:19] (259.60s)
authentication skim provisioning and
[04:21] (261.60s)
fine grain authorization that's where
[04:24] (264.00s)
work OS comes in making it fast and
[04:25] (265.92s)
painless to add enterprise features to
[04:27] (267.44s)
your app their APIs are easy to
[04:29] (269.60s)
understand and you can ship quickly and
[04:31] (271.28s)
get back to building other features.
[04:33] (273.68s)
Work OS also provides a free user
[04:35] (275.44s)
management solution called OKIT for up
[04:37] (277.20s)
to 1 million monthly active users. It's
[04:39] (279.52s)
a drop in replacement for Ozero and
[04:41] (281.36s)
comes standard with useful features like
[04:42] (282.88s)
domain verification, rolebased access
[04:45] (285.12s)
control, bot protection and MFA. It's
[04:47] (287.92s)
powered by Radics components which means
[04:49] (289.76s)
zero compromises in design. You get
[04:51] (291.60s)
limitless customizations as well as
[04:53] (293.12s)
modular templates designed for quick
[04:54] (294.80s)
integrations. Today, hundreds of fast
[04:57] (297.36s)
growing startups are powered by work OS,
[04:59] (299.36s)
including ones you probably know like
[05:00] (300.72s)
Cursor, Versel, and Perplexity. Check it
[05:03] (303.60s)
out at work.com to learn more. That is
[05:06] (306.48s)
works.com.
[05:08] (308.80s)
If you want to build a great product,
[05:10] (310.32s)
you have to ship quickly. But how do you
[05:12] (312.72s)
know what works? More importantly, how
[05:15] (315.28s)
do you avoid shipping things that don't
[05:17] (317.12s)
work? The answer, Statig. Static is a
[05:21] (321.28s)
unified platform for flags, analytics,
[05:23] (323.52s)
experiments, and more. combining five
[05:25] (325.68s)
plus products into a single platform
[05:27] (327.52s)
with a unified set of data. Here's how
[05:30] (330.08s)
it works. First, static helps you ship a
[05:32] (332.96s)
feature with a feature flag or config.
[05:35] (335.52s)
Then, it measures how it's working from
[05:37] (337.92s)
alerts and errors to replays of people
[05:40] (340.00s)
using that feature to measurement of
[05:41] (341.92s)
topline impact. Then, you get your
[05:44] (344.16s)
analytics, user account metrics, and
[05:46] (346.00s)
dashboards to track your progress over
[05:47] (347.60s)
time, all linked to the stuff you ship.
[05:50] (350.08s)
Even better, Static is incredibly
[05:51] (351.84s)
affordable with a super generous free
[05:53] (353.84s)
tier. a starter program with $50,000 of
[05:56] (356.32s)
free credits and custom plans to help
[05:58] (358.08s)
you consolidate your existing spend on
[05:59] (359.84s)
flags, analytics, or AB testing tools.
[06:02] (362.40s)
To get started, go to
[06:03] (363.84s)
statsick.com/pragmatic.
[06:06] (366.16s)
That is statsig.com/pragmatic.
[06:09] (369.84s)
Happy building. So this leads really
[06:12] (372.32s)
nice into the next thing I heard about
[06:14] (374.48s)
you which is at Shopify you are have
[06:17] (377.36s)
gone kind of AI first and we're going to
[06:18] (378.80s)
talk a little bit about that but one
[06:20] (380.16s)
thing that you do is you have access to
[06:23] (383.04s)
some of the top AI labs and what you
[06:25] (385.20s)
told me just before that you pair with
[06:27] (387.04s)
them. You just told me that the other
[06:28] (388.32s)
day you were pairing with anthropic
[06:30] (390.88s)
engineers. Can you tell me about this
[06:32] (392.16s)
whole pairing and how you work with
[06:33] (393.84s)
these AI labs? Yeah, because again we're
[06:35] (395.84s)
like super curious problem solvers and
[06:37] (397.68s)
so when there's something interesting
[06:39] (399.12s)
happening in the industry, we want to be
[06:40] (400.40s)
close to it. So obviously chatbt comes
[06:42] (402.56s)
out and then Anthropics builds their
[06:44] (404.16s)
model, Gemini has their model, Coher has
[06:46] (406.24s)
their model, we want to be as close to
[06:47] (407.84s)
the leading edge as possible and so we
[06:49] (409.28s)
try to be close to those people and what
[06:51] (411.12s)
they're working on. And one of the
[06:52] (412.48s)
things we do is when something comes
[06:54] (414.32s)
out, so this in this example it was
[06:55] (415.76s)
cloud code. We deployed inside of
[06:58] (418.08s)
Shopify. We saw people using this was in
[06:59] (419.76s)
May, right? Three or four weeks ago.
[07:00] (420.96s)
Exactly. Well, so cloud code came out
[07:02] (422.56s)
before that like let's say 6 months ago
[07:04] (424.88s)
and then we started spending time with
[07:06] (426.56s)
anthropic. I wanted to see how Anthropic
[07:08] (428.40s)
was using cloud code internally similar
[07:10] (430.64s)
to like OpenAI is now releasing codecs.
[07:12] (432.40s)
I want to figure out how they're using
[07:13] (433.92s)
it internally. And so what I did was I
[07:15] (435.60s)
reached out to Anthropic and said, "Hey,
[07:16] (436.72s)
I'd like to pair with one of your
[07:17] (437.76s)
applied AI engineers. We spent an hour
[07:19] (439.92s)
building a bunch of things and I learned
[07:22] (442.16s)
how he sees uh cloud code being used
[07:24] (444.96s)
internally at Enthropic." Then I can
[07:26] (446.56s)
take that back and say, "Well, here's
[07:27] (447.52s)
how we're using it at Shopify and we can
[07:29] (449.36s)
together figure out where we think this
[07:30] (450.80s)
thing can go." Is this just a matter of
[07:33] (453.20s)
like you just asked them? Yeah. I mean,
[07:35] (455.92s)
because we are Shopify, we're very
[07:37] (457.44s)
lucky. People want to see how we work.
[07:39] (459.36s)
We tend to work in an unorthodox way and
[07:42] (462.24s)
they also are interested in how we use
[07:43] (463.84s)
it, but they also use it. And so, it was
[07:45] (465.84s)
more of a me again, a pairing. It was a
[07:47] (467.36s)
true pairing. It wasn't like me as a
[07:49] (469.20s)
customer trying to push them and say, "I
[07:50] (470.80s)
really want." It was we have a shared
[07:52] (472.40s)
Slack channel. I peding them there
[07:53] (473.44s)
saying, "Hey, who'd want to pair with me
[07:54] (474.64s)
for an hour on something I'm building
[07:55] (475.76s)
inside Shopify?" Somebody put their hand
[07:57] (477.68s)
up, an applied AI engineer, and said,
[07:59] (479.36s)
"We'll show you how we work and we show
[08:00] (480.88s)
you how how we work and we can together
[08:03] (483.04s)
figure out um where we think this
[08:04] (484.64s)
product could go." So, I do that with a
[08:06] (486.32s)
lot of the providers. And as you're
[08:07] (487.68s)
pairing, is it just you pairing and then
[08:08] (488.96s)
you later tell people or like do you
[08:10] (490.64s)
Yeah, I might I might record the session
[08:12] (492.56s)
and then share it with the internally to
[08:14] (494.40s)
say, "Hey, I just did a pairing session
[08:15] (495.60s)
with Anthropic." They might use it for a
[08:17] (497.76s)
case study that they're building. But
[08:19] (499.36s)
the idea is again because I'm just
[08:20] (500.88s)
curious when somebody says something I'm
[08:22] (502.40s)
like, "Oh, how do you how does that
[08:23] (503.44s)
work? How does that uh how can we use
[08:25] (505.52s)
this?" And so I think it's a way for us
[08:27] (507.20s)
to just learn. And one one recent thing
[08:29] (509.20s)
that I I just wanted to to go into
[08:31] (511.68s)
before we get into some more of the AI
[08:33] (513.44s)
things. It's a really fun fact that most
[08:35] (515.12s)
people don't know. You just came out of
[08:36] (516.80s)
a code red for seven months. Uh I think
[08:39] (519.68s)
this is the the first time we're
[08:41] (521.20s)
building. What was this code red? Uh
[08:42] (522.88s)
what was about and and what did people
[08:44] (524.72s)
outside and inside of Shopify see of it?
[08:46] (526.80s)
Yeah. So we were uh internally seeing a
[08:49] (529.60s)
lot of things that weren't bubbling to
[08:50] (530.80s)
the surface, but that can actually
[08:52] (532.80s)
affect the operation of a system. So you
[08:54] (534.80s)
would typically call it tech debt, but
[08:56] (536.40s)
we had a lot of signals showing that the
[08:58] (538.24s)
tech debt was growing, not just the
[09:00] (540.00s)
general ones like uh taking longer to
[09:02] (542.48s)
update a piece of software or build a
[09:04] (544.88s)
version two of a product or people
[09:06] (546.96s)
having a hard time uh maintaining some
[09:09] (549.20s)
of the software stack. We saw things
[09:10] (550.80s)
even not externally but internally that
[09:12] (552.72s)
were shooting out signals lots of
[09:14] (554.32s)
exceptions uh growing even in some cases
[09:16] (556.96s)
because we build things at the very low
[09:18] (558.40s)
level of the stack. So for example we
[09:19] (559.76s)
patch we're core contributors to Ruby.
[09:21] (561.60s)
We patch my SQL I believe we have the
[09:23] (563.76s)
second largest MySQL fleet in the world
[09:25] (565.12s)
outside of meta. Um and we were seeing
[09:27] (567.28s)
things like seg faults and things like
[09:29] (569.12s)
that that I was like not willing to feel
[09:31] (571.04s)
like we should move on and just build
[09:32] (572.72s)
features as normal. And so we actually
[09:35] (575.04s)
got together spent uh we didn't think it
[09:37] (577.04s)
was going to be 7 months we thought it
[09:38] (578.16s)
was going to maybe be 3 months. And we
[09:40] (580.00s)
took uh something between like 30 to 50%
[09:42] (582.56s)
of engineering. We didn't have an actual
[09:44] (584.08s)
number. We just said these things have
[09:46] (586.24s)
to not grow anymore. Like exceptions,
[09:48] (588.48s)
unique exception counts have to shrink.
[09:50] (590.48s)
There should be zero seg faults. We
[09:52] (592.32s)
should understand everything that's
[09:53] (593.28s)
happening in the system. And so we spent
[09:54] (594.64s)
almost 7 months uh doing that over the
[09:56] (596.56s)
last uh you know from November till now.
[09:59] (599.04s)
How did you make sure that you fixed the
[10:00] (600.16s)
right thing? Did you like talk to the
[10:01] (601.36s)
seam saying hey bring up the things? And
[10:03] (603.44s)
and also how did you decide when you
[10:05] (605.12s)
will stop? Because like whenever I hear
[10:06] (606.64s)
these code reds, it's always, you know,
[10:08] (608.32s)
a lot of companies do code yellows, code
[10:09] (609.84s)
reds, but sometimes they can drag on
[10:11] (611.68s)
forever. Yeah. So we had m multiple
[10:13] (613.84s)
metrics that we used. One was literally
[10:16] (616.00s)
what I said, exception counts, unique
[10:17] (617.60s)
exception counts and seg faults, which
[10:19] (619.52s)
would literally would say like seg
[10:20] (620.64s)
faults are at zero now and exceptions
[10:22] (622.64s)
should be going down. But we also looked
[10:24] (624.48s)
at other metrics that we have uh like
[10:26] (626.24s)
you know we have four we want to have
[10:27] (627.60s)
four lines of reliability across our
[10:29] (629.52s)
different surfaces storefronts merchant
[10:31] (631.52s)
admin uh point of sale like we looked at
[10:33] (633.84s)
all these things and we also used the
[10:35] (635.36s)
28day rolling average of those things
[10:36] (636.96s)
and once those were all green and we saw
[10:39] (639.68s)
that uh again seg unique exception
[10:42] (642.80s)
stopped and was shrinking we then felt
[10:44] (644.48s)
like we're in a place where we can start
[10:45] (645.76s)
building features again and now going on
[10:48] (648.00s)
to to AI so you're a huge early adopter
[10:52] (652.16s)
of of AI coding tools tools. Can you
[10:53] (653.92s)
tell me on what tools you started to use
[10:56] (656.40s)
and what you're using right now and what
[10:58] (658.32s)
what what your what you're liking, what
[11:00] (660.40s)
engineers are are liking specifically
[11:02] (662.08s)
like so focus more on software engineer
[11:03] (663.44s)
but maybe even outside of a software.
[11:05] (665.20s)
Yeah. So we we've been using AI tools
[11:07] (667.28s)
for a long time in in engineering. So we
[11:08] (668.88s)
have we were the I believe we were the
[11:10] (670.72s)
first company outside of GitHub to use
[11:12] (672.48s)
GitHub copilot. And the reason yeah the
[11:14] (674.96s)
reason I know that is because when
[11:16] (676.16s)
Thomas DMK became the CEO of GitHub the
[11:18] (678.40s)
same day I emailed him saying I would
[11:19] (679.76s)
like GitHub copilot. This is 2021, a
[11:21] (681.76s)
year before Chat GBT. Um, he messaged me
[11:24] (684.32s)
back saying, "It's not available for
[11:25] (685.60s)
commercial use." And I said, "That's not
[11:27] (687.12s)
what I asked. I don't care what you have
[11:28] (688.80s)
for commercial use. I would like this
[11:30] (690.88s)
deployed for all Shopify engineers as
[11:32] (692.88s)
soon as uh humanly possible." I think it
[11:35] (695.04s)
took him about a month and we were not
[11:36] (696.56s)
charged, I think, for 2 years because
[11:38] (698.08s)
there was not a skew to charge us. And
[11:40] (700.64s)
we said, "In exchange, we'll give you
[11:41] (701.92s)
lots and lots of feedback." And so we
[11:43] (703.44s)
were using Copilot for a long time. And
[11:45] (705.44s)
then we worked with them as we started
[11:47] (707.52s)
looking at their road map. We then
[11:48] (708.64s)
deployed cursor internally as well.
[11:50] (710.16s)
Actually, we're very new to cursor about
[11:51] (711.60s)
a year. Really? Um, yeah, they were a
[11:53] (713.36s)
tiny startup back then. Yeah. So, yeah,
[11:55] (715.12s)
I I think that's super late. You're
[11:56] (716.96s)
saying it's super early. I feel like
[11:58] (718.24s)
it's very late to cursor. We knew about
[11:59] (719.52s)
cursor for a long time. We like to have
[12:01] (721.20s)
one tool at Shopify for the things that
[12:02] (722.80s)
we're doing. And so, we don't like to
[12:04] (724.64s)
have multiple tools. So, like we have
[12:06] (726.64s)
like Figma. We don't try to have lots of
[12:08] (728.80s)
other uh visualization tools. We have
[12:10] (730.64s)
MySQL. We don't have other databases.
[12:12] (732.40s)
So, we try to focus on one tool. And so,
[12:14] (734.24s)
our our bet was VS Code. But because of
[12:16] (736.40s)
AI's proliferation and we don't know
[12:18] (738.24s)
what's going to happen, we then started
[12:20] (740.08s)
making a change in our stance around
[12:22] (742.16s)
trying more tools than just one. Maybe
[12:24] (744.72s)
we consolidate, maybe we don't. But
[12:26] (746.32s)
right now we have cursor and VS code as
[12:29] (749.12s)
our two AI tools. And then cloud code
[12:31] (751.12s)
came as the agentic workflow and we
[12:33] (753.20s)
started using cloud code. We tried Devon
[12:34] (754.96s)
last year. So we kind of trying all
[12:36] (756.56s)
these things and as we try them we want
[12:38] (758.40s)
to see what's working, what's not
[12:39] (759.52s)
working and then we let more engineers
[12:40] (760.80s)
use it. The most interesting thing about
[12:42] (762.48s)
cursor is that the growth in cursor at
[12:45] (765.04s)
Shopify is happening a lot outside of
[12:47] (767.12s)
engineering and outside of R&D finance
[12:50] (770.96s)
sales support. Those are the teams using
[12:53] (773.84s)
cursor. What do they use it for? So
[12:56] (776.00s)
what's happening is they're because
[12:57] (777.20s)
cursor is actually so ubiquitous on uh
[12:59] (779.12s)
building things. They're using it to
[13:00] (780.64s)
build MCP servers outside of regular uh
[13:04] (784.72s)
engineering domain. So for example,
[13:06] (786.40s)
Salesforce,
[13:08] (788.08s)
Google Calendar, Gmail, Slack, they're
[13:11] (791.60s)
using they're building MCP uh access MCP
[13:14] (794.72s)
servers to access those services and
[13:16] (796.00s)
then building like homepages for
[13:17] (797.20s)
themselves. Like you're a salesperson,
[13:18] (798.72s)
connect to Salesforce, connect to Google
[13:20] (800.96s)
Calendar, connect to my email, and tell
[13:22] (802.48s)
me what what opportunity I should be
[13:23] (803.84s)
working on. So with just going back with
[13:26] (806.40s)
with an MCP server, when you have a
[13:28] (808.00s)
service, you can put an MCP server and
[13:29] (809.60s)
then you can access it with for example
[13:31] (811.04s)
with cursor or with with an agent.
[13:33] (813.44s)
Exactly. Do engineers help build that
[13:35] (815.44s)
MCP server? Sometimes yes, but a lot of
[13:37] (817.44s)
times no. Now that these services are
[13:39] (819.12s)
coming out with their own MCP agent so
[13:40] (820.48s)
that you can literally just download
[13:41] (821.92s)
GitHub's MCP server, right? You don't
[13:43] (823.52s)
have to actually build it yourself. But
[13:44] (824.88s)
a lot of times they're actually just
[13:46] (826.08s)
building it themselves and they're
[13:47] (827.92s)
watching like videos and they're
[13:49] (829.76s)
actually just deploying it on their own
[13:50] (830.88s)
without any engineer intervention at
[13:52] (832.08s)
all. Now it's it's it's end of one,
[13:53] (833.44s)
right? They're building software for
[13:54] (834.48s)
each individual person, not like
[13:56] (836.00s)
infrastructure for all people. And does
[13:57] (837.92s)
this remind you of anything? You've been
[13:59] (839.52s)
around in the tech industry for a long
[14:00] (840.96s)
time, but the fact that you know the
[14:02] (842.40s)
non-technical people are now kind of
[14:04] (844.32s)
building that does does it do you see
[14:05] (845.84s)
any parallels from from the past of did
[14:07] (847.92s)
did this happen before or is this is
[14:09] (849.60s)
this new? this coding part is new
[14:11] (851.84s)
although if you remember like like
[14:12] (852.96s)
wissywig editors and like people
[14:15] (855.12s)
starting to like selfs serve I think it
[14:17] (857.52s)
it it reeks of that but they are I mean
[14:20] (860.32s)
they're not reading the code right
[14:21] (861.76s)
they're really much vibe coding and if
[14:23] (863.76s)
it doesn't work they just delete and
[14:25] (865.04s)
start over but even if you read
[14:26] (866.56s)
anthropics documentation on cloud code
[14:28] (868.32s)
like they say onethird of the time you
[14:30] (870.08s)
can kind of get something working with
[14:31] (871.20s)
one shot and so we're starting to see
[14:33] (873.04s)
that and people are getting used to the
[14:34] (874.72s)
fact that if it doesn't work they just
[14:35] (875.84s)
delete and start over and and try to get
[14:37] (877.20s)
it working I I find this really
[14:39] (879.36s)
interesting on on how this is happening.
[14:40] (880.96s)
Does is it change your dynamics with
[14:42] (882.56s)
engineering? Because one thing I noticed
[14:44] (884.08s)
when you know working at places like
[14:45] (885.52s)
Uber the everyone was a bit jealous of
[14:48] (888.00s)
engineering like they wanted engineering
[14:49] (889.28s)
resources. They couldn't get it. They
[14:51] (891.04s)
really want one of these things. Do you
[14:52] (892.40s)
see any of this change? I'm going to say
[14:54] (894.64s)
yes and no. So there's a weird thing
[14:56] (896.64s)
happening whereby so let's say you're a
[14:58] (898.08s)
PM. Unless you're a technical PM. You
[15:01] (901.04s)
now probably have enough knowledge to
[15:03] (903.60s)
vibe code some new feature you've been
[15:06] (906.16s)
waiting for engineering to build for you
[15:07] (907.60s)
yourself. The question is, can you
[15:10] (910.72s)
submit a PR and should the PR be
[15:13] (913.12s)
accepted by engineering?
[15:15] (915.28s)
I'm going to ask you first and then you
[15:16] (916.40s)
and I'll tell you what I think. Well, I
[15:18] (918.56s)
think you can always submit a PR and
[15:21] (921.36s)
engineering will tell you why it can
[15:24] (924.56s)
either be accepted with if if it's good
[15:26] (926.72s)
or what is missing. Uh may that be
[15:29] (929.28s)
conceptual, may it be coding standards
[15:31] (931.04s)
and all those things, but at least you
[15:33] (933.28s)
know they're they're they're and this
[15:34] (934.72s)
feedback for them. They're seeing what
[15:35] (935.84s)
this person wants to do. I think it
[15:37] (937.36s)
should be a great thing. Yes. I'll say
[15:39] (939.04s)
yes with one caveat. And the caveat is
[15:42] (942.16s)
the problem with vibe coding today is
[15:43] (943.92s)
you might generate 10,000 lines of code
[15:46] (946.48s)
for a very simple uh application feature
[15:50] (950.00s)
that now the burden on engineering to
[15:52] (952.32s)
read the 10,000 lines is there. Yeah. So
[15:55] (955.52s)
what we say is yes you can submit a PR
[15:58] (958.64s)
but you have to understand the code you
[16:01] (961.36s)
are writing yourself before exactly
[16:04] (964.00s)
before you submit it because I could do
[16:06] (966.08s)
the same thing and I can say hey I'm
[16:07] (967.68s)
going to write a blog post generate 20
[16:10] (970.40s)
pages and then send it to you and be
[16:11] (971.92s)
like hey edit this and post it on your
[16:13] (973.36s)
blog and now you have the burden of
[16:15] (975.28s)
having to now if I said I read it all
[16:16] (976.88s)
and it is my voice and I agree with it
[16:18] (978.64s)
then you might be more likely to read
[16:19] (979.92s)
it. The interesting thing that we're
[16:21] (981.44s)
probably going to see this problem with
[16:22] (982.40s)
open source projects because it's so
[16:23] (983.84s)
easy to to use AI tools and they're
[16:25] (985.60s)
going to get a lot of these things. So I
[16:26] (986.72s)
think policies like this are
[16:27] (987.92s)
interesting. Exactly. Now I wanted to
[16:29] (989.36s)
get your take on one thing which is
[16:30] (990.56s)
going around in and social media.
[16:32] (992.72s)
There's a lot of people predicting it's
[16:34] (994.40s)
the end of SAS because people can create
[16:36] (996.24s)
their own SAS. Now what you told me is
[16:38] (998.32s)
some of your non-technical people are
[16:40] (1000.40s)
creating like small solutions for
[16:42] (1002.24s)
themselves for themselves. How do you
[16:44] (1004.56s)
see this potentially changing uh SAS
[16:47] (1007.92s)
vendors or not? or are are you you know
[16:50] (1010.32s)
and and you're also someone who actually
[16:52] (1012.00s)
you know buys a lot of SAS vendors you
[16:53] (1013.84s)
understand them. Do you think this
[16:55] (1015.04s)
changes anything or not really? Is it
[16:56] (1016.48s)
just more personal software? Yeah, I'd
[16:58] (1018.16s)
like to think we buy less SAS than most
[16:59] (1019.84s)
companies only because we try to
[17:01] (1021.12s)
consolidate down. That being said, there
[17:03] (1023.36s)
is this notion we're in this middle zone
[17:04] (1024.96s)
right now. The middle zone is basically
[17:07] (1027.60s)
this idea that you can vibe code
[17:09] (1029.44s)
something maybe for yourself. Um it's
[17:11] (1031.92s)
unclear whether you can vibe code as a
[17:14] (1034.00s)
platform or vibe code something that
[17:15] (1035.76s)
gets into the infrastructure layer of
[17:17] (1037.28s)
what you're building because you do
[17:19] (1039.20s)
really have to understand again like you
[17:20] (1040.88s)
mentioned it earlier like you might be
[17:22] (1042.32s)
putting yourself in a very precarious
[17:23] (1043.68s)
situation. If you're building on top of
[17:24] (1044.88s)
something and building on top of
[17:25] (1045.68s)
something you don't understand what
[17:26] (1046.64s)
you're building right maybe it's a
[17:28] (1048.00s)
prototype that's fine or a proof of
[17:29] (1049.44s)
concept but if you're building
[17:30] (1050.56s)
infrastructure for the internet you
[17:32] (1052.32s)
likely want to understand how that's
[17:34] (1054.32s)
being built. So that is not we're not
[17:36] (1056.08s)
there yet. Is it coming? Yes, it's for
[17:38] (1058.08s)
sure coming where someone can vibe code
[17:39] (1059.60s)
something and the you know anthropic or
[17:41] (1061.84s)
open AI or Gemini or who know who cares
[17:44] (1064.24s)
who model build something that's
[17:46] (1066.32s)
actually architecturally elegant and the
[17:47] (1067.92s)
right architecture for what you need.
[17:49] (1069.28s)
That's we're not there today. So where
[17:51] (1071.12s)
we are is um this notion of still human
[17:54] (1074.08s)
in the loop and still like start over
[17:56] (1076.56s)
and like this is not what I meant and
[17:58] (1078.32s)
like prompt engineering English as the
[18:00] (1080.16s)
programming language. Um and so I do
[18:01] (1081.92s)
think you can get yourself uh very far
[18:04] (1084.08s)
but we're not I'm not worried yet about
[18:05] (1085.76s)
SAS. I think we I don't think we should
[18:07] (1087.60s)
be worried by the way because let's take
[18:09] (1089.44s)
another view. How much software do we
[18:11] (1091.28s)
think should h be should there be in the
[18:13] (1093.12s)
world? Probably 10,000 times as much as
[18:16] (1096.24s)
there is now 100,000 like there's a lot
[18:18] (1098.00s)
of software that should be in the world
[18:19] (1099.04s)
and we are we are satisfying 000 or 1%
[18:22] (1102.48s)
of the demand. So now that everybody can
[18:24] (1104.80s)
generate software um we should welcome
[18:27] (1107.52s)
them right into the software world. We
[18:29] (1109.60s)
believe everyone should be writing
[18:30] (1110.64s)
software just like my sales team is and
[18:32] (1112.72s)
everybody becomes more productive. I'm
[18:34] (1114.40s)
not yet worried about the software
[18:35] (1115.52s)
industry. I still believe this is
[18:36] (1116.72s)
Jevan's paradox. The more we get, the
[18:38] (1118.88s)
more we want. Yeah. A really good
[18:40] (1120.72s)
analogy that has stuck with me was Simon
[18:42] (1122.64s)
Willis was saying, "How has the filming
[18:45] (1125.68s)
industry changed with this? Everyone has
[18:48] (1128.72s)
this used to cost like5 or $10,000 a few
[18:51] (1131.36s)
years ago, the this camera, everyone has
[18:53] (1133.36s)
one in their pockets have." And you
[18:55] (1135.12s)
know, there's still a professional
[18:56] (1136.24s)
movies industry, but now there's a bunch
[18:57] (1137.76s)
of, you know, there's YouTube, there
[18:59] (1139.04s)
there's Tik Tok, there's all these
[19:00] (1140.24s)
things. So it it has become bigger but
[19:02] (1142.48s)
the barrier for the the pros has not
[19:04] (1144.72s)
really changed. You know Dune and some
[19:06] (1146.24s)
of these amazing movies are so hard to
[19:08] (1148.32s)
make. Right. Jevan's paradox. The more
[19:10] (1150.48s)
you have the more you want. We all want
[19:12] (1152.24s)
to be filmmakers now. We can be
[19:13] (1153.84s)
filmmakers and then there's still going
[19:14] (1154.96s)
to be people at the high end and the low
[19:16] (1156.08s)
end. The I would say the controversial
[19:19] (1159.04s)
maybe controversial spicy take is that
[19:22] (1162.80s)
these phones actually benefited the
[19:24] (1164.72s)
experts more meaning the camera like bas
[19:27] (1167.44s)
you know like the being able to pull out
[19:29] (1169.76s)
your iPhone and take a take a video
[19:32] (1172.08s)
actually benefited those who were really
[19:33] (1173.68s)
really good at it already and the same
[19:35] (1175.52s)
thing is maybe potentially true of vibe
[19:37] (1177.36s)
coding. It's like the AI agents are
[19:39] (1179.92s)
going to help the best engineers more
[19:42] (1182.72s)
than the mediocre engineer. Mhm. So
[19:44] (1184.80s)
there was a memo that went around in the
[19:46] (1186.40s)
media about a month ago. Toby sent uh a
[19:48] (1188.88s)
memo. It was meant for internal
[19:50] (1190.40s)
consumption. It was about reflexive AI
[19:52] (1192.56s)
usage and it got I guess it got leaked
[19:55] (1195.04s)
and then Toby posted the whole thing.
[19:56] (1196.64s)
And this is about saying that hey
[19:58] (1198.72s)
everyone is expected to use uh AI uh at
[20:01] (1201.44s)
at Shopify. Can you tell me what why
[20:03] (1203.60s)
that why you felt that memo was sent
[20:05] (1205.36s)
out? What was the response internally
[20:07] (1207.36s)
and has it changed anything or was it
[20:09] (1209.52s)
just kind of stating what what was there
[20:11] (1211.04s)
already? Yeah, it was a fundamental
[20:12] (1212.48s)
statement that this is something new and
[20:15] (1215.12s)
it was meant to get everyone to move
[20:17] (1217.44s)
from passive to active, right? So yes,
[20:20] (1220.16s)
there's AI in the world and chat GBT and
[20:22] (1222.00s)
all these things existed, but we started
[20:23] (1223.92s)
building infrastructure internally to
[20:25] (1225.28s)
make it easier to use and we ex we
[20:27] (1227.36s)
basically said the following. You don't
[20:28] (1228.96s)
have to use AI in your in your workflow,
[20:30] (1230.88s)
but we're going to expect that you have
[20:32] (1232.48s)
this plethora of tools available to you
[20:34] (1234.48s)
such that the expectation is you're
[20:36] (1236.16s)
going to be like your impact is going to
[20:37] (1237.52s)
be evaluated as if you had the tool. So
[20:39] (1239.60s)
for for example, you know, imagine not
[20:41] (1241.76s)
having like Excel or Google Sheets and
[20:43] (1243.84s)
you had to like, you know, like do a
[20:45] (1245.28s)
complicated analysis. You don't have to
[20:47] (1247.28s)
use those tools. You could use a pen and
[20:48] (1248.64s)
paper, but we're going to expect that
[20:49] (1249.92s)
you have these tools available and we
[20:51] (1251.36s)
expect the level of analysis to be
[20:53] (1253.04s)
treated as if you had these tools. And
[20:54] (1254.80s)
so by us doing it, what changed
[20:56] (1256.56s)
internally was actually probably more of
[20:58] (1258.88s)
a change outside of R&D. Like I
[21:00] (1260.32s)
mentioned, R&D was already leaning in.
[21:02] (1262.40s)
Now, of course, there were some folks
[21:03] (1263.60s)
who were waiting for I don't know. R&D
[21:05] (1265.60s)
is engineering. R&D is engineering,
[21:07] (1267.20s)
product, data, and uh design. They were
[21:09] (1269.52s)
more likely to use these tools because
[21:11] (1271.12s)
they tend to be more forward-looking and
[21:12] (1272.88s)
uh and uh wanting to use the latest and
[21:15] (1275.12s)
greatest. However, some people were
[21:16] (1276.56s)
waiting um that it changed their shape
[21:18] (1278.96s)
because we said, "Hey, look, we're going
[21:20] (1280.08s)
to expect that you use these." But
[21:21] (1281.52s)
outside of R&D, we saw it even more.
[21:23] (1283.28s)
Again, sales, finance, like customer
[21:25] (1285.28s)
success, help centers, like all those
[21:26] (1286.96s)
roles started using AI as well. And we
[21:29] (1289.12s)
again gave them the infrastructure to
[21:30] (1290.56s)
use that. So, we have like an LLM proxy.
[21:32] (1292.56s)
It has all of the uh APIs and all the
[21:34] (1294.88s)
models available. You don't have to be
[21:36] (1296.32s)
worried that your personal information
[21:38] (1298.00s)
is being leaked to a model. You can kind
[21:39] (1299.68s)
of use those tools. Let's talk about
[21:41] (1301.28s)
these things. Let's talk about the tools
[21:42] (1302.64s)
that you either created or adopted
[21:44] (1304.64s)
early. I I I heard can you talk a bit
[21:47] (1307.20s)
more about this LLM proxy and also I
[21:49] (1309.04s)
heard something about MCP. Yeah. So we
[21:51] (1311.44s)
are um when I talked to people so let me
[21:53] (1313.60s)
start with LLM proxy. The problem at the
[21:55] (1315.92s)
beginning was people would go to chat
[21:57] (1317.28s)
GBT or Gemini or claude and they would
[21:59] (1319.44s)
like you don't want to put customer data
[22:00] (1320.72s)
there. You want to put customer data
[22:01] (1321.68s)
there or even employee data. You want to
[22:03] (1323.12s)
use it to write your employee reviews.
[22:04] (1324.32s)
You don't want to put like, you know,
[22:05] (1325.60s)
Simon, you know, is is having problems
[22:07] (1327.28s)
with this and like put their first name
[22:08] (1328.32s)
and last name and here's a project they
[22:09] (1329.68s)
worked on and the code names leak. So,
[22:11] (1331.36s)
we wanted to quickly have an internal
[22:13] (1333.84s)
LLM proxy. Plus, we built on top of
[22:16] (1336.32s)
Libra chat, which is the open source uh
[22:19] (1339.12s)
native chat product and we're core
[22:20] (1340.88s)
contributors to that as well. And with
[22:22] (1342.32s)
the LLM proxy, you're sure to be using
[22:24] (1344.08s)
the enterprise APIs. We can check to see
[22:26] (1346.96s)
which we you get a token. You ask for a
[22:28] (1348.56s)
token. We can see which teams are using
[22:30] (1350.24s)
um how much uh like what what cost is
[22:32] (1352.32s)
being incurred by that team or by
[22:33] (1353.92s)
person. We have a leaderboard where we
[22:36] (1356.24s)
um actively celebrate the people who use
[22:38] (1358.08s)
the most tokens. Oh, really? Because
[22:39] (1359.76s)
Yeah. Because we want to make sure that
[22:41] (1361.36s)
they are if they're doing great work. Of
[22:42] (1362.72s)
course, if not if they script like
[22:44] (1364.32s)
that's not what I mean. I mean they're
[22:46] (1366.00s)
doing they're doing great work with AI.
[22:47] (1367.28s)
I want to see how did they spend $1,000
[22:49] (1369.60s)
a month in credits from buy a cursor.
[22:51] (1371.68s)
Maybe that's something they're building
[22:52] (1372.64s)
something great and they have an agent
[22:54] (1374.08s)
workforce underneath them. So we have we
[22:55] (1375.76s)
have this proxy and again it's used to
[22:57] (1377.28s)
build anything that you want to build
[22:58] (1378.40s)
and you can ask for a token and use it.
[23:00] (1380.40s)
And then we have uh we we very early on
[23:02] (1382.64s)
MCP. We're on the MCP steering
[23:04] (1384.64s)
committee. We are fans of MCPing all the
[23:07] (1387.60s)
things. And so when I talk to people
[23:09] (1389.04s)
about how to get access to um some piece
[23:11] (1391.28s)
of data inside the inside the company,
[23:13] (1393.68s)
we quickly will spin up an MCP uh
[23:15] (1395.84s)
endpoint for them so that they can just
[23:17] (1397.20s)
use it. So for example, our internal uh
[23:19] (1399.60s)
wiki is called the vault. It has
[23:21] (1401.68s)
information about all of our projects
[23:23] (1403.60s)
that are happening. It has information
[23:24] (1404.96s)
on every internal talk that has been
[23:27] (1407.44s)
done. It takes the transcripts of all
[23:28] (1408.64s)
those. So you can say something like
[23:30] (1410.00s)
when did the point of sale at Shopify
[23:32] (1412.24s)
launch and it'll come back and it'll say
[23:33] (1413.84s)
oh in 2013 2012 there was a hackathon
[23:36] (1416.80s)
where the point of sale was started and
[23:38] (1418.32s)
then in the based on wiki doc based on
[23:40] (1420.24s)
the wiki and then in the 2013 Q1 board
[23:42] (1422.48s)
letter it was mentioned and it would
[23:43] (1423.68s)
tell you all of the history of what
[23:45] (1425.04s)
happened in Shopify. And so we do that
[23:47] (1427.12s)
by just having all you do is put up an
[23:48] (1428.48s)
MCP and now the Libra chat has access.
[23:50] (1430.32s)
It's like an internal perplexity or
[23:51] (1431.76s)
something like that. Exactly. And so we
[23:53] (1433.12s)
basically any internal document uh is is
[23:56] (1436.08s)
crawled by this thing and now you can
[23:57] (1437.52s)
have access to it via MCP. And so any
[23:59] (1439.28s)
new system comes online, we put an MCP
[24:01] (1441.04s)
in front of it and you now and now
[24:02] (1442.16s)
everybody has access to it. This episode
[24:03] (1443.52s)
is brought to you by Sonar, the creators
[24:05] (1445.28s)
of Sonar Cube, the industry standard for
[24:07] (1447.60s)
integrated code quality and code
[24:09] (1449.12s)
security that is trusted by over 7
[24:11] (1451.20s)
million developers at 400,000
[24:12] (1452.96s)
organizations around the world. Human
[24:15] (1455.84s)
written or AI generated, Sonar Cube
[24:17] (1457.76s)
reviews all code and provides actionable
[24:19] (1459.84s)
code intelligence that developers can
[24:21] (1461.44s)
use to improve quality and security
[24:23] (1463.20s)
early in the development process.
[24:26] (1466.00s)
Sonar recently introduced Sonar Cube
[24:27] (1467.84s)
advanced security, enhancing Sonar's
[24:29] (1469.60s)
core security capabilities with software
[24:31] (1471.52s)
composition analysis and advanced static
[24:33] (1473.60s)
application security testing. With
[24:36] (1476.16s)
advanced security, development teams can
[24:37] (1477.92s)
identify vulnerabilities in thirdparty
[24:39] (1479.52s)
dependencies, ensure license compliance,
[24:41] (1481.52s)
and generate software bills of
[24:42] (1482.96s)
materials. It's no wonder that Sonar
[24:45] (1485.44s)
Cube has been rated the best static code
[24:46] (1486.96s)
analysis tool for 5 years running. So
[24:49] (1489.68s)
join millions of developers from
[24:51] (1491.04s)
organizations like Microsoft, Nvidia,
[24:53] (1493.04s)
Mercedes-Benz, Johnson and Johnson, and
[24:54] (1494.88s)
eBay and supercharge your developers to
[24:56] (1496.80s)
build better, faster with Sonar. Visit
[24:59] (1499.84s)
sonarsource.com/pragmatic
[25:01] (1501.84s)
security to learn more. And And how many
[25:04] (1504.40s)
MCP servers do you have? You have wait
[25:06] (1506.72s)
two dozen. Two dozen. Yeah. And they're
[25:09] (1509.20s)
growing quickly. They're growing because
[25:10] (1510.48s)
people are building a new thing again.
[25:11] (1511.68s)
There's one for Salesforce. There's
[25:13] (1513.04s)
one's for um you know, Figma, there's
[25:15] (1515.28s)
there's a there's an MCP in front of
[25:16] (1516.56s)
anything. But I tell anybody who's
[25:17] (1517.84s)
looking at building AI systems
[25:19] (1519.12s)
internally, the way to make this easy is
[25:21] (1521.68s)
start putting MCP in front of
[25:22] (1522.88s)
everything. And now your data is
[25:24] (1524.32s)
accessible. We have to use Libra chat.
[25:26] (1526.32s)
You might use something else. But you
[25:27] (1527.76s)
don't have to be even in cursor, right?
[25:29] (1529.04s)
You just use the chat interface. Yeah,
[25:30] (1530.64s)
you can do chat. You you you can do the
[25:32] (1532.48s)
the LMS. And I like how you spun up
[25:35] (1535.20s)
basically a platform to build the emp
[25:44] (1544.48s)
is it is some AI platform or or is just
[25:46] (1546.40s)
a platform team infra team just took it
[25:48] (1548.08s)
over. Yeah. Data platform. I don't know
[25:49] (1549.44s)
if I don't I'm trying to figure out
[25:50] (1550.72s)
because they're inside the data platform
[25:52] (1552.00s)
team. I don't know if they have a a name
[25:53] (1553.44s)
outside like I call them LLM proxy but
[25:55] (1555.44s)
and and what was this more like you or
[25:57] (1557.12s)
someone up said like hey we need to do
[25:58] (1558.48s)
this or or they just like hey this is a
[25:59] (1559.92s)
good idea. that's kind of bottom up or
[26:01] (1561.52s)
it was more top it was more top down
[26:03] (1563.04s)
because we felt like this was going to
[26:04] (1564.32s)
grow internally. We wanted to make sure
[26:06] (1566.00s)
that we could we didn't want people
[26:07] (1567.12s)
signing up for their own personal tokens
[26:09] (1569.60s)
and it's also a good way for us to see
[26:11] (1571.36s)
hey this team is growing is the usage
[26:13] (1573.36s)
growing what's happening there this
[26:14] (1574.80s)
person's uh usage is yeah because number
[26:16] (1576.80s)
one push back I get from from people or
[26:18] (1578.64s)
even engineering directors working at
[26:20] (1580.08s)
companies is the data security issue and
[26:22] (1582.64s)
obviously when you host it yourself it's
[26:24] (1584.48s)
it's good but then you need the
[26:25] (1585.52s)
infrastructure so it sounds like at what
[26:27] (1587.76s)
point did did you decide what was this
[26:29] (1589.36s)
month ago was this more than a year ago
[26:31] (1591.12s)
to like actually invest probably I mean
[26:33] (1593.20s)
I would say every week it's getting
[26:34] (1594.40s)
better right I would say I would say
[26:35] (1595.76s)
probably a year ago we started thinking
[26:37] (1597.20s)
about it this way. We had the LLM proxy
[26:38] (1598.80s)
when when chatbt came out we actively
[26:42] (1602.00s)
have a warning if you go to catchb says
[26:44] (1604.00s)
hey by the way like you can go to the
[26:45] (1605.84s)
internal version that was a long time
[26:47] (1607.68s)
for a long time yeah now you mentioned
[26:49] (1609.44s)
cost and I am hearing stories of CTO's
[26:53] (1613.44s)
engineering leaders saying okay we were
[26:55] (1615.60s)
paying for GitHub copilot I don't know
[26:57] (1617.12s)
it's $10 or $20 per month per engineer
[26:59] (1619.12s)
but we have all these seats or maybe we
[27:00] (1620.40s)
have for everyone and they're telling me
[27:02] (1622.16s)
cursor feels a bit too expensive cuz
[27:04] (1624.00s)
they're now assuring 30 or 35 and we're
[27:07] (1627.04s)
not going to go there and and in gerally
[27:08] (1628.80s)
uh there's a big push back on cost.
[27:10] (1630.48s)
People are saying look like AI should
[27:12] (1632.00s)
make engineers more productive, but it's
[27:13] (1633.36s)
now like it's kind of ridiculous to
[27:14] (1634.80s)
spend like $1,000 on an engineer. You
[27:17] (1637.44s)
think about cost differently. Tell me
[27:18] (1638.72s)
about it. Yeah, I did I did a tweettor
[27:20] (1640.40s)
storm on this because I think that
[27:21] (1641.68s)
people looking at it differently. So,
[27:24] (1644.48s)
think about it this way. If I could give
[27:26] (1646.32s)
you a tool that could make your
[27:28] (1648.40s)
engineering team more productive by even
[27:30] (1650.48s)
10%, would you pay for it? The answer is
[27:32] (1652.72s)
yes. Would you pay $1,000 a month for it
[27:34] (1654.80s)
is the question. And I my um hypothesis
[27:37] (1657.44s)
here is $1,000 a month is too cheap.
[27:39] (1659.76s)
Like it's too like if I can get 10
[27:41] (1661.68s)
percent more, it is way too cheap. Like
[27:43] (1663.52s)
it should be $5,000 a month. Like it's
[27:45] (1665.36s)
insane that people are looking at this
[27:46] (1666.72s)
like $100 a month, whatever. Now, I did
[27:48] (1668.96s)
meet somebody who said their engineers
[27:50] (1670.56s)
were spending $10,000 a month per
[27:52] (1672.24s)
engineer. And I said, I want to talk to
[27:53] (1673.76s)
them because I want to see either
[27:55] (1675.04s)
they're doing something very very smart
[27:56] (1676.16s)
or very very stupid, but I want to meet
[27:58] (1678.40s)
them. And so I literally said, please
[28:00] (1680.00s)
introduce me because I'm I'm I'm unclear
[28:01] (1681.84s)
how you can use that much. It's like
[28:02] (1682.96s)
either they've got fields of agents
[28:04] (1684.24s)
building amazing things or something is
[28:06] (1686.40s)
going very very wrong. But I would like
[28:08] (1688.08s)
to understand because there's something
[28:09] (1689.36s)
interesting happening and you should not
[28:11] (1691.92s)
be penny pinching on AI tools because
[28:14] (1694.56s)
actually the productivity gains are
[28:16] (1696.80s)
there. We don't know what they are
[28:18] (1698.24s)
because we actually don't know how to
[28:19] (1699.36s)
gauge developer productivity but it is
[28:22] (1702.08s)
it is it is clear that there's something
[28:24] (1704.16s)
happening there and you should be uh
[28:25] (1705.52s)
very open with your pocketbook there.
[28:27] (1707.12s)
And so again we celebrate those who
[28:28] (1708.96s)
spend more and of course we talked to
[28:30] (1710.16s)
them and what did they do? So they were
[28:31] (1711.68s)
getting the Do I understand that even
[28:33] (1713.36s)
though you cannot measure it right now
[28:34] (1714.64s)
or maybe not as accurately you believe
[28:36] (1716.64s)
that there's productivity gains and you
[28:38] (1718.40s)
believe that people need to use it to
[28:40] (1720.32s)
get these so you're kind of treating as
[28:42] (1722.40s)
an investment right now like for a year
[28:44] (1724.72s)
for two years whatever that may be and
[28:46] (1726.48s)
then right probably forever like I mean
[28:49] (1729.36s)
again if you like you wouldn't turn off
[28:51] (1731.04s)
spellch check and grammar check and and
[28:52] (1732.96s)
G Suite and like you wouldn't turn off
[28:54] (1734.24s)
these tools right I mean there's
[28:55] (1735.68s)
probably a debate on when you turn off
[28:56] (1736.72s)
sort of turn off slack because it's like
[28:58] (1738.80s)
that could be a productivity but but
[29:00] (1740.48s)
like there it's it's We're seeing the
[29:02] (1742.40s)
gains and I don't think that uh we
[29:04] (1744.32s)
should be penny pinching. Now over time
[29:06] (1746.24s)
we might realize there's a equilibrium
[29:08] (1748.16s)
and like oh this is the amount of tokens
[29:09] (1749.92s)
they people should be using. Actually if
[29:11] (1751.28s)
anybody's using cursor here the number
[29:12] (1752.48s)
one thing I'll tell you is please move
[29:13] (1753.92s)
away from the default model because the
[29:15] (1755.68s)
default model is nowhere close to like
[29:17] (1757.28s)
actually using a sophisticated model and
[29:19] (1759.36s)
by default cursor puts you there. And so
[29:21] (1761.36s)
we tell people please move off the the
[29:22] (1762.80s)
the small models move into something
[29:25] (1765.12s)
more uh bigger. We'll even say things
[29:27] (1767.36s)
like please use 01 Pro for this project
[29:29] (1769.28s)
or please use 03 um 03 Pro because those
[29:32] (1772.56s)
they're more expensive. They're more
[29:33] (1773.68s)
expensive. Actually, I'll go even
[29:34] (1774.96s)
further. Miky, the CTO will say
[29:37] (1777.36s)
something like the following. If you you
[29:40] (1780.16s)
um don't pay personally for 01 Pro or
[29:43] (1783.84s)
Gemini Ultra or Claude whatever it's
[29:46] (1786.32s)
called advanced um the $200 a month one
[29:48] (1788.96s)
you are crazy because you can afford it
[29:51] (1791.52s)
and actually you are missing out on
[29:53] (1793.12s)
actually all of the progress happening
[29:54] (1794.48s)
in LM because you are just stuck to the
[29:56] (1796.24s)
$10 a month or $20 a month chat GBT like
[29:59] (1799.20s)
that's how far he would go. One
[30:00] (1800.88s)
interesting thing that I've heard when I
[30:02] (1802.40s)
talk with engineers they're saying
[30:03] (1803.52s)
leadership is leading by example. Toby
[30:05] (1805.92s)
is is hacking and if you go on his
[30:08] (1808.16s)
Twitter or social media, you're going to
[30:09] (1809.60s)
see all the all the stuff that that he's
[30:11] (1811.52s)
doing even a year ago. I want to ask you
[30:13] (1813.60s)
like what are you doing on on on the
[30:15] (1815.76s)
side or experimenting or or playing with
[30:17] (1817.76s)
it and what tools are you excited about?
[30:19] (1819.68s)
Yeah. So, when I was building with when
[30:21] (1821.84s)
I was pairing with that engineer with an
[30:23] (1823.68s)
Entropic, I was building something for
[30:25] (1825.12s)
myself, right? Yeah. I was building a
[30:26] (1826.88s)
couple things. So, one great way to use
[30:28] (1828.16s)
company time, I guess. Exactly. Well, I
[30:29] (1829.52s)
was like, let me see what they can build
[30:30] (1830.56s)
because I didn't we didn't want to go
[30:31] (1831.52s)
super deep into the Shopify API. But we
[30:33] (1833.52s)
do build a lot of things that um you
[30:35] (1835.44s)
know, one was actually a commerce flow.
[30:37] (1837.20s)
I was trying to build a commerce flow
[30:38] (1838.56s)
via like operator where you can actually
[30:40] (1840.32s)
record the browser session and I wanted
[30:43] (1843.44s)
to see how the uh session was storing
[30:46] (1846.80s)
like uh credit card information or uh
[30:49] (1849.76s)
secure tokens as we were getting through
[30:51] (1851.36s)
a commerce flow. And I was trying to
[30:52] (1852.88s)
figure out I was trying to build almost
[30:53] (1853.92s)
like sub subscription product without
[30:56] (1856.00s)
using our subscription product from
[30:57] (1857.20s)
Shopify. And so it was an interesting
[30:59] (1859.76s)
experiment where we were trying to see
[31:01] (1861.12s)
how do we store those credentials
[31:02] (1862.48s)
especially when you want to store like
[31:03] (1863.68s)
credit card is it stored in the cloud
[31:04] (1864.96s)
already is it stored by the vendor are
[31:06] (1866.72s)
we storing it in the browser session
[31:08] (1868.16s)
that's how I kind of stay as close to it
[31:09] (1869.76s)
as possible I I use cursor pretty often
[31:12] (1872.08s)
to build my own workflows um in this
[31:14] (1874.00s)
case it was cloud code we actually even
[31:15] (1875.44s)
use gum I don't know if you heard of gum
[31:16] (1876.64s)
loop gum loop is an automation platform
[31:18] (1878.80s)
that is very interesting at its own
[31:20] (1880.96s)
layers oh here's one example we tried to
[31:23] (1883.20s)
build um I I did something super dumb I
[31:25] (1885.76s)
was like let's figure out when the next
[31:27] (1887.92s)
SanDisk Extreme Pro 8 TBTE drive comes
[31:31] (1891.36s)
out. Okay, we tried to build in cloud
[31:33] (1893.20s)
code. Took us an hour. We did not get
[31:34] (1894.48s)
there because it actually tried to do
[31:37] (1897.04s)
something at the wrong layer. It was
[31:38] (1898.32s)
trying to like read the JSON and it was
[31:40] (1900.32s)
like try to like get the image from the
[31:41] (1901.76s)
SanDisk site and figure out if the 8 TB
[31:43] (1903.68s)
drive is out like it was actually quite
[31:44] (1904.80s)
complicated. We built it in 2 minutes in
[31:46] (1906.32s)
Gum Loop. Not because what did Gum Loop
[31:48] (1908.64s)
do? So Gum Loop is basically like it was
[31:50] (1910.56s)
browser based. We said go to this
[31:52] (1912.80s)
website look at the like go through the
[31:54] (1914.80s)
search box like using English commands
[31:56] (1916.96s)
and they came back right away and said
[31:58] (1918.16s)
there's no 8 terabyte drive available
[31:59] (1919.52s)
and I said okay cool run it every week
[32:01] (1921.28s)
and send me an email it was just they're
[32:03] (1923.60s)
different tools for different jobs and
[32:05] (1925.36s)
an hour with cloud again nothing wrong
[32:06] (1926.64s)
with cloud code I use it all the time it
[32:08] (1928.96s)
was not meant to do this kind of like
[32:10] (1930.56s)
web scraping because what it is what
[32:11] (1931.92s)
does it do it tries to build a web
[32:13] (1933.04s)
scraper versus gum loop it already knows
[32:15] (1935.12s)
how to scrape websites so it's it's
[32:16] (1936.96s)
actually just a different layer of the
[32:18] (1938.16s)
stack and what I would encourage people
[32:19] (1939.20s)
to do is figure out where what you're
[32:20] (1940.56s)
trying to
[32:21] (1941.44s)
And we have a lot of automation
[32:22] (1942.96s)
happening in gun now because people have
[32:24] (1944.48s)
to do something. I want to scrape a
[32:26] (1946.24s)
LinkedIn profile. I want to find out if
[32:28] (1948.64s)
the what platform this company is using
[32:30] (1950.32s)
behind the scenes. I want to scrape a
[32:32] (1952.48s)
website. Like all of these things are
[32:33] (1953.68s)
it's built for the right thing at the
[32:34] (1954.72s)
right time. You have a lot bigger tools.
[32:36] (1956.00s)
Such exactly. So you should figure out
[32:37] (1957.68s)
where you want to work, right? If you're
[32:39] (1959.44s)
writing code, plot code. If you're
[32:41] (1961.12s)
writing if you're doing web skyscraper,
[32:42] (1962.88s)
use gum loop. So far it was an AI AI.
[32:45] (1965.44s)
And when this uh letter came out
[32:47] (1967.52s)
externally, there's been a lot of some
[32:49] (1969.84s)
speculation saying, hm, is this a sneaky
[32:52] (1972.08s)
way for Shopify to freeze headcount
[32:54] (1974.56s)
because it says you shouldn't hire
[32:56] (1976.40s)
unless you can check if you can do it
[32:57] (1977.84s)
with AI. But then you told me something
[32:59] (1979.44s)
interesting. Uh I'm not sure how how big
[33:02] (1982.24s)
Shopify is, but you told me that you're
[33:03] (1983.68s)
applying to hire a thousand interns. Can
[33:05] (1985.36s)
you put put that in context with the
[33:07] (1987.12s)
size of Shopify? And can tell me why are
[33:09] (1989.84s)
you hiring interns where a lot of
[33:12] (1992.16s)
companies are saying let's not hire
[33:14] (1994.00s)
entry level people cuz we have AI. Yeah.
[33:16] (1996.64s)
What are you seeing that others are not
[33:17] (1997.76s)
seeing? Yeah. So a couple things. One is
[33:20] (2000.16s)
there there's this real notion of like
[33:22] (2002.08s)
generations as they come up in different
[33:24] (2004.24s)
uh like that generate that graduate from
[33:26] (2006.48s)
different uh programs out of university
[33:28] (2008.08s)
or even coming from high school. And you
[33:29] (2009.92s)
really want to be close to the next
[33:31] (2011.20s)
generation of of people. One they're
[33:32] (2012.88s)
like you know they know things that you
[33:34] (2014.64s)
don't know. And so we restarted our
[33:37] (2017.04s)
intern program in in full thrust this
[33:38] (2018.72s)
year. So last year we had like 25
[33:40] (2020.24s)
interns a term. Uh I convinced Toby to
[33:42] (2022.56s)
hire a thousand interns this term mostly
[33:44] (2024.40s)
because I felt that they would Yeah, I
[33:46] (2026.64s)
know. They would be more AI reflexive
[33:48] (2028.64s)
than everybody else. That was our
[33:50] (2030.40s)
hypothesis. So my tweet actually said, I
[33:53] (2033.12s)
want you to come to work with an LLM and
[33:55] (2035.20s)
a brain, not one or the other. Yeah. The
[33:57] (2037.44s)
idea was that bringing these like
[33:59] (2039.12s)
centurs, AI cents, they know how to work
[34:01] (2041.92s)
with an LLM to solve their whatever
[34:04] (2044.32s)
workflow it is, whether it's a finance
[34:06] (2046.00s)
person or an engineering intern. And we
[34:08] (2048.24s)
really focused on them coming in and
[34:09] (2049.76s)
changing our internal culture. And so a
[34:11] (2051.68s)
thousand engineers over the year meant
[34:13] (2053.04s)
like 350 a term. And what we saw there
[34:16] (2056.08s)
was one, they're excited, they're
[34:18] (2058.32s)
hardworking. We also we also have them
[34:20] (2060.40s)
as a cohort, meaning they come to the
[34:21] (2061.76s)
office. We're a remote company, but we
[34:23] (2063.28s)
have the interns come in because we felt
[34:24] (2064.72s)
like the younger people need to have
[34:26] (2066.08s)
like younger people around them to work
[34:27] (2067.60s)
together versus just being remote in
[34:29] (2069.20s)
their like condo or whatever. We're
[34:30] (2070.72s)
changing the culture that way as well.
[34:32] (2072.16s)
And we did see this. They come they have
[34:33] (2073.84s)
their AI reflexive kind of we saw the
[34:35] (2075.28s)
same thing in mobile. You were in mobile
[34:36] (2076.48s)
as well. And so was I in my last decade
[34:38] (2078.40s)
of work and I I hired lots of interns
[34:40] (2080.72s)
because they grew up with mobile phones.
[34:42] (2082.56s)
And so this next generation is growing
[34:44] (2084.00s)
up with the internet and they're growing
[34:45] (2085.20s)
up with uh phones and they're growing up
[34:46] (2086.64s)
with LLMs. So we wanted them to come in
[34:48] (2088.56s)
and change our culture around that that
[34:49] (2089.84s)
axis. So, do you feel like people are
[34:51] (2091.84s)
learning from We all We always We always
[34:54] (2094.08s)
were. Interns are the secret weapon. You
[34:55] (2095.52s)
always learn more from the interns. Like
[34:57] (2097.20s)
people think about internships as like
[34:58] (2098.56s)
community service. Oh, that's so great,
[34:59] (2099.92s)
Shopify. You're helping the next
[35:01] (2101.28s)
generation. We don't do it for that. We
[35:03] (2103.04s)
do it to learn from the interns. That is
[35:04] (2104.88s)
always the reason. So, if you don't have
[35:06] (2106.48s)
an intern program, an early talent
[35:07] (2107.68s)
program, I encourage you, you should be
[35:09] (2109.20s)
bringing those people in because you
[35:10] (2110.32s)
will learn from them more than you will
[35:11] (2111.68s)
get like out of them. Like, you will you
[35:13] (2113.04s)
will take a net positive benefit from
[35:14] (2114.48s)
them. And of course, for those who like
[35:15] (2115.76s)
tweet at me and say, "Please don't hire
[35:17] (2117.60s)
interns. You have to pay them. I'm like,
[35:19] (2119.04s)
we pay them. I don't know why people
[35:20] (2120.72s)
think that you don't. We pay them like
[35:22] (2122.32s)
very well actually. And like they we do
[35:24] (2124.40s)
hire I think I've hired almost a hundred
[35:26] (2126.72s)
from the in the last in the this year
[35:28] (2128.40s)
from the intern pool to come into our
[35:30] (2130.16s)
program. And we're very much thinking
[35:31] (2131.84s)
about the only way to get into Shopify
[35:33] (2133.92s)
as an entry- level uh engineer is
[35:35] (2135.60s)
through the intern program. I'm fully
[35:36] (2136.80s)
with you with with on the paying. I
[35:38] (2138.16s)
never understood why companies are are
[35:40] (2140.16s)
cheaping out on this because sometimes
[35:41] (2141.52s)
interns will reject uh some of the
[35:43] (2143.92s)
offers because it doesn't cover their
[35:45] (2145.12s)
living cost, which is wild. Of course,
[35:46] (2146.56s)
you have to pay them. actually one of
[35:47] (2147.60s)
the best intern I it was another
[35:49] (2149.52s)
company's loss and in Amsterdam they
[35:50] (2150.96s)
offered 500 euros per month no housing
[35:53] (2153.60s)
and that intern would have loved to work
[35:55] (2155.92s)
there what a great experience but they
[35:57] (2157.52s)
applied to Uber because they said it's
[35:58] (2158.80s)
just too low like and then we gave them
[36:00] (2160.72s)
a new grat salary they could afford
[36:02] (2162.48s)
housing they could afford to travel and
[36:04] (2164.56s)
it was that intern could have done
[36:06] (2166.56s)
amazing things at that company and now
[36:07] (2167.92s)
this person is still senior at at at
[36:09] (2169.60s)
Uber you know been there for 5 years so
[36:11] (2171.28s)
you know their loss so think about it
[36:12] (2172.80s)
350 engineers uh interns to about 3,000
[36:16] (2176.24s)
engineers about 10% at any one point.
[36:18] (2178.48s)
Yeah. So if I join Shopify as as either
[36:21] (2181.76s)
a software engineer or or an engineering
[36:23] (2183.68s)
manager, can you tell me how stuff gets
[36:27] (2187.52s)
done for first as an engineer? Like what
[36:30] (2190.08s)
what do what what what tools do people
[36:31] (2191.84s)
use? I'm assuming it's just no longer
[36:33] (2193.84s)
you know VS Code do code review. There's
[36:35] (2195.76s)
going to be like AI tools here and
[36:37] (2197.12s)
there. Yeah. Well, first on we have a
[36:39] (2199.60s)
very specific way of writing software to
[36:42] (2202.08s)
the point of we built our own uh project
[36:44] (2204.72s)
management system. Like we don't use
[36:46] (2206.24s)
really Jira, we don't use linear, we
[36:48] (2208.80s)
don't use Yeah. And the reason is is
[36:50] (2210.64s)
because we believe that uh there's that
[36:53] (2213.52s)
line like first you make the tool and
[36:54] (2214.96s)
then the tool makes you and so we we
[36:57] (2217.76s)
believe that and so we make the tool so
[36:59] (2219.20s)
that it can make us versus we it's not
[37:01] (2221.76s)
nothing against those amazing tools. I'm
[37:03] (2223.04s)
a big fan like linear is beautiful and
[37:04] (2224.56s)
like you know uh I've known Jirro for a
[37:06] (2226.72s)
long time. I'm a pivotal fra guy myself
[37:08] (2228.16s)
being a pivotal ex pivotal person but we
[37:10] (2230.56s)
do believe that we have a specific way
[37:12] (2232.00s)
of writing of building software and if
[37:13] (2233.84s)
we use one of those tools we would be
[37:15] (2235.44s)
adopting someone else's way. Mhm. Yeah.
[37:17] (2237.60s)
And so instead we have a tool called GSD
[37:19] (2239.60s)
which stands for get done. And it
[37:22] (2242.16s)
is it is a tool that allows us it's a
[37:24] (2244.40s)
program management tool like a pro a
[37:25] (2245.68s)
product management tool which allows us
[37:26] (2246.80s)
to think about what are we building
[37:28] (2248.40s)
who's on the team what's the latest
[37:30] (2250.08s)
weekly update. It has metrics. It
[37:31] (2251.76s)
actually pulls in PR reviews so you can
[37:33] (2253.20s)
see like uh it pulls in PRs and you can
[37:34] (2254.80s)
see there's activity happening on this
[37:36] (2256.08s)
project. Y here are the core
[37:37] (2257.20s)
contributors. Here's how long it's been
[37:38] (2258.32s)
going on for. This tool is how you kind
[37:41] (2261.04s)
of get work done and you're forced to
[37:42] (2262.64s)
like write an update every week. And now
[37:44] (2264.32s)
actually we have an AI here's an
[37:45] (2265.28s)
interesting one for you. We have an AI
[37:46] (2266.72s)
tool which will um pull in the latest
[37:49] (2269.12s)
PRs and the latest conversations from
[37:51] (2271.52s)
the Slack channel and it'll write a
[37:53] (2273.44s)
update for you. And then you can look at
[37:54] (2274.80s)
it and say this looks good and you can
[37:56] (2276.56s)
also tell it what did I not think about
[37:57] (2277.92s)
and say please emphasize this and it'll
[38:00] (2280.48s)
help you write the project management
[38:01] (2281.84s)
update every week. So this is
[38:03] (2283.20s)
interesting. I I want to push you a
[38:04] (2284.40s)
little bit on this because I think
[38:05] (2285.52s)
there's two schools of thoughts here.
[38:07] (2287.04s)
One says your weekly update like I
[38:09] (2289.60s)
appreciate that that you're doing it.
[38:10] (2290.64s)
The weekly update point should be for
[38:12] (2292.16s)
you to look back on on what you did.
[38:15] (2295.28s)
Obviously, everyone hates doing this, by
[38:16] (2296.64s)
the way. And with by AI doing it, would
[38:20] (2300.00s)
you not lose that kind of reflection?
[38:22] (2302.08s)
Well, this is why we pair you with the
[38:24] (2304.24s)
AI. So, we don't we we we do auto we do
[38:27] (2307.68s)
autopublish it if you don't do anything.
[38:29] (2309.28s)
But if you autopublish it and don't do
[38:31] (2311.12s)
anything, we look at the stats. um there
[38:33] (2313.60s)
is a little bit of loss from you because
[38:35] (2315.44s)
you are now like losing out on the
[38:36] (2316.88s)
context that you were supposed to gain
[38:38] (2318.16s)
as the champion of the project by
[38:39] (2319.68s)
looking deeply. However, we expect
[38:42] (2322.32s)
everyone just like a PR written by AI to
[38:44] (2324.96s)
have read the code and read the update.
[38:46] (2326.64s)
Yeah. So, you're responsible. You're
[38:48] (2328.32s)
responsible. And so, we're early days in
[38:49] (2329.60s)
this. We're like literally 3 weeks in on
[38:51] (2331.60s)
this project and we may revert it and
[38:52] (2332.96s)
say, "Hey, by the way, it turns out
[38:54] (2334.08s)
everybody stopped looking at what was
[38:56] (2336.08s)
happening week to week." Yeah. But we
[38:58] (2338.08s)
also every six weeks at a company level
[39:01] (2341.12s)
with Toby go through every project in
[39:03] (2343.52s)
the company and we see if we think that
[39:05] (2345.76s)
it's on track, not on track, should be
[39:07] (2347.76s)
kept working on, has the right
[39:08] (2348.72s)
resources, is on too long, is it aimed
[39:10] (2350.56s)
in the right direction. You better know
[39:12] (2352.00s)
what's in there because literally we're
[39:13] (2353.36s)
going to review it at the leadership
[39:14] (2354.24s)
level. Yeah. I I I think you have no I I
[39:16] (2356.64s)
I like how because I feel like with with
[39:20] (2360.16s)
with AI like I kind of want it to
[39:22] (2362.32s)
automate the stuff that I really don't
[39:23] (2363.76s)
want to do. Yes. And ironically it's
[39:25] (2365.76s)
really good at automating stuff that we
[39:27] (2367.12s)
like to do sometimes which is coding but
[39:29] (2369.04s)
like writing an update or writing
[39:30] (2370.56s)
documentation. I don't think as
[39:31] (2371.68s)
engineers we loved doing that. And so as
[39:33] (2373.92s)
as an engineering again we're trying to
[39:35] (2375.60s)
reduce toil. If we find it reduces
[39:38] (2378.40s)
actual context we will we will revert. I
[39:41] (2381.04s)
I I love the experimentation and and and
[39:43] (2383.12s)
and going back and forth. As an
[39:44] (2384.48s)
engineering manager, what what
[39:46] (2386.00s)
additional things might might people
[39:47] (2387.76s)
use? Do people build their own tools to
[39:50] (2390.32s)
stay on top of things? Do people go
[39:52] (2392.08s)
deeper because of Yeah, as an as an
[39:54] (2394.08s)
engineering manager and a director, we
[39:55] (2395.68s)
try to surface again metrics so that you
[39:57] (2397.36s)
can see how your team is doing. So, for
[39:58] (2398.80s)
example, we have tools that allow you to
[40:00] (2400.40s)
see things like um focus time of your
[40:02] (2402.40s)
team, how often they're are they in
[40:03] (2403.84s)
meetings, um AI adoption, are they using
[40:06] (2406.96s)
like AI tools or not? Like we're trying
[40:08] (2408.56s)
to surface this information. um how many
[40:10] (2410.64s)
of your people are on a GSD project
[40:12] (2412.40s)
versus not because maybe a project ended
[40:13] (2413.84s)
and they're like freed up to work on
[40:15] (2415.36s)
something else. So we try to surface
[40:16] (2416.88s)
that and engineering managers too we try
[40:18] (2418.56s)
to get them to be a lot of the best ones
[40:20] (2420.16s)
come from IC land like they they started
[40:22] (2422.08s)
as IC's so we try to get them to do if
[40:24] (2424.48s)
they're hired outside I start as an IC
[40:26] (2426.80s)
at jobify before they move into
[40:28] (2428.16s)
management. M oh here here's a fun one
[40:30] (2430.56s)
that I think we should talk about. You
[40:32] (2432.32s)
mentioned something super interesting to
[40:33] (2433.52s)
me when you're hiring engineering
[40:34] (2434.96s)
directors and above. In the past it was
[40:36] (2436.80s)
the usual interviews you know culture
[40:38] (2438.64s)
fist strategy all that stuff. You added
[40:40] (2440.72s)
a coding interview for every single
[40:42] (2442.48s)
engineering director and above hire. Can
[40:44] (2444.72s)
you tell me about this? Yeah so it's
[40:46] (2446.24s)
interesting like it's maybe shocking to
[40:48] (2448.40s)
folks and I know like Rodney's sitting
[40:50] (2450.00s)
there. He used to work for me. I did the
[40:51] (2451.36s)
pairing interview with him and so what
[40:53] (2453.04s)
happens is it is shocking for VPs
[40:55] (2455.12s)
especially to be like whoa there's a
[40:56] (2456.56s)
coding interview. I'm like, "Yeah,
[40:57] (2457.76s)
because we believe that the best leaders
[41:00] (2460.32s)
here were ones who were not running away
[41:01] (2461.92s)
from coding. They just felt like they
[41:03] (2463.44s)
got better leverage from running a team.
[41:05] (2465.28s)
They still are deeply in love with
[41:06] (2466.72s)
technology and they still, in Rodney's
[41:08] (2468.32s)
case, still codes on the weekend,
[41:09] (2469.68s)
right?" And so we it worked out super
[41:11] (2471.44s)
well. But our whole idea is that you're
[41:13] (2473.76s)
not running away. You're running towards
[41:15] (2475.20s)
technology and this is just a better way
[41:16] (2476.56s)
for you to express it. So I pair with
[41:18] (2478.32s)
the with the candidates and they also
[41:20] (2480.24s)
see that even though I'm not writing
[41:21] (2481.28s)
code every day, I'm still deep in the
[41:23] (2483.44s)
weeds of technology. I still love
[41:24] (2484.80s)
technology and I still want to talk
[41:25] (2485.92s)
about technical topics and so we pair
[41:27] (2487.76s)
and some people believe that that's not
[41:29] (2489.44s)
the best for them and they can you know
[41:30] (2490.72s)
there's lots of great companies out
[41:31] (2491.92s)
there where that's not the requirement
[41:33] (2493.28s)
but at Shopify we believe people should
[41:34] (2494.80s)
be as close to the details as possible
[41:36] (2496.56s)
and we are such a tech nerd company like
[41:38] (2498.88s)
again our sales people are vibe coding
[41:40] (2500.40s)
now we want our engineering leaders to
[41:42] (2502.24s)
be coding as well and so that doesn't
[41:43] (2503.60s)
mean coding day-to-day but you should
[41:45] (2505.20s)
understand code and how code works and a
[41:47] (2507.28s)
lot of it comes back the muscle memory
[41:48] (2508.64s)
of coding will come back in these
[41:50] (2510.16s)
pairing interviews yeah and I I guess
[41:51] (2511.60s)
especially now we have these coding
[41:52] (2512.88s)
tools when you You know, you can
[41:54] (2514.32s)
generate something as long as you can
[41:56] (2516.00s)
look through it. Like you This is the
[41:57] (2517.84s)
best part about co-pilots is that a
[41:59] (2519.76s)
candidate comes, the co-pilot generates
[42:02] (2522.00s)
tons of code, and now I'm like, great.
[42:03] (2523.92s)
Is that good code, bad code? I love Hold
[42:06] (2526.48s)
on. So, you're using AI during your
[42:08] (2528.56s)
interview process? Yes. Oh, you're not
[42:10] (2530.88s)
running away from it. You know, one of
[42:12] (2532.56s)
the interesting stories that we just
[42:13] (2533.92s)
learned, Cursor has disbanded on the
[42:16] (2536.32s)
interview process. They're the AI tool
[42:17] (2537.92s)
company, right? So, you're embracing it.
[42:19] (2539.76s)
We're embracing it. Okay. How's it
[42:20] (2540.88s)
working? Tell me. I love it because what
[42:22] (2542.32s)
happens now is the AI will sometimes
[42:24] (2544.00s)
generate pure garbage. So, so you're
[42:25] (2545.60s)
screen sharing and you say literally use
[42:26] (2546.88s)
that screen sharing and they're using I
[42:28] (2548.24s)
say co-pilot or whatever let them use
[42:29] (2549.60s)
whatever they want. Here's what I'll
[42:30] (2550.56s)
say. If they don't use a co-pilot, they
[42:32] (2552.56s)
usually get creamed by someone who does.
[42:34] (2554.72s)
So, they will have no choice but to use
[42:36] (2556.24s)
a co-pilot. Sometimes I will shadow an
[42:37] (2557.68s)
interview and you do the questions
[42:39] (2559.20s)
myself. I've never seen them with a
[42:40] (2560.80s)
co-pilot and send it to the interviewer
[42:42] (2562.16s)
and say, "Please mark my assignment as
[42:43] (2563.92s)
well uh against the candidate. I have
[42:45] (2565.52s)
not lost yet." If they have not if they
[42:47] (2567.76s)
don't have a co-pilot, they will lose.
[42:49] (2569.44s)
But when they do have a co-pilot, I love
[42:51] (2571.04s)
seeing the generated code because I want
[42:52] (2572.88s)
to ask them what do you think? Is this
[42:54] (2574.64s)
good code? Is this not good code? Are
[42:55] (2575.92s)
there problems? And I've seen engineers,
[42:57] (2577.28s)
for example. Um, when there's something
[42:59] (2579.36s)
very easy to fix, they won't fix it.
[43:02] (2582.00s)
They will try to prompt to fix it. And I
[43:04] (2584.56s)
see, are you really an engineer? Like
[43:06] (2586.40s)
you I I get the the nuance of like just
[43:09] (2589.12s)
prompt and prompt and prompt, but
[43:10] (2590.32s)
sometimes it's right there and they will
[43:12] (2592.16s)
not prompt. They I'm like, change the
[43:13] (2593.68s)
one character and they won't and they
[43:15] (2595.20s)
won't change it. And I'm like, okay. So
[43:16] (2596.48s)
they they they're interesting. I I don't
[43:18] (2598.08s)
want you to be 100% AI coder. I want you
[43:19] (2599.52s)
to be like 90 or 95. I want you to be
[43:21] (2601.44s)
able to go in and look at the code and
[43:22] (2602.72s)
say, "Oh yeah, there's a line that's
[43:24] (2604.56s)
wrong." So I want to ask you what is a
[43:26] (2606.72s)
standout senior or staff engineer today
[43:29] (2609.52s)
look at Shopify and what has changed
[43:31] (2611.44s)
let's say 3 years ago when we didn't
[43:33] (2613.28s)
have any of these tools. I'm trying to
[43:35] (2615.52s)
pro here like how you think AI or AI
[43:38] (2618.48s)
tool usage might have changed of what we
[43:40] (2620.32s)
expect an amazing engineer and you think
[43:42] (2622.64s)
of the the person who you think is like
[43:44] (2624.48s)
this fantastic person. Well, I would say
[43:46] (2626.72s)
the thing that's changing is I'm seeing
[43:48] (2628.08s)
some of my engineers now actually use
[43:49] (2629.68s)
these AI tools to like do the
[43:51] (2631.44s)
infrastructure that they've always
[43:52] (2632.64s)
wanted to do but never felt like they
[43:53] (2633.92s)
had the time. So like tech debt
[43:55] (2635.76s)
reduction, refactoring,
[43:58] (2638.40s)
u making things easier to read, like
[44:00] (2640.32s)
those are the things I'm seeing the best
[44:01] (2641.84s)
engineers at Shopify use AI tooling to
[44:04] (2644.24s)
actually do and they just never felt
[44:05] (2645.84s)
like they had the time or the resources.
[44:07] (2647.68s)
Like the engineer who always felt like I
[44:09] (2649.28s)
wish I had like six months to do a code
[44:11] (2651.28s)
red now can use an AI refactoring tool
[44:13] (2653.84s)
like a cloud code or a open AI codeex to
[44:16] (2656.32s)
like unleash these agents in parallel to
[44:18] (2658.40s)
then and then review all the PRs but
[44:20] (2660.48s)
then unleash it and have it and feel
[44:21] (2661.76s)
like they have a team themselves. So
[44:23] (2663.04s)
that's what I that's where I'm seeing
[44:24] (2664.56s)
and they're not afraid of of trying
[44:27] (2667.20s)
things that may or may not work. They
[44:28] (2668.32s)
might unleash something for 24 hours and
[44:30] (2670.48s)
like a Devon like tool and it comes back
[44:31] (2671.76s)
and like utter garbage they delete it
[44:33] (2673.44s)
all but they said it was worth trying.
[44:34] (2674.88s)
Yeah. And as a closing question uh in
[44:37] (2677.60s)
and and a lot of people are are thinking
[44:39] (2679.84s)
we'd love to be like Shopify like I'm
[44:41] (2681.92s)
either an engineer, I'm either a staff
[44:43] (2683.52s)
engineer, director of engineering, etc.
[44:46] (2686.16s)
I' I'd love to transform my culture to
[44:48] (2688.08s)
be a bit more AI first. What would your
[44:50] (2690.32s)
advice be? How can people start? Like
[44:52] (2692.16s)
not everyone has a luxury of having the
[44:53] (2693.68s)
CEO saying okay I I love these things.
[44:56] (2696.32s)
Do you have tips to that you give to
[44:57] (2697.84s)
your peers? I know you're in CTO groups
[44:59] (2699.44s)
for example. Yeah. So I think that the
[45:01] (2701.68s)
number one thing is role modeling is the
[45:03] (2703.68s)
best example. like I haven't seen
[45:04] (2704.88s)
anything work better than role modeling
[45:06] (2706.72s)
and the way that happens is like you
[45:08] (2708.80s)
have to do it. So if you are coding and
[45:11] (2711.36s)
you are showing people your workflow and
[45:13] (2713.04s)
you are showing you are in those same
[45:14] (2714.64s)
channels asking like hey I was trying to
[45:16] (2716.08s)
get this working and it wasn't working
[45:17] (2717.60s)
or I I was able to get this workflow
[45:19] (2719.60s)
going via this prompt. We have a prompt
[45:21] (2721.44s)
library internally where you can
[45:22] (2722.64s)
literally grab prompt and yeah and like
[45:24] (2724.72s)
say like you know um hey this prompt
[45:26] (2726.56s)
worked for somebody let me try it and
[45:27] (2727.68s)
modify it for my use case. That's the
[45:29] (2729.60s)
number one way in which I see people um
[45:32] (2732.00s)
trying to adopt AI is because they've
[45:33] (2733.60s)
seen other people do it. And so we try
[45:35] (2735.44s)
to share like AI use cases. We have
[45:37] (2737.36s)
again prompt libraries. We had a
[45:38] (2738.72s)
hackathon like in our as a part of
[45:40] (2740.16s)
Shopify Summit a few weeks ago and we
[45:41] (2741.84s)
leaned heavily into AI and it wasn't
[45:43] (2743.92s)
just junior people learning AI. It was
[45:45] (2745.84s)
senior people trying to embrace cloud
[45:47] (2747.52s)
code and one guy said I haven't coded in
[45:49] (2749.12s)
six uh six weeks. I've only used cloud
[45:51] (2751.52s)
code. Then I pushed him and he said okay
[45:52] (2752.80s)
I have to make changes like here and
[45:54] (2754.16s)
there. I said cool. You're 95% AI but
[45:56] (2756.48s)
that's the point. You're not supposed to
[45:57] (2757.76s)
be 100. And uh role modeling is the
[45:59] (2759.76s)
number one thing I've seen that and
[46:01] (2761.20s)
sharing examples. So role modeling and
[46:02] (2762.80s)
then sharing especially because no one
[46:04] (2764.64s)
has it figured out. So we No one has
[46:06] (2766.24s)
exactly no one no one's no one's there
[46:07] (2767.68s)
yet. Well this this was wonderful. I I I
[46:09] (2769.68s)
love how much you're experimenting. I I
[46:11] (2771.60s)
love how you are not afraid to you know
[46:14] (2774.24s)
like take some churn to learn more. And
[46:16] (2776.48s)
I love how much you're sharing
[46:17] (2777.60s)
internally. I I think we got a little
[46:19] (2779.76s)
window of this but I I think it it's
[46:22] (2782.24s)
just something I hope more more more
[46:23] (2783.76s)
people more companies will do. So this
[46:25] (2785.20s)
was wonderful. Thank you so much. Thanks
[46:26] (2786.48s)
for having me. I found it refreshing to
[46:29] (2789.04s)
see just how practical Shopify is about
[46:30] (2790.88s)
LLMs. It feels to me that they
[46:32] (2792.80s)
understand that you need to invest and
[46:34] (2794.48s)
experiment to get results. One
[46:36] (2796.40s)
surprising thing for me was
[46:37] (2797.60s)
understanding how Shopify expects to
[46:39] (2799.52s)
become more effective using AI tools by
[46:41] (2801.84s)
hiring interns who come in with an open
[46:43] (2803.84s)
mind towards AI tools and can come up
[46:45] (2805.52s)
with clever use cases for it. For more
[46:47] (2807.36s)
details on how Shopify operates, check
[46:49] (2809.12s)
out Deep Dies in the Pragmatic Engineer
[46:50] (2810.88s)
linked in the show notes below. If
[46:52] (2812.24s)
you've enjoyed this podcast, please do
[46:53] (2813.68s)
subscribe in your favorite podcast
[46:54] (2814.96s)
platform and on YouTube. This helps more
[46:57] (2817.12s)
people discover the podcast. And a
[46:58] (2818.88s)
special thank you if you leave a rating.