WEBVTT

NOTE
This file was generated by Descript 

00:00:04.285 --> 00:00:06.055
CJ: Welcome back to Build and Learn.

00:00:06.055 --> 00:00:06.989
My name is cj.

00:00:06.989 --> 00:00:07.979
Colin: And I'm Colin.

00:00:07.979 --> 00:00:12.479
And today we are talking about whether
you should build versus buy software.

00:00:12.484 --> 00:00:16.029
It's that classic build versus buy
decision that, you may or may not

00:00:16.029 --> 00:00:17.379
have encountered in your day to day.

00:00:17.739 --> 00:00:20.259
But we're gonna dig, dig
into it a little bit today.

00:00:20.329 --> 00:00:23.329
What kinds of things have you been up
to since we last chatted last week?

00:00:24.394 --> 00:00:26.134
CJ: We're kind of winding
down the summer here.

00:00:26.134 --> 00:00:29.614
Our kids are getting ready to go to
school, so we're, Yeah, we're kind of like

00:00:29.619 --> 00:00:32.344
starting to enter into hibernation mode.

00:00:32.664 --> 00:00:34.624
, I guess, like cleaning things up.

00:00:34.624 --> 00:00:34.784
Colin: coming.

00:00:35.329 --> 00:00:37.699
CJ: Yeah, winter is coming
eventually sometime.

00:00:37.699 --> 00:00:42.000
We haven't experienced a fall in New
England yet, and so we see some trees

00:00:42.000 --> 00:00:45.180
starting to turn and we're getting nervous
about how many leaves we're gonna have

00:00:45.180 --> 00:00:47.790
to pick up  and like all of this stuff.

00:00:47.795 --> 00:00:50.460
So yeah, we're getting, we're
getting ready for that transition.

00:00:50.490 --> 00:00:52.260
I think the kids are excited
to go back to school.

00:00:52.260 --> 00:00:54.370
Third and fourth grade, it's, good times.

00:00:54.940 --> 00:00:55.420
Colin: Nice.

00:00:55.525 --> 00:00:59.425
CJ: I know at this time of year also
that like right at the end of summer,

00:00:59.425 --> 00:01:03.025
beginning of fall, a very special
thing happens in Northern Nevada.

00:01:03.325 --> 00:01:07.675
And so , you know, if you're going
to unr, students will be off campus.

00:01:07.675 --> 00:01:10.165
They're just gone Teachers too, right?

00:01:10.345 --> 00:01:13.615
If you're in, if you're in and around
Reno, you start to see all of these

00:01:13.615 --> 00:01:18.325
like really wild looking vehicles
passing through and, you know, there's

00:01:18.325 --> 00:01:22.435
a lot of dust on the road, , so
there's a special thing coming up.

00:01:22.435 --> 00:01:23.905
What, what have, what have you got going?

00:01:24.575 --> 00:01:25.895
Colin: Yeah, I feel like we're lit.

00:01:25.955 --> 00:01:26.285
Lit.

00:01:26.285 --> 00:01:28.145
I mean, we are in different
parts of the country, but.

00:01:28.790 --> 00:01:31.760
You're talking about leaves turning
and I'm thinking about how hot

00:01:31.760 --> 00:01:33.470
it's gonna be, out in the desert.

00:01:34.070 --> 00:01:35.930
Yeah, so Burning Man's coming up.

00:01:36.020 --> 00:01:39.320
I know it's a pretty popular
thing in, in tech circles.

00:01:39.370 --> 00:01:43.210
There's a lot of like preconceived
notions of what Burning Man is as well.

00:01:43.210 --> 00:01:45.820
And, you know, it's, it's
definitely a lot of fun.

00:01:45.850 --> 00:01:48.245
This is gonna be my eighth year since.

00:01:48.395 --> 00:01:52.325
I guess my first year was in 2008, so
I've been going for a while kind of

00:01:52.325 --> 00:01:56.915
off and on and have run theme camps
and really big groups out there.

00:01:56.920 --> 00:02:00.905
And I'm kind of now like more of
one of the, the veteran curmudgeony

00:02:00.905 --> 00:02:04.745
burners that, you know, just wants to
go out and build my shade structure

00:02:04.750 --> 00:02:06.125
and, do our own little things.

00:02:06.125 --> 00:02:09.335
So no, like official like duties that
I have to do while I'm out there,

00:02:09.335 --> 00:02:12.945
other than like build my shade,
build my structure, and make sure

00:02:12.945 --> 00:02:15.495
I have enough food and water, and
then just kind of enjoy the whole.

00:02:16.345 --> 00:02:16.705
CJ: Nice.

00:02:16.705 --> 00:02:21.685
Do you bring out water to bathe with
or like shower with or are you like

00:02:21.685 --> 00:02:24.895
one of the hardcore people that are
just, I'm gonna be dusty and I'll get

00:02:24.895 --> 00:02:26.665
super, super dusty when I get home I'll.

00:02:27.105 --> 00:02:29.175
Colin: Yeah, I mean, what's
interesting about it is it's,

00:02:29.205 --> 00:02:30.946
it's  like an alkaline dust.

00:02:30.946 --> 00:02:33.796
It's, it's not like if you went
camping in the forest where like a

00:02:33.801 --> 00:02:35.686
few days you're gonna feel like dirty.

00:02:35.718 --> 00:02:39.468
It's really interesting cause it's like,
think about like Mad Max or, you know,

00:02:39.468 --> 00:02:41.898
like it's just like very fine baby powder.

00:02:42.688 --> 00:02:46.053
and it's very easy, like you actually
feel kind of clean in a weird way.

00:02:46.053 --> 00:02:47.643
Like you might be covered in dust.

00:02:47.973 --> 00:02:52.143
So some people try to like do all
sorts of cleaning regimens out there.

00:02:52.143 --> 00:02:54.723
It baby wipes are your friend, basically.

00:02:54.723 --> 00:02:56.913
Or like the really large
format ones you can get.

00:02:57.174 --> 00:03:00.107
Yeah, some people try, they do
like solar showers and stuff.

00:03:00.107 --> 00:03:04.304
The issue is, Bringing out enough water
cuz you're already wanting to bring

00:03:04.304 --> 00:03:07.326
enough water to cook and, you know  drink.

00:03:07.589 --> 00:03:09.719
And so it's part, and then
you gotta deal with the water.

00:03:09.719 --> 00:03:12.569
Like you need to try to like, deal
with your waste water after that.

00:03:12.569 --> 00:03:15.269
So you're not supposed to pour
things onto the ply like that.

00:03:15.269 --> 00:03:18.780
We could go on and on for a whole episode
on, on this, like  because a lot of people

00:03:18.780 --> 00:03:22.230
just think it's like a, you know, party
in the desert, which it very much is, but.

00:03:22.457 --> 00:03:25.517
A lot of people who have never been
before don't realize how harsh of

00:03:25.517 --> 00:03:27.077
an environment it is out there.

00:03:27.407 --> 00:03:31.127
And yes, you can buy ice and there's
people, your neighbors are gonna

00:03:31.127 --> 00:03:32.657
help you if you forget something.

00:03:32.657 --> 00:03:37.743
But it is  one of the more inhospitable
places on the planet to go to

00:03:38.245 --> 00:03:39.565
CJ: You've gone eight years.

00:03:39.565 --> 00:03:41.285
Are you doing a theme this year or

00:03:41.566 --> 00:03:46.332
Colin: I am with a, yeah, I am with
a camp, but  it's like, again, a camp

00:03:46.332 --> 00:03:49.212
of people who have done it for so
many years that we don't really want

00:03:49.212 --> 00:03:53.612
to, like, some camps have dues and
you gotta sign up to do group cooking

00:03:53.612 --> 00:03:55.208
and like events and all that stuff.

00:03:55.213 --> 00:03:59.070
And so our camp, we actually
record  like on behalf of the,

00:03:59.190 --> 00:04:00.463
the Burning Man Organization.

00:04:00.695 --> 00:04:02.666
Things at Burning Man in vr.

00:04:02.666 --> 00:04:04.746
So 360 degree video.

00:04:05.014 --> 00:04:07.526
We're gonna be out there
with  I think it's like.

00:04:07.780 --> 00:04:11.371
Oculus Goes  which are like an older
version of the Oculus that's like really

00:04:11.371 --> 00:04:13.211
lightweight, indestructible version.

00:04:13.211 --> 00:04:14.951
Doesn't have to be tethered to a computer.

00:04:15.311 --> 00:04:17.771
And it is, you know, I thought it
was a little bit corny at first.

00:04:17.771 --> 00:04:19.931
It's like you can't, like,
why not just enjoy it?

00:04:19.991 --> 00:04:21.101
Why try to capture this?

00:04:21.101 --> 00:04:24.311
But the people who started it
are literal, like librarians and

00:04:24.311 --> 00:04:28.938
documentarians who are trying to create
an archive of what's going on out there.

00:04:28.938 --> 00:04:32.148
And so they get invited to go
out in the middle of something.

00:04:32.808 --> 00:04:36.138
You as even an attendee aren't
allowed to be in the center of

00:04:36.468 --> 00:04:38.748
and get to capture that in, in 3d.

00:04:38.748 --> 00:04:40.557
And then  teaming up with other groups.

00:04:40.557 --> 00:04:45.230
There's a group called BlackRock  B
R cvr, that does more of the like

00:04:45.260 --> 00:04:47.720
3D metaverse avatar side of things.

00:04:47.960 --> 00:04:52.565
So you get to actually like, If
you're not on ply, you can    on

00:04:52.565 --> 00:04:56.255
your Oculus at home and, and be part
of the, of an experience out there.

00:04:56.255 --> 00:04:59.795
And it's kind of interesting cuz it's like
obviously never gonna replace what it,

00:04:59.915 --> 00:05:03.920
I mean it's hot and dusty and all that
stuff doesn't come through obviously.

00:05:04.211 --> 00:05:07.053
But like half of it is like getting
through the day cuz it's hot and you

00:05:07.053 --> 00:05:10.383
get to see all these amazing things and
you're running into people and then at

00:05:10.383 --> 00:05:12.093
night you get to go out and it's just.

00:05:12.813 --> 00:05:17.274
Every l e d that you've ever seen on the
planet, all in one place  and fire and

00:05:17.424 --> 00:05:19.134
just, it's a, it's a really good time.

00:05:19.134 --> 00:05:19.524
So

00:05:19.739 --> 00:05:23.009
CJ: Something that I've heard is that
you can't actually buy anything there.

00:05:23.009 --> 00:05:24.479
It's all like a barter system.

00:05:24.869 --> 00:05:28.859
So in today's episode of Build
versus Buy, literally you have to

00:05:28.859 --> 00:05:32.069
build everything . You can't buy
anything or you have to train, right.

00:05:32.354 --> 00:05:33.884
Colin: Yeah, we can jump into the theme.

00:05:33.884 --> 00:05:36.835
But yeah, that one also gets a
little bit of  misinterpreted

00:05:36.895 --> 00:05:38.725
because they do sell ice.

00:05:39.041 --> 00:05:42.061
Just because it will be very
hard to be out there, like, I'm

00:05:42.061 --> 00:05:43.381
gonna be there for nine days.

00:05:43.816 --> 00:05:47.536
You can be really good at packing
a cooler and nine days you just,

00:05:47.541 --> 00:05:49.276
it's gonna be melted no matter what.

00:05:49.281 --> 00:05:52.606
So you figure out things that
don't require refrigeration

00:05:52.606 --> 00:05:53.836
and ice and things like that.

00:05:53.836 --> 00:05:55.096
But, you know, having a.

00:05:55.546 --> 00:06:00.886
Beer on ice is also a luxury to
have, so they do sell ice, but it's

00:06:00.886 --> 00:06:04.966
more of a like a gifting economy
and that there is no real economy.

00:06:04.966 --> 00:06:08.926
It's just that some people will
bring gifts, quote unquote, and that

00:06:08.926 --> 00:06:12.016
gift might even just be helping you
build your shade or build your camp.

00:06:12.021 --> 00:06:12.136
Right?

00:06:12.136 --> 00:06:14.986
It doesn't have to be a thing,
and it's not an expectation that

00:06:14.986 --> 00:06:16.306
you're giving something back, right?

00:06:16.306 --> 00:06:17.056
In some cases, this.

00:06:17.641 --> 00:06:19.021
Open source if we want to go there.

00:06:19.021 --> 00:06:23.761
Like there is a lot of reasons why I
think developers and, and community

00:06:23.761 --> 00:06:27.736
minded people are attracted to it is
that, Yes, you gotta buy a ticket.

00:06:27.736 --> 00:06:28.186
Yes.

00:06:28.186 --> 00:06:30.586
Technically going to Bernie
man in general is expensive.

00:06:30.586 --> 00:06:34.096
Like it is a privilege to go
because you gotta have the

00:06:34.096 --> 00:06:35.606
time to go, the money to go.

00:06:35.657 --> 00:06:39.105
You know, unfortunately, you know,
it, it ends up skewing towards

00:06:39.105 --> 00:06:42.630
the demographic that is allowed,
like, is able to make that work.

00:06:42.630 --> 00:06:45.960
Once you have paid to go and you
get there, you're not spending

00:06:45.960 --> 00:06:49.425
money, someone might just make a
bunch of stickers and pass them out.

00:06:49.485 --> 00:06:52.315
It might just be an act of
kindness that they're doing.

00:06:52.496 --> 00:06:56.666
And then some people go all out and,
you know, cast little figurines out of

00:06:56.666 --> 00:07:00.836
silver and you know, randomly you might,
you know, just because you talked to

00:07:00.836 --> 00:07:04.946
somebody that did that, they might give
you on and it, you know, you're not doing

00:07:04.946 --> 00:07:08.816
anything out there with expectation and
you're not trying to, you know, collect

00:07:08.816 --> 00:07:10.406
all these little gifts or anything.

00:07:10.406 --> 00:07:14.165
It's just an interesting thing
of like, you know  I'm not gonna

00:07:14.165 --> 00:07:17.765
be doing this with an expectation
of return or something like that.

00:07:18.005 --> 00:07:20.525
CJ: I also am really intrigued
by the way that it's set up

00:07:20.735 --> 00:07:23.195
like the, the actual layout of.

00:07:23.705 --> 00:07:29.135
The city because it is a city, and I
think someone recently shared a, an

00:07:29.135 --> 00:07:33.905
image of like Mesa, Arizona, which
is also sort of laid out in a circle

00:07:33.905 --> 00:07:39.275
where everyone is, it's easier to sort
of like cross the city to any point,

00:07:39.695 --> 00:07:42.875
rather than having it laid out in
like a perfect like rectangular grid.

00:07:44.255 --> 00:07:48.207
Colin: Yeah, an architect designed
that and  or many architects probably.

00:07:48.207 --> 00:07:51.718
But  it was, it's interesting cuz the,
yeah, the way that your addresses are

00:07:51.718 --> 00:07:56.712
actually based on the hours of a clock and
then, Rings inside of that circle are the

00:07:56.712 --> 00:08:01.122
different streets from A to H, and so each
one has a different name, but you can just

00:08:01.122 --> 00:08:05.562
say like three 30 and a, and if you're
at 12, midnight, right, midnight, then

00:08:05.562 --> 00:08:09.162
you can figure out where three is, and
it's pretty interesting way of doing it.

00:08:09.907 --> 00:08:14.437
There've been some like competitions
and, and to like redesign the city

00:08:14.437 --> 00:08:18.607
and you get all sorts of interesting
things, but then you end up realizing

00:08:18.612 --> 00:08:20.887
it's like, okay, now to get from
one side to the other, it takes you

00:08:20.887 --> 00:08:25.087
twice as long or you don't know where
you're at in relation to other things.

00:08:25.087 --> 00:08:28.807
Like it, it is a really interesting
thing and like clocks exist around

00:08:28.807 --> 00:08:32.686
the world, so it's pretty  easy for,
you know, a global audience to pick

00:08:32.691 --> 00:08:34.666
it up and know what, what that means.

00:08:34.666 --> 00:08:36.766
But yeah, so.

00:08:36.946 --> 00:08:38.986
CJ: it's, it's like a, it's an annual.

00:08:39.346 --> 00:08:42.136
Beta test of like how you
should lay out a city.

00:08:42.976 --> 00:08:45.616
Colin: Yeah, I think it would
be fun to change it every year.

00:08:45.621 --> 00:08:47.326
But yeah, I think everyone
would get super lost.

00:08:47.716 --> 00:08:48.206
CJ: Yeah.

00:08:50.062 --> 00:08:50.542
Cool.

00:08:50.592 --> 00:08:55.987
Colin, at Rails Comp this year
did a talk about build versus buy,

00:08:56.467 --> 00:09:01.633
and a lot of it was around sort
of  stuff at your current role.

00:09:01.919 --> 00:09:06.530
But yeah, just kind of curious like
Where we should start and maybe we can

00:09:06.530 --> 00:09:11.090
like set the stage and talk about what
the difference is or maybe kind of

00:09:11.090 --> 00:09:13.310
like who might be making this decision.

00:09:13.640 --> 00:09:16.430
Colin: Yeah, I mean my, the talk
that I did was specifically like

00:09:16.430 --> 00:09:19.700
build versus buy on rails, which
we can talk about in a little bit.

00:09:19.994 --> 00:09:23.410
That one was kind of funny cuz I was
like, is this resy enough for rails comp?

00:09:23.410 --> 00:09:27.340
But I think, you know, I, I did
pretty good justice there because

00:09:27.370 --> 00:09:30.580
it is a decision that everyone
will eventually have to make.

00:09:30.940 --> 00:09:32.500
And it might not mean that you're physic.

00:09:32.955 --> 00:09:36.397
Taking your wallet out and buying
something, it might mean using  an open

00:09:36.397 --> 00:09:41.294
source library or a gem or, you know,
whatever  modules are in your language.

00:09:41.294 --> 00:09:44.954
But to kind of set that stage, it's
any time that you can think about

00:09:44.954 --> 00:09:46.844
building something from scratch or.

00:09:47.260 --> 00:09:49.408
Buying something, using
something off the shelf.

00:09:49.468 --> 00:09:53.158
Or I would say the third pillar
would be inter implementing

00:09:53.158 --> 00:09:54.598
something from off the shelf, right?

00:09:54.603 --> 00:09:57.778
So you might use something off the
shelf or buy something, but you

00:09:57.778 --> 00:10:01.588
still have to build to it or, you
know, implement it into your system.

00:10:01.588 --> 00:10:06.328
So build versus buy kind of simplifies it
where it's like something like Zapier is

00:10:06.328 --> 00:10:09.268
something you're buying and you don't have
to necessarily write any code for that.

00:10:10.268 --> 00:10:12.038
But you know, is it enough?

00:10:12.068 --> 00:10:14.618
I would say like in the topic
of integration, some companies

00:10:14.618 --> 00:10:17.078
just say we have Zapier, right?

00:10:17.078 --> 00:10:20.708
And in some cases that means that they did
have to do some work to build to Zapier.

00:10:20.965 --> 00:10:22.086
But they did that once.

00:10:22.146 --> 00:10:25.026
And now Zapier's gonna build
all the integrations points.

00:10:25.416 --> 00:10:29.136
And for some companies, you know,
like an indie company might love to

00:10:29.136 --> 00:10:32.286
do that in indie, customers might
love that, but an enterprise company,

00:10:33.006 --> 00:10:36.726
You know, saying like, Here, go use
Zapier probably isn't gonna work.

00:10:36.726 --> 00:10:39.652
And so that's where that
starts to evolve a little bit.

00:10:39.891 --> 00:10:40.236
But yeah.

00:10:40.236 --> 00:10:43.566
Has this kind of come up for you in
your work or like the decision in

00:10:43.566 --> 00:10:45.726
your role, or how does that come for

00:10:45.821 --> 00:10:49.423
CJ: I mean over, over the years I've
definitely  run into this a bunch

00:10:49.423 --> 00:10:53.623
of times where, I mean, probably the
earliest instance I can remember was.

00:10:54.010 --> 00:10:56.710
Trying, just trying to save
money on little side project

00:10:56.710 --> 00:10:59.170
ideas that I was building myself.

00:10:59.170 --> 00:11:04.282
Like  I was spending a ton of money on
Heroku and so I was like, Hey, I bet I

00:11:04.282 --> 00:11:07.432
could use a digital ocean droplet for way.

00:11:07.754 --> 00:11:12.992
Less money if I can just build some of
this stuff myself with open source tools

00:11:12.992 --> 00:11:16.172
like Engine X and whatever other stuff.

00:11:16.172 --> 00:11:19.082
And it ended up being like a giant
pain and it was totally worth

00:11:19.082 --> 00:11:22.292
just spending the money on Heroku
for hosting instead of trying to

00:11:22.292 --> 00:11:24.582
build all the like, infra myself.

00:11:24.815 --> 00:11:26.655
Colin: Yeah, so you had
a trade off there then.

00:11:27.340 --> 00:11:27.970
CJ: Absolutely.

00:11:27.970 --> 00:11:28.150
Yeah.

00:11:28.150 --> 00:11:30.070
There's always gonna be a trade off and.

00:11:30.206 --> 00:11:31.376
It's really hard.

00:11:31.376 --> 00:11:35.726
I think, I don't know, it's, it's really
hard for me personally to not build

00:11:35.726 --> 00:11:39.836
something , and so right now I am.

00:11:40.094 --> 00:11:42.644
Thinking through my content
process, for instance, right?

00:11:42.644 --> 00:11:47.474
Like if I'm, once I make a video,
I want to transcribe the video, I

00:11:47.474 --> 00:11:52.364
want to use that transcription with
open AI to generate tweets and video

00:11:52.364 --> 00:11:57.374
descriptions and titles, and then
I want that to pipe into TikTok and

00:11:57.494 --> 00:11:58.874
all these other social media things.

00:11:58.874 --> 00:12:01.228
And I wanted to  track the
analytics for all of that.

00:12:01.228 --> 00:12:03.718
And so my immediate first.

00:12:03.915 --> 00:12:06.825
Reaction as an engineer is
like, Okay, I can go build this.

00:12:07.365 --> 00:12:13.935
But in reality, what I'm now, like
literally today, setting up is air table

00:12:14.265 --> 00:12:18.015
so that I can just use a bunch of tools
that are already built in to air table.

00:12:18.015 --> 00:12:20.145
It's like this, no code
off the shelf thing.

00:12:20.205 --> 00:12:24.195
Maybe I pay 10 bucks a month, but
now I don't have to maintain my own

00:12:24.200 --> 00:12:29.565
hosted Heroku Frankenstein of like,
Okay, here's my video workflow.

00:12:29.565 --> 00:12:30.045
So,

00:12:30.315 --> 00:12:30.765
Colin: Right?

00:12:31.056 --> 00:12:31.416
Yeah.

00:12:31.416 --> 00:12:34.566
I think what you touched on there a
little bit is what some people have

00:12:34.571 --> 00:12:39.846
called like not invented hair syndrome,
and as engineers, we really do enjoy

00:12:40.166 --> 00:12:41.606
building things and it's very easy.

00:12:41.869 --> 00:12:45.079
To trivialize how easy
something will be, right?

00:12:45.079 --> 00:12:47.996
You're like, Oh, I can do this
in a weekend and it's gonna be

00:12:47.996 --> 00:12:49.376
worth saving all this stuff.

00:12:49.376 --> 00:12:52.916
But you, you don't have the
knowledge of everyone who's come

00:12:52.916 --> 00:12:55.016
before you who has tried to do that.

00:12:55.339 --> 00:12:59.740
And it almost always, You know, I,
this is even in building features.

00:12:59.980 --> 00:13:04.150
Like I try not to ever say that will
be easy, like ever because there are

00:13:04.150 --> 00:13:08.230
edge cases and gotchas that, you know,
even sending an email, it's like,

00:13:08.260 --> 00:13:10.630
Oh, I can just do SMTP by myself.

00:13:10.630 --> 00:13:12.640
But like Send Grid exists for a reason.

00:13:12.900 --> 00:13:13.510
CJ: Mm-hmm.

00:13:14.020 --> 00:13:16.540
Colin: There are issues with
deliverability and there are issues

00:13:16.540 --> 00:13:19.180
with like even just making sure
an email address is a real email

00:13:19.180 --> 00:13:20.792
address before the email goes out.

00:13:21.099 --> 00:13:22.823
You end up paying for
and it's a trade off.

00:13:22.823 --> 00:13:26.633
But if you try to do all of sun grid
yourself, that's when I start to

00:13:26.633 --> 00:13:29.033
argue like, Should you be doing that?

00:13:29.543 --> 00:13:32.783
CJ: There's a funny story that I
heard when I was working at this

00:13:32.783 --> 00:13:36.833
robotics company a long time ago, and
it was a, a story about a monorail.

00:13:36.923 --> 00:13:41.063
And so there's like some airport and
the problem they were trying to fix

00:13:41.063 --> 00:13:44.213
was like, Oh, we don't have enough
parking and so we're gonna build a

00:13:44.213 --> 00:13:46.223
parking structure like really far away.

00:13:46.733 --> 00:13:50.082
And then  you know, oh gosh, how
are we gonna get the people from the

00:13:50.082 --> 00:13:51.822
parking structure to the airport?

00:13:52.152 --> 00:13:53.502
And so they.

00:13:54.102 --> 00:13:57.792
Instead of just being like, Oh, let's
make like a road and use buses, and

00:13:57.792 --> 00:13:59.442
we'll just like buy a bunch of buses.

00:13:59.712 --> 00:14:02.262
They're like, Oh, immediately
we're gonna overengineer this

00:14:02.262 --> 00:14:03.702
and build our own monorail.

00:14:03.972 --> 00:14:06.642
That's gonna be like super epic, and
it's gonna have all these bells and

00:14:06.642 --> 00:14:10.512
whistles and there it'll be unmanned
and automated and all this stuff.

00:14:10.517 --> 00:14:14.948
So, you know, like  I don't, it,
it's, it's a really good story when

00:14:14.948 --> 00:14:18.518
you're thinking to yourself, Should
I build this as an engineer and be

00:14:18.518 --> 00:14:19.988
like, Okay, is this a monorail like

00:14:20.423 --> 00:14:20.693
Colin: Yeah.

00:14:20.693 --> 00:14:22.193
Am I building a monorail right now?

00:14:22.328 --> 00:14:22.718
CJ: Right.

00:14:22.718 --> 00:14:22.958
Yeah.

00:14:23.350 --> 00:14:25.450
Colin: Especially relevant
if you're using rails.

00:14:25.580 --> 00:14:26.070
CJ: Yeah.

00:14:27.900 --> 00:14:28.830
. I didn't think about that.

00:14:29.095 --> 00:14:32.841
Colin: Yeah, I think  I saw someone in
the community was tweeting about how

00:14:32.841 --> 00:14:37.641
we should have a hackathon on a train,
and I swear I've seen this before, but

00:14:37.641 --> 00:14:39.081
they were like, Let's do rails on rails.

00:14:39.086 --> 00:14:40.521
And I was like, I swear this is a thing.

00:14:40.521 --> 00:14:44.841
Like I think there was a caboose comp
for something like that one year that

00:14:44.841 --> 00:14:49.341
was like a conference after Rails
Comp, which was like super hilarious.

00:14:49.671 --> 00:14:53.170
But like, I would do a rails
on rails like sign me up.

00:14:53.441 --> 00:14:58.082
CJ: I think the maybe combining rails
on ails, like the beer conference,

00:14:58.082 --> 00:14:59.972
like rails on ails, on rails, like

00:15:00.167 --> 00:15:02.237
Colin: Yeah, we stopped at
micro bruise along the way.

00:15:02.492 --> 00:15:03.392
CJ: Yeah, exactly.

00:15:03.716 --> 00:15:08.111
Colin: Yeah, I mean, It has to
be on a monorail and majestic.

00:15:08.201 --> 00:15:09.491
Majestic monorail, right?

00:15:09.772 --> 00:15:12.332
That's gonna be the new
Monorepo is a, is a monorail.

00:15:12.649 --> 00:15:16.969
But I, I see this a lot at companies,
especially for engineers who don't

00:15:16.974 --> 00:15:20.929
talk to customers or aren't in touch
with the business side of things.

00:15:20.959 --> 00:15:22.549
It's very easy.

00:15:23.089 --> 00:15:24.529
You know, build stuff.

00:15:24.589 --> 00:15:28.540
And  the thing that, that I've really
come to, and you see this on like the

00:15:28.540 --> 00:15:33.070
more indie hackers side of things too,
is like you as a business, you have

00:15:33.070 --> 00:15:37.330
an infinite or so, you have a finite
amount of time and capital probably.

00:15:37.600 --> 00:15:41.110
So like your time, a developer's time,
if you're hiring someone to build

00:15:41.110 --> 00:15:45.370
something, you have an in, like a
limited amount of money to spend on it.

00:15:45.610 --> 00:15:48.550
And you really in general have a
limited amount of time to prove.

00:15:49.230 --> 00:15:52.620
Like a thesis, you know, you're
building something that may or

00:15:52.620 --> 00:15:54.970
may not be what a customer wants.

00:15:55.278 --> 00:15:58.169
And so what you really have
to think about is should this

00:15:58.169 --> 00:15:59.909
be a core competency of yours?

00:15:59.909 --> 00:16:03.479
Like, should I be doing all
of my own payment rails?

00:16:03.749 --> 00:16:07.409
Should I be doing all my
own Twilio, like SMS stuff?

00:16:07.712 --> 00:16:11.054
Or I guess the other way to
phrase it, like, is this what

00:16:11.054 --> 00:16:12.524
a customer's hiring us for?

00:16:12.554 --> 00:16:12.794
Right?

00:16:12.794 --> 00:16:14.564
Like if your tool.

00:16:15.159 --> 00:16:20.109
Is for like in the case of orbit,
managing a community, but then we do

00:16:20.109 --> 00:16:21.759
like 10 other things on top of it.

00:16:21.789 --> 00:16:26.889
Well, it's like maybe we need a few of
those 10 things, and so it makes sense

00:16:26.889 --> 00:16:30.799
to do, use a gem or use an open source
library for those kinds of things.

00:16:31.439 --> 00:16:36.629
Whereas the core competency of ingesting
events and identifying members and

00:16:36.629 --> 00:16:39.959
that stuff should be like our core
competency is thinking about like

00:16:39.959 --> 00:16:41.939
what your unique value proposition is.

00:16:41.939 --> 00:16:46.199
And so again, like if you're not an
email company, probably don't send, don't

00:16:46.204 --> 00:16:47.909
try to be the best at sending emails.

00:16:47.914 --> 00:16:49.499
Let's send Grid do that for you.

00:16:49.540 --> 00:16:53.170
I think Stripe is really interesting
place cuz most people can't go

00:16:53.170 --> 00:16:54.820
build their own payment rails.

00:16:54.820 --> 00:16:57.940
So it's like a really defensible
thing to be honest too.

00:16:57.940 --> 00:16:58.180
Right?

00:16:58.180 --> 00:17:01.810
Like if you're building a company or
you're working at a company and you

00:17:01.810 --> 00:17:05.680
are this engineer, like I sometimes,
you know, I, we don't yet know if this

00:17:05.680 --> 00:17:10.240
audience for Build and Learn is engineers
at a company or Indy founders, right?

00:17:11.085 --> 00:17:15.465
You want to think about what's defensible,
and if spending a whole month on building

00:17:15.465 --> 00:17:19.125
the most amazing reporting engine
is what you do, but then you have no

00:17:19.125 --> 00:17:24.015
customers for your main product, that's
probably gonna be a bad use of your time.

00:17:24.015 --> 00:17:28.215
And so looking at some of these, like
drop in report builders or drop in

00:17:28.220 --> 00:17:33.345
query builders, or even an output to
air table, right, might be the answer.

00:17:33.709 --> 00:17:39.301
CJ: Yeah, I think the point you made
about having a finite set of money

00:17:39.301 --> 00:17:44.491
and time is really interesting because
I think the amount of money you have

00:17:44.671 --> 00:17:47.431
also influences your decisions a lot.

00:17:47.431 --> 00:17:50.851
Like if you are a startup that
has zero money and you're just by

00:17:50.851 --> 00:17:55.593
yourself and you have a lot of time,
then you know it might make sense to

00:17:55.593 --> 00:17:58.893
save a little bit of cash to build.

00:17:59.628 --> 00:18:00.468
A few things.

00:18:00.468 --> 00:18:04.758
Whereas if you have, if you just raised
like a hundred million round and you are,

00:18:04.938 --> 00:18:08.178
you have like, I don't know, 10 years
of runway or something really great,

00:18:08.178 --> 00:18:12.768
then maybe you're at a point where you
can buy, Or even like, I guess, yeah,

00:18:12.768 --> 00:18:16.308
if, if you like zoom out a little bit,
now you're talking about like buying

00:18:16.313 --> 00:18:21.018
potentially even like competitors or
acquiring other companies in addition

00:18:21.018 --> 00:18:24.798
to just like buying software or paying
for software that you want to use.

00:18:24.798 --> 00:18:27.708
So yeah, I guess that that
gets really interesting.

00:18:27.948 --> 00:18:31.608
Colin: You may also not be able to hire
the people that you think you can hire.

00:18:31.608 --> 00:18:35.178
And so it's like, okay, do we wanna
hire, In our case, when we think about

00:18:35.178 --> 00:18:39.618
integrations, When you think about
build versus buying integrations,

00:18:39.858 --> 00:18:45.278
it's a very, very large  iceberg
of problems that are below the

00:18:45.278 --> 00:18:46.928
surface when you build integrations.

00:18:47.318 --> 00:18:50.138
And so you need to have a
purpose built team for it.

00:18:50.138 --> 00:18:52.598
They need to be care and fed
for after you build them, right?

00:18:52.598 --> 00:18:55.508
Maintenance is something we haven't really
talked about yet, but once you bring it

00:18:55.508 --> 00:18:57.878
into the world, it doesn't just exist.

00:18:57.878 --> 00:18:58.748
You gotta take care of it.

00:18:58.748 --> 00:18:59.612
You gotta maintain it.

00:18:59.816 --> 00:19:03.668
.  But you may not when you're first starting
out, and you may not have, like, maybe

00:19:03.668 --> 00:19:07.838
you're an indie hacker that's getting
started on your own and you don't have

00:19:07.868 --> 00:19:11.314
the dollars, but you have the time   maybe
you're a founder who's not a developer,

00:19:11.314 --> 00:19:16.680
you may not be able to hire a developer
and so you might need to pay for  an

00:19:16.680 --> 00:19:20.627
integration platform or  you know,
even hire a contractor temporarily to

00:19:20.627 --> 00:19:22.427
get you to that integration platform.

00:19:22.667 --> 00:19:25.247
And then that person, you know, is
gonna teach you what you need to

00:19:25.252 --> 00:19:26.867
know just to maintain it or whatever.

00:19:27.812 --> 00:19:30.812
It's a trade off of
time and money for sure.

00:19:31.052 --> 00:19:33.807
And you bring up a good point,
like I do see  I think a lot of

00:19:33.807 --> 00:19:36.747
people in the reverse side of that,
like they might raise a lot of.

00:19:37.482 --> 00:19:40.422
Build a whole team and then also
build everything from scratch.

00:19:40.962 --> 00:19:43.962
And now you're like moving pretty
slowly because everyone's building

00:19:44.262 --> 00:19:46.332
and reinventing the wheel again.

00:19:46.782 --> 00:19:49.302
Whereas things like email, I'll
just keep coming back to that.

00:19:49.302 --> 00:19:50.622
It's like, that's a solves problem.

00:19:50.892 --> 00:19:54.492
Let's not figure out how to
send emails all over again.

00:19:54.771 --> 00:19:58.251
And figure out again, what kind of
no code or like, really, I think the

00:19:58.251 --> 00:20:02.541
guiding principle for a PM or, or
even an engineer would be to speak

00:20:02.546 --> 00:20:06.731
up if you think like, This, You know,
a customer at the end of the day is

00:20:06.731 --> 00:20:10.241
not gonna be like, Wow, I really am
glad I use Stripe for their reports.

00:20:10.751 --> 00:20:11.051
Right.

00:20:12.371 --> 00:20:12.641
, Right.

00:20:12.641 --> 00:20:15.341
Or like, Oh yeah, Stripe really
sends those emails really well.

00:20:15.341 --> 00:20:17.951
Like, that's not what people remember.

00:20:18.161 --> 00:20:18.491
Sure.

00:20:18.491 --> 00:20:21.521
It's important that the emails get
there and the reports are there,

00:20:21.526 --> 00:20:25.871
but they're not, you know, as
worried about where those came.

00:20:26.661 --> 00:20:27.171
CJ: right?

00:20:27.201 --> 00:20:27.681
Yeah.

00:20:27.921 --> 00:20:30.471
Would you like, I, I guess I'm,
I'm wondering if there's like a

00:20:30.471 --> 00:20:36.991
rule of thumb here, and I'm also
nervous by the possible answer being.

00:20:37.881 --> 00:20:40.941
Default to always buy because
that doesn't sound fun to me.

00:20:41.386 --> 00:20:46.611
. But like I wonder if the answer is like,
by default, you should probably hire some

00:20:46.611 --> 00:20:52.851
SAS to do a job for you, unless it is
like the unique thing that you're building

00:20:52.851 --> 00:20:54.451
and you should buy everything else.

00:20:54.736 --> 00:20:57.674
Colin: That's interesting
thought experiment because.

00:20:58.664 --> 00:21:01.334
In our case we did for
building integrations.

00:21:01.334 --> 00:21:03.074
We'll give a real use case here.

00:21:03.584 --> 00:21:07.824
We have integrations to like
four community tools  or four

00:21:07.824 --> 00:21:12.174
or five when we started like
GitHub, Slack discourse, discord.

00:21:13.029 --> 00:21:17.769
There was something else in there and
we knew that we built all those by hand.

00:21:17.829 --> 00:21:22.402
So that was, we started off with
built and to get to the next 20.

00:21:22.678 --> 00:21:25.168
We were looking at whether
or not we pay for these.

00:21:25.173 --> 00:21:29.534
There's now services that are like a
integrations like Stripe  type platform.

00:21:29.834 --> 00:21:31.454
And so we evaluated a lot of them.

00:21:31.514 --> 00:21:34.514
They still were gonna require
a lot of work on our end.

00:21:34.514 --> 00:21:38.654
Like you're building to their APIs,
you're building them into your product.

00:21:38.904 --> 00:21:40.314
Can you switch away from them?

00:21:40.314 --> 00:21:41.934
Switching costs is gonna be an issue.

00:21:42.210 --> 00:21:45.210
Theoretically, they're all like,
Yeah, you could leave at any time.

00:21:45.210 --> 00:21:48.090
It's like, well, once people have
authenticated with us, there's

00:21:48.090 --> 00:21:49.080
no way that they're leaving.

00:21:49.080 --> 00:21:51.600
Like, we can't just make everybody re off.

00:21:51.890 --> 00:21:54.920
So it became a situation
where like the, the.

00:21:55.430 --> 00:21:59.156
Spoiler here is that we went with
built, and what we did though is that

00:21:59.156 --> 00:22:02.396
we decided to look at all the five
integrations that we had already built,

00:22:02.846 --> 00:22:07.376
and we came up with the common framework
amongst them, and then we then were

00:22:07.376 --> 00:22:10.946
able to build, I think we now have,
it took us like a year to build five,

00:22:10.951 --> 00:22:15.296
and now we have in like six months,
another 10 because of that framework.

00:22:15.296 --> 00:22:19.691
And that framework was not,
You know, it was very mvp.

00:22:19.811 --> 00:22:22.601
It was, we've been adding to it
as we add each new integration

00:22:22.601 --> 00:22:24.251
that has like a little edge case.

00:22:24.461 --> 00:22:27.476
And again, like every one of
these is like, Oh, of course  this

00:22:27.481 --> 00:22:31.242
company has decided that OWA works
this way  And so you're almost

00:22:31.247 --> 00:22:32.202
trying to create this standard.

00:22:32.202 --> 00:22:36.852
And the issue is, I think like IBM
has this old ad of like the universal

00:22:36.852 --> 00:22:40.662
business connector and it's like a
giant plug and it's got every plug on

00:22:40.662 --> 00:22:42.852
it and like that thing doesn't exist.

00:22:43.160 --> 00:22:47.060
.  But in the same vein of this conversation,
there's this phrase in the industry

00:22:47.060 --> 00:22:52.460
called no one ever got fired for
hiring IBM or paying for ibm, right?

00:22:52.465 --> 00:22:56.810
Is that like, if you choose to do build
and it's wrong, oftentimes people lose

00:22:56.810 --> 00:23:00.525
their job  or the company lost a lot
of money, or they just lost a lot of

00:23:00.555 --> 00:23:02.595
time and they still could go back and.

00:23:03.575 --> 00:23:03.770
, Right?

00:23:03.830 --> 00:23:06.980
It, or in some cases I've
seen people will do both.

00:23:07.430 --> 00:23:10.460
They will build and they will buy,
and then they'll pit them against each

00:23:10.460 --> 00:23:14.469
other, and then you can keep moving
forward with whichever one wins.

00:23:14.739 --> 00:23:17.889
And maybe you decide that they both
win and you keep both of 'em in there

00:23:17.889 --> 00:23:19.329
and they make you go faster that way.

00:23:19.573 --> 00:23:23.473
CJ: That again, comes back to that
default, should you default to buy.

00:23:23.863 --> 00:23:28.843
And I'm also trying to think about
like, have I ever regretted buying.

00:23:29.593 --> 00:23:31.783
Something instead of building it.

00:23:31.813 --> 00:23:36.793
And I don't think I can think of a single
instance, but I can definitely think of a

00:23:36.793 --> 00:23:41.773
bunch of stuff where I built my own hacky
thing and it was fragile and broke all the

00:23:41.773 --> 00:23:44.443
time, and I was super frustrated with it.

00:23:44.443 --> 00:23:46.963
And then ultimately at the
end of the day, just like, you

00:23:46.968 --> 00:23:48.253
know, threw it away or whatever.

00:23:48.283 --> 00:23:48.793
So

00:23:49.783 --> 00:23:50.443
Colin: That's interesting.

00:23:50.443 --> 00:23:53.113
So like how much of that
was like a maintenance over.

00:23:53.449 --> 00:23:55.279
CJ: A huge part of it
is maintenance overhead.

00:23:55.471 --> 00:24:00.871
Colin: Like, think about Heroku, like what
you get for a paid Dino is a DevOps team

00:24:01.231 --> 00:24:03.751
and deployment and simple tools, right?

00:24:04.591 --> 00:24:09.056
There have been things, there's a
tool  something called Doku, D O K U.

00:24:09.566 --> 00:24:14.396
It is a docker version of Heroku
that you can spin up on your own box.

00:24:15.581 --> 00:24:20.161
To call it a direct replacement though,
like it doesn't have, I think I, I

00:24:20.166 --> 00:24:23.711
don't know if it might now, but like
rollbacks and like all these features

00:24:23.711 --> 00:24:25.470
that, that Heroku has added over time.

00:24:25.702 --> 00:24:30.698
And you just couldn't, like, as a,
especially as a single developer,

00:24:30.698 --> 00:24:33.818
like you couldn't get that much
power even if you did build it right?

00:24:33.848 --> 00:24:36.698
It's like if you do that, you're
not building the thing you set

00:24:36.698 --> 00:24:38.048
out to build in the first place.

00:24:38.378 --> 00:24:40.688
You're now building a
Heroku competitor instead.

00:24:41.333 --> 00:24:41.783
CJ: Right.

00:24:41.788 --> 00:24:42.143
Yeah.

00:24:42.143 --> 00:24:44.993
And if you, if you think about
like a lot of these other companies

00:24:44.993 --> 00:24:49.253
like Versace or Super Base or Yeah.

00:24:49.283 --> 00:24:53.243
Like where they're enabling you to do
things that you wouldn't have been able

00:24:53.248 --> 00:24:58.689
to do before, like deploying all these
things to the edge and  you know, like

00:24:58.839 --> 00:25:03.369
having all kinds of automated systems
for managing all of your assets for you,

00:25:03.369 --> 00:25:06.759
your images and whatever, like there.

00:25:07.219 --> 00:25:12.349
Yeah, I, I think the gap between host it
yourself, just like spin up and like your

00:25:12.349 --> 00:25:16.249
own thing on Amazon and host it yourself,
like that is starting to go away, right?

00:25:16.249 --> 00:25:21.499
Like there's all of these porcelain
beautiful solutions on top of AWS that

00:25:21.499 --> 00:25:25.879
take away so much of the work that you
would otherwise have to do to build up all

00:25:25.879 --> 00:25:28.559
of your own infrastructure inside of aws.

00:25:28.564 --> 00:25:33.559
That for me, that seems like the
best example is like, don't use, I

00:25:33.559 --> 00:25:39.535
don't know, in, in my experience, I
don't think I  Should build on aws.

00:25:39.565 --> 00:25:42.115
Instead, I should always just buy
something that is going to give

00:25:42.115 --> 00:25:45.715
me like a nicer interface into
AWS and do other things for me.

00:25:46.075 --> 00:25:51.175
Especially because it's, it's like even,
even these layers, these thin layers

00:25:51.175 --> 00:25:56.305
like Heroku cell, nullify, whatever, they
themselves are also being commoditized.

00:25:56.365 --> 00:26:00.355
Like they're not that much more expensive
than just doing it directly on aws.

00:26:00.355 --> 00:26:05.215
And so sure they can take a sliver of
my tiny little startup, but like at the

00:26:05.215 --> 00:26:06.775
end of the day, that doesn't matter.

00:26:07.195 --> 00:26:07.685
A ton,

00:26:07.945 --> 00:26:10.135
Colin: Well, and they're counting
on you getting big, right?

00:26:10.135 --> 00:26:13.825
So they want to give you credit, they
want to give you a free site on Netlify,

00:26:13.825 --> 00:26:17.605
and they hope that you need their,
you know, whatever their paid services

00:26:17.605 --> 00:26:20.525
are once you like get to that scale.

00:26:20.761 --> 00:26:23.371
This kind of brings up this
concept of innovation tokens.

00:26:23.371 --> 00:26:24.631
Have you seen this blog post?

00:26:24.946 --> 00:26:26.566
I'll have to find it and
put in the show notes.

00:26:26.576 --> 00:26:27.476
CJ: I don't think so.

00:26:27.476 --> 00:26:27.626
Yeah.

00:26:27.626 --> 00:26:28.026
What is.

00:26:28.486 --> 00:26:32.101
Colin: So this is essentially
like, Let's just pretend that

00:26:32.101 --> 00:26:34.981
you only have three innovation
tokens and you wanna spend them.

00:26:34.981 --> 00:26:39.227
You don't get to  build your
own database from scratch, Write

00:26:39.227 --> 00:26:40.397
your own programming language.

00:26:40.457 --> 00:26:44.447
And some the third thing, like you get
three things that are novel and new,

00:26:44.777 --> 00:26:46.007
but you can't spend them on everything.

00:26:46.007 --> 00:26:50.066
And this is where I think you see some
startups today, like  Jason Warner

00:26:50.186 --> 00:26:53.606
previously of GitHub, he's, he's been
pretty public about like, if you're

00:26:53.606 --> 00:26:56.846
a series a company and you're using
Kubernetes, like you probably have built

00:26:56.846 --> 00:26:58.346
that monorail that you were talking about.

00:26:58.351 --> 00:27:04.076
Like you probably have created complexity
for yourself that is not needed, right?

00:27:04.081 --> 00:27:09.476
Like, why are you using Kubernetes
when Rails on Heroku should be

00:27:09.476 --> 00:27:12.986
able to get you to product market
fit and customers paying you?

00:27:13.481 --> 00:27:16.301
It's like, Oh, now our
API can't handle it.

00:27:16.301 --> 00:27:21.101
So maybe now it makes sense to go to AWS
because the traffic through Heroku like,

00:27:21.431 --> 00:27:24.101
We'll just give a 32nd time out on Heroku.

00:27:24.161 --> 00:27:25.601
That's a problem for some people, right?

00:27:25.601 --> 00:27:26.471
And it's like, well, why?

00:27:26.501 --> 00:27:29.441
Why is our API taking 30 seconds
to return in the first place?

00:27:29.441 --> 00:27:33.851
It's probably a better question,
but like it, there's a point at

00:27:33.851 --> 00:27:37.091
which it makes sense to go down
to the rail, like the literal bare

00:27:37.091 --> 00:27:39.371
metal of AWS or whatever that is.

00:27:39.619 --> 00:27:42.319
But in this case, it's like, okay,
we're gonna spend an innovation

00:27:42.319 --> 00:27:46.129
token on Kubernetes and we're
gonna go do microservices.

00:27:46.159 --> 00:27:47.779
It's like, okay, now we just spent two.

00:27:48.199 --> 00:27:51.182
And the complexity of the
code base is so out there.

00:27:51.580 --> 00:27:55.210
That now onboarding a new
developer's hard, knowing how

00:27:55.210 --> 00:27:56.710
to add a new feature is hard.

00:27:57.160 --> 00:28:00.190
And so you wanna make sure, and
I think that it's captured better

00:28:00.190 --> 00:28:02.380
in the blog post, so I'll, I'll
put that in the show notes.

00:28:02.385 --> 00:28:05.380
But it is just a good thing
where it's like, let's just

00:28:05.385 --> 00:28:06.820
say you do have five features.

00:28:06.820 --> 00:28:09.790
You can't reinvent the
wheel for all five of them.

00:28:09.880 --> 00:28:10.090
And.

00:28:10.335 --> 00:28:13.335
I would even argue maybe you don't
reinvent the wheel for any of them,

00:28:13.335 --> 00:28:15.975
like you said, like default to buy.

00:28:15.975 --> 00:28:19.305
Like, and again, buy doesn't
mean spending money here because

00:28:19.785 --> 00:28:21.975
you could go grab a gem, right?

00:28:21.980 --> 00:28:25.005
Like it doesn't make sense to
build your own markdown, Previewer.

00:28:25.590 --> 00:28:28.650
When there are 20 in Ruby alone, right?

00:28:28.650 --> 00:28:30.540
So like, let's go use one of those.

00:28:30.834 --> 00:28:33.337
Because again, like someone might wanna
use Markdown, but like, you're not

00:28:33.337 --> 00:28:35.227
a Mark unless you're a Markdown app.

00:28:35.287 --> 00:28:39.067
Like, then I would say maybe we should
make your own Parer, but like, only if

00:28:39.067 --> 00:28:41.047
there's a compelling reason to do that.

00:28:41.265 --> 00:28:44.184
CJ: I think  it's, it's been
interesting to see from the inside

00:28:44.184 --> 00:28:48.504
of Stripe how much stuff we've built
like ourselves instead of buying.

00:28:48.594 --> 00:28:51.204
A great example of that is Mark, Doc.

00:28:51.234 --> 00:28:55.944
I mean, when you mentioned markdown, like
this spring to mind, Mark Doc is this

00:28:55.944 --> 00:29:03.558
framework for authoring documentation that
that we built and it is a React framework.

00:29:04.473 --> 00:29:09.903
That allows you to author most of
your content in markdown files, and

00:29:09.903 --> 00:29:13.383
then you can build components with
React that you can then sort of

00:29:13.383 --> 00:29:14.823
sprinkle throughout your markdown.

00:29:16.443 --> 00:29:20.703
We found that like, okay, none of the
markdown things worked the way that we

00:29:20.703 --> 00:29:23.133
liked it, , and so we built it ourselves.

00:29:23.133 --> 00:29:26.373
And so there's, there's actually
like quite a few instances of

00:29:26.373 --> 00:29:30.423
that across the organization,
but that is a really massive,

00:29:30.423 --> 00:29:32.193
successful work that's doing that.

00:29:32.193 --> 00:29:35.943
And so I would say that most,
yeah, like most of the time

00:29:36.978 --> 00:29:38.388
Colin: Well, Stripe
didn't start with that,

00:29:39.003 --> 00:29:39.393
CJ: right.

00:29:39.558 --> 00:29:40.458
Colin: important to know.

00:29:40.998 --> 00:29:45.548
You get you like, when I think about this
article and I just pulled it up  they

00:29:45.548 --> 00:29:50.258
talk about choosing boring technologies
and embracing boredom, and that means

00:29:50.258 --> 00:29:51.998
like maintenance and all these things.

00:29:51.998 --> 00:29:56.918
It's like the more things you add, it's
going to become more intense to maintain.

00:29:56.918 --> 00:30:01.101
But in the case of Mark Docs, Stripe
has kind of always been known as

00:30:01.131 --> 00:30:04.821
like having great docs as marketing
and great developer experience.

00:30:05.151 --> 00:30:09.171
I'm sure if we go far enough back in the
way back machine, like it probably wasn't

00:30:09.176 --> 00:30:13.371
always that way when it was like slash
dev slash payments or whatever, right?

00:30:13.371 --> 00:30:17.901
Like you probably could find a doc
site that feels like any startup

00:30:17.901 --> 00:30:21.531
today, but they chose to make that
a differentiator and that's where.

00:30:22.041 --> 00:30:25.371
Is this our core competency and
is it our unique value proposition

00:30:25.371 --> 00:30:28.191
comes back in because they're
like, Okay, people love our docs.

00:30:28.191 --> 00:30:34.491
Now how can we make our docs process
better for us as a team to make that

00:30:34.496 --> 00:30:36.741
continually better for the customer?

00:30:37.191 --> 00:30:38.151
That one makes sense.

00:30:38.151 --> 00:30:39.621
And it's kind of a mote, right?

00:30:39.621 --> 00:30:42.891
Like we won't mention names, but like
there's some other companies that

00:30:42.891 --> 00:30:46.551
don't have really great docs that
accomplish similar things, right?

00:30:46.551 --> 00:30:48.891
So that becomes a really important thing.

00:30:48.891 --> 00:30:50.121
And you do see c.

00:30:50.871 --> 00:30:54.111
There's literally a company that
builds itself as Stripe Docs

00:30:54.111 --> 00:30:56.721
as a service from Y Combinator.

00:30:56.721 --> 00:30:56.931
Right.

00:30:56.931 --> 00:30:57.981
And so it's like, yeah.

00:30:57.981 --> 00:31:00.591
And it, it's almost, it looks
identical to Stripe Docs.

00:31:00.591 --> 00:31:03.861
I'm like, well, I don't really
want strip docs as much as I

00:31:03.861 --> 00:31:06.111
want good docs that are my own.

00:31:06.141 --> 00:31:08.183
But  it's still a cool idea.

00:31:08.183 --> 00:31:11.903
And the fact that a whole company
now exists similarly to don't

00:31:11.903 --> 00:31:16.043
do your own email, like at orbit
we're like revamping our api.

00:31:16.688 --> 00:31:20.018
And we made that decision like
we are going to revamp the api.

00:31:20.018 --> 00:31:24.668
We are not throwing away all the
tools that we use to do the docs

00:31:24.668 --> 00:31:27.608
and the API and all of that because
like we already know them, so let's

00:31:27.608 --> 00:31:29.378
just use them and maybe use them.

00:31:30.218 --> 00:31:35.678
10% more, like there's 10% more features
in these tools, like R Swag and swagger

00:31:35.678 --> 00:31:39.488
and all this stuff that we just aren't
using that could make our docs better

00:31:39.848 --> 00:31:44.468
instead of like, we're not gonna go build
our own static site generator and like

00:31:44.528 --> 00:31:48.878
we could implement Mark Docs, but like,
it's, it's a new, it's an innovation token

00:31:48.878 --> 00:31:50.678
for us that we probably shouldn't spend.

00:31:51.218 --> 00:31:56.719
Maybe when we're profitable and the
docs are a clear value provider,

00:31:56.719 --> 00:31:58.369
then it would make sense to do that.

00:31:59.299 --> 00:32:06.859
CJ: So I am now I'm wondering, I remember
playing around with the API reference

00:32:06.859 --> 00:32:10.669
for Orbit and you can kind of like
enter in fields and test out requests.

00:32:11.824 --> 00:32:14.584
Is that something that you
bought or something you built?

00:32:14.584 --> 00:32:15.904
Is that open source?

00:32:16.129 --> 00:32:17.149
Colin: That is something we bought.

00:32:17.154 --> 00:32:17.299
Yeah.

00:32:17.299 --> 00:32:19.879
So we use readme.io for our docs.

00:32:20.199 --> 00:32:21.189
CJ: The YC company, right?

00:32:21.459 --> 00:32:22.329
readme.io, Yeah.

00:32:22.494 --> 00:32:24.654
Colin: Or even read it
might even be readme.com now

00:32:24.992 --> 00:32:25.425
CJ: Okay.

00:32:25.605 --> 00:32:25.815
Yeah.

00:32:25.815 --> 00:32:26.475
Stepping up in the

00:32:26.640 --> 00:32:27.403
Colin: stepping up.

00:32:27.629 --> 00:32:31.124
But I think that that IO domain signals
that you're a developer company, so you

00:32:31.364 --> 00:32:31.604
CJ: Yeah.

00:32:31.724 --> 00:32:32.204
Colin: keep it.

00:32:33.164 --> 00:32:35.954
CJ: I think I saw the,
they posted a hiring.

00:32:35.984 --> 00:32:39.563
They're also hiring  on like
the hacker News who's hiring

00:32:39.638 --> 00:32:42.428
Colin: If you love docs,
it's, it's a really cool tool.

00:32:42.433 --> 00:32:47.108
And I will admit, like I did go into
it with like, I hate our docs, like,

00:32:47.108 --> 00:32:51.908
because I didn't realize we weren't
using enough of readme's features.

00:32:52.088 --> 00:32:55.478
We weren't using enough of open
API features we weren't using.

00:32:56.048 --> 00:32:59.498
And then, so like in, in some cases
it was like, let's just re-look

00:32:59.498 --> 00:33:02.978
at the tools that we have and we
are paying for it, but it's also.

00:33:03.968 --> 00:33:06.668
I don't have to think about
where the docks get deployed.

00:33:07.208 --> 00:33:08.378
They just exist.

00:33:09.263 --> 00:33:12.833
You know, that also means like we also
wanna build out more of like what you

00:33:12.833 --> 00:33:17.483
guys have at Stripe with the more like
guides and tutorials and stuff so that

00:33:17.483 --> 00:33:19.313
people get a better sense of the concepts.

00:33:19.313 --> 00:33:20.873
And they do have that in Readme.

00:33:20.873 --> 00:33:21.893
We just don't use it.

00:33:22.403 --> 00:33:26.663
And so like we have a whole separate web
flow website that does that right now

00:33:26.783 --> 00:33:30.803
and like we're just gonna put it all in,
read me so that it's all in one place.

00:33:31.283 --> 00:33:31.913
And.

00:33:32.258 --> 00:33:37.148
Again, like we have to invest in writing
and copy and documentation, but we're

00:33:37.148 --> 00:33:42.308
not gonna blow an innovation token on,
you know, building a Jam Stack website

00:33:42.308 --> 00:33:46.448
and pulling in from yard docs and all
this stuff that we could pull in, but,

00:33:47.198 --> 00:33:50.918
CJ: So it seems like the takeaway
there is that if you are going to

00:33:50.918 --> 00:33:55.478
buy, it's worth investing in learning
about the thing that you bought.

00:33:55.748 --> 00:33:57.428
So that you can actually
take advantage of it.

00:33:57.428 --> 00:34:00.458
I think that's like where the
entire industry of customer

00:34:00.458 --> 00:34:01.958
success like came from.

00:34:02.378 --> 00:34:07.358
It was like, how do you make sure that
you increase the adoption of all the

00:34:07.358 --> 00:34:10.568
different features and the attach of
all different features for your product.

00:34:10.749 --> 00:34:13.149
So yeah, that's definitely something
to keep in mind, I guess, like.

00:34:13.839 --> 00:34:15.429
Colin: Well, I, I imagine like.

00:34:15.789 --> 00:34:19.059
If I was using one, like I signed
up for Stripe and I used the one

00:34:19.059 --> 00:34:21.669
thing that I cared about when
I joined, I may not be paying

00:34:21.669 --> 00:34:23.379
attention to all the other features.

00:34:23.769 --> 00:34:24.039
Right?

00:34:24.039 --> 00:34:26.589
And so that's where I think
CSMs can help and be like,

00:34:26.589 --> 00:34:27.789
Hey, we know you're using this.

00:34:27.789 --> 00:34:29.559
Did you also know you could do this?

00:34:30.039 --> 00:34:31.929
And your team is really
great at that, right?

00:34:31.929 --> 00:34:34.509
As you roll out these new beta
features and stuff, you're.

00:34:34.999 --> 00:34:37.789
Looking at who's using similar
features and saying, Hey, do

00:34:37.789 --> 00:34:39.409
you want this to be 10% better?

00:34:39.859 --> 00:34:41.059
Come check this thing out.

00:34:41.389 --> 00:34:44.389
And it almost always is like, this
is the thing we've been waiting for.

00:34:44.394 --> 00:34:45.559
Why hasn't strip do this?

00:34:45.559 --> 00:34:48.499
And it's like, Oh, here it is,
you know, for you to try out.

00:34:48.949 --> 00:34:55.279
And with Readme it was more of, I was
like, why can't I just write in here?

00:34:55.279 --> 00:34:59.897
Like we, we deployed to  Js o
and Js O gets ingested by Readme.

00:34:59.897 --> 00:35:03.257
And then that, and we'll do a whole
episode, I think, on docs for sure.

00:35:03.262 --> 00:35:03.437
But.

00:35:04.342 --> 00:35:09.262
Why can't I also put like written pros
in here to help developers understand

00:35:09.262 --> 00:35:14.212
and maybe even drop in a video or, you
know, a, a diagram because the open API

00:35:14.217 --> 00:35:16.642
spec, to my knowledge, doesn't have that.

00:35:17.182 --> 00:35:17.542
Right.

00:35:17.547 --> 00:35:19.762
And does that belong in the
code and all that stuff.

00:35:19.762 --> 00:35:22.732
But then I was like, Oh, read me, has an
editor right here, and if I write in here,

00:35:22.737 --> 00:35:24.712
it shows up above the generated stuff.

00:35:24.712 --> 00:35:28.132
So it's like, We, that was like a
light bulb, but also like, wow, how

00:35:28.132 --> 00:35:29.833
did we not know that this was here?

00:35:30.518 --> 00:35:33.128
In our case, maybe we
have a CSM with readme.

00:35:33.158 --> 00:35:36.368
I don't know, maybe we're not
paying them enough for that kind

00:35:36.373 --> 00:35:39.458
of attention, but like it's just
nice to like get into the tools.

00:35:39.458 --> 00:35:43.148
You have what you mentioned
about defaulting to buy.

00:35:43.208 --> 00:35:44.588
I think that's a smart thing.

00:35:44.588 --> 00:35:47.168
Like I would say definitely
don't default to build.

00:35:47.588 --> 00:35:49.238
At least go get a spreadsheet.

00:35:49.688 --> 00:35:53.318
Do a little column, pretend you're
buying a car, you know, and figure out

00:35:53.318 --> 00:35:57.518
like, if I do this, if I do this, if
I do this, And I would also ask like,

00:35:57.548 --> 00:35:59.888
what would, what, what could go wrong?

00:35:59.918 --> 00:36:02.588
Like if this, if we get this wrong.

00:36:03.398 --> 00:36:05.228
Is it the end of the company?

00:36:05.228 --> 00:36:06.848
Is it, am I gonna get fired?

00:36:07.478 --> 00:36:07.658
, Right.

00:36:08.046 --> 00:36:11.916
Hopefully you're in a company that
celebrates learning and failure

00:36:11.921 --> 00:36:12.996
and you're not gonna get fired.

00:36:12.996 --> 00:36:16.416
But I think making sure that
everyone knows, like what

00:36:16.421 --> 00:36:17.736
the stakes are, is important.

00:36:17.826 --> 00:36:20.046
And then the other side of
it is what could go right?

00:36:20.076 --> 00:36:22.626
Like if we pull this
off, how great is that?

00:36:22.626 --> 00:36:27.396
And you know, for us, building
integrations has, I think we're still

00:36:27.396 --> 00:36:30.602
gonna wait to see if it pans out as
being the right choice, but like, If

00:36:30.607 --> 00:36:35.312
we had to continually pay more and more
and more money to companies based on how

00:36:35.312 --> 00:36:39.332
many people are integrating, it feels
like a good value metric to go off of.

00:36:39.332 --> 00:36:42.902
But like, you know, when time, like right
now with the economy being what it is, I

00:36:42.902 --> 00:36:46.082
think we're really excited that we don't
pay more money for our integrations.

00:36:46.082 --> 00:36:50.502
Like the, the other way to think of buying
is that you're renting versus owning.

00:36:51.136 --> 00:36:54.106
And as a homeowner, you know,
like owning a house means

00:36:54.106 --> 00:36:55.816
taking care of the house, right?

00:36:55.816 --> 00:36:56.056
Rent.

00:36:56.791 --> 00:36:59.401
Sure it might be a little bit more
expensive per month, but you're

00:36:59.401 --> 00:37:00.541
not taking care of the house.

00:37:00.541 --> 00:37:03.311
You're not having to deal with
all the stuff that goes into that.

00:37:03.781 --> 00:37:09.721
CJ: So that reminded me of another
concept, and I'm curious how

00:37:09.726 --> 00:37:12.751
you're thinking about this, and
that is around platform risk.

00:37:13.111 --> 00:37:16.651
So if you decide to buy and you go
all in on a platform, and then that

00:37:16.651 --> 00:37:21.961
platform either just like increases
your prices, By some crazy amount

00:37:22.051 --> 00:37:26.341
or they discontinue a service that
you're using and depending on, or

00:37:26.341 --> 00:37:28.351
that your entire business is built on,

00:37:28.561 --> 00:37:29.791
Colin: Or they go outta business.

00:37:30.121 --> 00:37:31.231
CJ: right, or they go outta business.

00:37:31.231 --> 00:37:38.821
So maybe this is like another potential
warning for buy is try to validate the,

00:37:38.821 --> 00:37:41.971
I don't know, like make sure that the
company you're buying is legit . The

00:37:41.971 --> 00:37:43.531
software you're buying is gonna last.

00:37:44.086 --> 00:37:46.396
Colin: Yeah, you kind of hit
all the heads there for that.

00:37:46.912 --> 00:37:49.326
Definitely consider that as a risk.

00:37:50.676 --> 00:37:54.246
Technically, if they're building and
growing as they should, they're trying

00:37:54.246 --> 00:37:58.407
to get  the word that they'll never use,
but it's called vendor lock in, right?

00:37:58.797 --> 00:38:01.497
They want to provide you more
value so that you willing,

00:38:01.497 --> 00:38:03.297
like you gladly pay for it.

00:38:03.297 --> 00:38:08.097
But it does mean it's going to be harder
to leave one day, and maybe that's okay.

00:38:08.577 --> 00:38:10.587
That's just something that
you have to kind of think.

00:38:11.242 --> 00:38:11.852
CJ: Mm-hmm.

00:38:12.117 --> 00:38:16.737
Colin: When I was building, I was a
Techstars company called Cloud Snap,

00:38:16.737 --> 00:38:21.747
and we were building an integration
platform as a service back in 2012.

00:38:22.302 --> 00:38:25.092
We only had raised $500,000.

00:38:25.182 --> 00:38:30.732
So how many companies do you think were
willing to put our code into their code

00:38:30.852 --> 00:38:37.602
or to talk, you know, to build to us and
create those integrations that we required

00:38:37.602 --> 00:38:42.192
you to kind of follow a little bit of
a stripe model for like, We're gonna

00:38:42.192 --> 00:38:46.722
give you a customer token and, and we're
gonna hold onto all their oau tokens and

00:38:46.722 --> 00:38:48.372
we'll handle refreshing them for you.

00:38:48.372 --> 00:38:51.012
And it's kind of like a
credit card in that respect.

00:38:51.012 --> 00:38:54.942
And who, Yeah, not a lot of companies
were like, it's like maybe if you

00:38:54.942 --> 00:38:57.642
guys go out and get your Series
A, then we'll, we'll chat again.

00:38:58.002 --> 00:39:01.872
They just wanted to know that we
had the runway to even exist, let

00:39:01.872 --> 00:39:03.872
alone the technical side of that.

00:39:05.427 --> 00:39:08.457
CJ: Yeah, that's interesting too
because it, when, when you were

00:39:08.462 --> 00:39:12.143
building clouds snap  if I recall
correctly, like one of the first

00:39:12.143 --> 00:39:14.063
integrations was sale Salesforce.

00:39:14.068 --> 00:39:14.693
Is that right?

00:39:14.933 --> 00:39:16.923
And so I'm in the back of my mind.

00:39:16.923 --> 00:39:21.841
I'm like, I wonder if going for
the enterprise integrations first.

00:39:22.663 --> 00:39:26.443
Was something that caused the companies
who would use those enterprise

00:39:26.443 --> 00:39:32.573
integrations to question versus going
for like  more indie stuff first.

00:39:32.573 --> 00:39:33.563
I have no idea.

00:39:33.983 --> 00:39:34.733
Yeah, exactly.

00:39:34.733 --> 00:39:39.082
Like  it's also interesting because
I feel like where you're at now, And

00:39:39.082 --> 00:39:44.602
Cloud Snap and my VR and like a bunch
of tools that we use are all like very

00:39:44.607 --> 00:39:49.942
similar in that they live at the seams
between two giant systems or like between

00:39:49.942 --> 00:39:51.352
lots and lots of different systems.

00:39:51.352 --> 00:39:55.495
And  yeah, like there's definitely so
much value in being that glue layer

00:39:55.825 --> 00:39:57.745
between all these different useful tools.

00:39:58.195 --> 00:40:01.015
But yeah, trying to figure out how
to build a company around it is

00:40:01.015 --> 00:40:02.635
definitely challenging for sure.

00:40:03.175 --> 00:40:06.175
Colin: Yeah, I think you and I
might be gluts for punishment there.

00:40:06.175 --> 00:40:09.625
Like being on the seam is a
pretty terrifying place to be

00:40:09.625 --> 00:40:12.595
like, cuz things are always
breaking, things are always trying.

00:40:12.625 --> 00:40:14.545
It's like a multiverse of apps, right?

00:40:14.545 --> 00:40:14.905
It's like

00:40:15.235 --> 00:40:15.655
CJ: Yes.

00:40:15.685 --> 00:40:16.405
It's, yeah.

00:40:16.405 --> 00:40:19.135
It's like choosing to build a
house on the San Andrea's fault,

00:40:19.135 --> 00:40:23.065
because like everything is around is
shifting and like maybe your house

00:40:23.065 --> 00:40:24.205
is gonna fall into the sinkhole.

00:40:24.210 --> 00:40:24.445
Who knows?

00:40:24.805 --> 00:40:26.485
Colin: But it's something
that a lot of companies do.

00:40:26.485 --> 00:40:30.175
So anyone who solves it, you know,
whether it's internally, like at

00:40:30.175 --> 00:40:33.205
my vr, it was trying to figure
out how to do that for themselves.

00:40:33.205 --> 00:40:36.475
But for us it's like, Oh yeah,
customers build your houses

00:40:36.475 --> 00:40:37.615
on the San Andreas fault.

00:40:37.645 --> 00:40:39.505
We will handle all the issues.

00:40:39.535 --> 00:40:40.855
And you're just like, We can't

00:40:41.955 --> 00:40:45.265
And I think that there still is,
like, I still think that integration

00:40:45.265 --> 00:40:47.095
as a service thing is interesting.

00:40:47.395 --> 00:40:49.375
There are a few companies doing it today.

00:40:51.265 --> 00:40:54.325
Kind of, are they how I would do it?

00:40:54.445 --> 00:40:54.925
No.

00:40:54.985 --> 00:41:00.081
Like that was the ultimate reason why
we didn't go with them was  it required

00:41:00.081 --> 00:41:02.331
our team to know their tools so well.

00:41:02.331 --> 00:41:07.146
So it's kind of like, Do we wanna
become consultants of this tool?

00:41:07.566 --> 00:41:11.616
And then if those developers ever leave,
now we have to train someone else on it.

00:41:11.994 --> 00:41:14.844
Whereas what we ended up doing
kind of to round it out here is

00:41:15.234 --> 00:41:16.794
everything we built is in Ruby.

00:41:17.214 --> 00:41:19.314
Every one of our engineers
is a Ruby engineer.

00:41:19.554 --> 00:41:22.534
Everything is not in unfamiliar to them.

00:41:22.758 --> 00:41:24.569
We can do code reviews, we can check it.

00:41:24.569 --> 00:41:26.639
It's not like talking to some.

00:41:27.569 --> 00:41:30.839
Thing on the other side of the fence
that we don't know if it's gonna go down.

00:41:30.839 --> 00:41:32.339
We don't know if how it works.

00:41:32.559 --> 00:41:35.167
We don't know if it's gonna go outta
business, like all those different things.

00:41:35.167 --> 00:41:39.037
And that was where I kind of ended my
talk was that it's at the end of the day,

00:41:39.037 --> 00:41:41.377
it's Ruby, It's Rails, it's convention.

00:41:41.377 --> 00:41:44.437
It's a lot of different things
that like we're used to.

00:41:44.797 --> 00:41:48.709
And so we don't need to reinvent the
wheel  every single time we do it.

00:41:48.941 --> 00:41:52.721
But we also do get some satisfaction
outta getting to build it ourselves

00:41:52.721 --> 00:41:54.191
and own it and invest in it.

00:41:54.465 --> 00:41:56.305
So yeah, integrations.

00:41:56.988 --> 00:41:57.438
All right.

00:41:57.438 --> 00:41:58.998
So I think that's a great place to wrap.

00:41:58.998 --> 00:42:02.958
We hope you enjoyed our deep dive into
build versus buy, and you got a little

00:42:02.958 --> 00:42:05.000
bit of  Burning Man envy as well.

00:42:06.110 --> 00:42:06.680
CJ: Right on.

00:42:06.680 --> 00:42:09.950
Next time we're gonna be back
talking again about code reviews.

00:42:09.955 --> 00:42:14.150
This time talking about how to review
code rather than authoring a pr.

00:42:14.450 --> 00:42:17.870
And as always, you can head over to
build and learn.dev to check out all the

00:42:17.870 --> 00:42:19.730
links and resources in the show notes.

00:42:20.464 --> 00:42:21.694
Colin: That's all for this episode.

00:42:21.694 --> 00:42:22.954
We'll see you next time.

00:42:23.230 --> 00:42:23.830
CJ: Five friends.