WEBVTT

NOTE
This file was generated by Descript 

00:00:10.155 --> 00:00:15.765
Hey folks, and welcome to the small
tech podcast by Ephemere Creative.

00:00:15.825 --> 00:00:17.215
I'm your host Raph.

00:00:17.325 --> 00:00:18.375
And today.

00:00:18.855 --> 00:00:21.765
We are going to talk about scale.

00:00:22.695 --> 00:00:24.495
Now for context.

00:00:24.945 --> 00:00:31.635
I am used to working with small
companies, whether that's startups

00:00:31.665 --> 00:00:36.795
or non-profits or sometimes it's
just entrepreneurs with an idea.

00:00:37.575 --> 00:00:42.495
Yeah the sort of largest companies
I've worked with are in the

00:00:42.525 --> 00:00:44.985
sort of 30 employee range.

00:00:45.515 --> 00:00:50.655
Our clients vary a bit more
than that, but myself personally

00:00:51.115 --> 00:00:52.945
that's the that's the experience.

00:00:53.845 --> 00:01:00.355
So that's my caveat before, before we
start this episode, but I think there

00:01:00.355 --> 00:01:07.585
are still things that are important and
interesting to think through when you are

00:01:07.585 --> 00:01:14.095
considering scaling your company and your
product even just from that sort of two

00:01:14.095 --> 00:01:19.315
founders or a small nonprofit or whatever.

00:01:19.645 --> 00:01:23.755
And you've got this product and it's
got a few users and you need to take it

00:01:23.755 --> 00:01:28.615
to thousands of users and you need to
onboard a few employees to help manage it.

00:01:29.105 --> 00:01:35.975
Those are things that aren't always
as obvious as they might seem to be.

00:01:36.505 --> 00:01:39.955
And yeah, they can be pretty
complicated and they can help set the

00:01:39.955 --> 00:01:42.025
tone for like your company's growth.

00:01:42.475 --> 00:01:43.165
So.

00:01:43.795 --> 00:01:45.085
Yeah, let's talk about it.

00:01:45.535 --> 00:01:49.045
I kind of already touched on it,
but the way I'm going to talk about

00:01:49.045 --> 00:01:56.165
growth or scale in this episode
refers to users of an application.

00:01:56.835 --> 00:02:02.655
It refers to the size of your team that is
managing and, or building the application.

00:02:03.145 --> 00:02:07.255
It's going to be about the infrastructure
that your application runs on.

00:02:07.815 --> 00:02:13.245
And it's going to be about communication
and how you interact with users.

00:02:13.815 --> 00:02:20.285
Those contexts, but broken down
into design, engineering, marketing,

00:02:20.285 --> 00:02:23.015
and communications and operations.

00:02:23.585 --> 00:02:26.615
So let's talk about design.

00:02:27.275 --> 00:02:32.675
One of the things that I find happens
with early stage products you know,

00:02:32.675 --> 00:02:38.305
an entrepreneur with an idea who's
just ready to throw out an MVP or

00:02:38.365 --> 00:02:41.665
you know, a smaller organization
who just wants to test out an idea.

00:02:42.415 --> 00:02:47.395
Is that design is very fluid.

00:02:47.725 --> 00:02:53.555
It's just throwing ideas together and
changing them on the fly, testing them

00:02:53.555 --> 00:02:56.105
a little bit, but not a whole lot.

00:02:56.345 --> 00:03:01.205
Running them by some people that
you trust, maybe a couple people

00:03:01.235 --> 00:03:05.525
that you don't know so well, if you
can get ahold of them, but in the

00:03:05.525 --> 00:03:07.535
early stages, it's pretty tight.

00:03:07.535 --> 00:03:08.525
It's pretty limited.

00:03:08.585 --> 00:03:13.475
And so you can be very flexible
and just throw things around.

00:03:14.125 --> 00:03:18.715
Eventually, that starts to get disjointed.

00:03:18.715 --> 00:03:26.425
If you don't have a system in place to
manage your design assets, how you think

00:03:26.425 --> 00:03:28.735
about design, your design principles?

00:03:29.565 --> 00:03:33.905
And I guess even just like
your information, the research

00:03:33.905 --> 00:03:35.615
that you do on your users.

00:03:35.895 --> 00:03:40.305
The data that you collect as you do
interviews with them, that sort of thing.

00:03:40.665 --> 00:03:45.015
And I think it becomes more and more
important as you grow the product.

00:03:45.015 --> 00:03:49.005
And as you grow the team, To
make sure that you have all

00:03:49.005 --> 00:03:50.325
of those things in place.

00:03:50.915 --> 00:03:53.825
I think about this a little bit
from a technical perspective,

00:03:53.825 --> 00:03:58.375
because that is generally how I
approach things is as a developer.

00:03:59.135 --> 00:04:08.795
And so I like to know that a design team
has things sort of tightly systematized.

00:04:09.335 --> 00:04:14.645
Perhaps at the early stages, as you're
starting to build a bit of momentum,

00:04:14.885 --> 00:04:19.765
it doesn't need to be a full design
system  but at least some basics about

00:04:19.765 --> 00:04:23.185
color usage about, about spacing.

00:04:23.745 --> 00:04:27.135
And that sort of thing to help
guide a developer so that they

00:04:27.135 --> 00:04:29.205
don't always need to refer back.

00:04:29.205 --> 00:04:30.015
They just know.

00:04:30.225 --> 00:04:30.645
All right.

00:04:30.705 --> 00:04:31.035
Yep.

00:04:31.065 --> 00:04:32.985
This is kind of how we do things.

00:04:33.595 --> 00:04:37.315
And if they see something in a
design, they kind of instinctively

00:04:37.315 --> 00:04:39.945
know what they're working with.

00:04:40.095 --> 00:04:44.805
Otherwise, if they need to double
check for every single design, like

00:04:44.865 --> 00:04:49.755
the pixels in between things or the
spacing you're going to have a mess.

00:04:49.875 --> 00:04:51.405
It's going to be bad.

00:04:51.965 --> 00:04:58.745
And so just getting into the flow of
creating sort of structure around design

00:04:58.925 --> 00:05:06.095
will help you create structure around your
development processes, which might seem

00:05:06.095 --> 00:05:10.415
like it could slow you down initially,
but it will speed you up down the line

00:05:10.475 --> 00:05:15.755
because developers won't need to always
be questioning everything that they see.

00:05:16.255 --> 00:05:20.305
So I think, yeah, basically just making
sure that these things are organized

00:05:20.305 --> 00:05:23.875
and communicated and sort of spread
throughout the organization in a

00:05:23.875 --> 00:05:28.915
sort of structured way where people
kind of know where to get things.

00:05:29.415 --> 00:05:31.335
From an engineering perspective.

00:05:31.835 --> 00:05:39.125
I have this thing that has happened to
me many times over the years, which is.

00:05:40.025 --> 00:05:44.825
You build a monolith at first
because it's simple and you can

00:05:44.825 --> 00:05:46.505
get something out the door quickly.

00:05:47.005 --> 00:05:51.885
And very quickly  once you start to
gain traction and people start to

00:05:51.885 --> 00:05:57.065
interact with your product or maybe
you're just handling more data.

00:05:57.645 --> 00:06:00.015
Maybe something happens in the system.

00:06:00.045 --> 00:06:03.945
And even if you don't have a lot
more users, you're now processing

00:06:03.945 --> 00:06:09.405
much larger video files or you're
bringing in a million things to

00:06:09.405 --> 00:06:14.445
process instead of the thousand that
you were processing the day before.

00:06:15.165 --> 00:06:20.745
And you start to realize how certain
parts of your application just.

00:06:21.285 --> 00:06:25.635
Would do much better being split
out into their own infrastructure

00:06:25.685 --> 00:06:28.685
that's specialized for its use case.

00:06:29.405 --> 00:06:34.335
And so you start breaking apart this
monolith into different services.

00:06:34.575 --> 00:06:38.505
AKA are our favorite microservices term.

00:06:38.865 --> 00:06:40.185
And that can be painful.

00:06:40.875 --> 00:06:41.985
It can be.

00:06:42.765 --> 00:06:45.435
Very helpful, but painful.

00:06:46.045 --> 00:06:50.305
Because splitting out those things
that are tightly coupled generally

00:06:50.305 --> 00:06:51.535
when you're building a monolith.

00:06:51.955 --> 00:06:55.825
It's just, it's hard if you're
not technical, basically you're

00:06:55.825 --> 00:06:59.935
taking things that have been
like tightly bound together.

00:07:00.385 --> 00:07:02.785
And expect to be bound together.

00:07:03.175 --> 00:07:08.395
And you're trying to split them apart
into these different systems that now have

00:07:08.395 --> 00:07:15.465
to interact with each other more loosely
and they have to grow independently and

00:07:15.465 --> 00:07:21.375
change and they still need to be able
to talk back and forth with each other.

00:07:21.865 --> 00:07:26.215
And that stuff becomes
kind of hard to organize.

00:07:26.725 --> 00:07:27.685
So, yeah.

00:07:27.785 --> 00:07:28.805
On a side note.

00:07:28.995 --> 00:07:33.615
We at Ephemere Creative are building
a framework called the Chewy Stack,

00:07:33.915 --> 00:07:36.835
which you can find at gochewy.io.

00:07:36.855 --> 00:07:40.425
That's G O C H E W Y dot I O.

00:07:40.875 --> 00:07:45.405
And the whole point is to make it
really easy to build something that

00:07:45.405 --> 00:07:50.925
feels like a monolith when you're
working on it but actually is deployed

00:07:50.925 --> 00:07:56.085
as microservices and makes it easy
for you to build out those services.

00:07:56.505 --> 00:08:00.975
And manage the infrastructure on which
they run and how they're configured

00:08:00.975 --> 00:08:02.415
and how they talk to each other.

00:08:02.805 --> 00:08:08.025
Basically the idea is it should be easy
to build microservice-based applications.

00:08:09.015 --> 00:08:13.755
Or just as easy to build them as
it is to build monolithic ones.

00:08:14.025 --> 00:08:15.945
So that's my little side note.

00:08:16.455 --> 00:08:18.555
The other thing as you start.

00:08:19.035 --> 00:08:23.185
Growing your your technical product.

00:08:23.685 --> 00:08:25.365
Is that you'll find.

00:08:25.365 --> 00:08:25.605
Okay.

00:08:25.605 --> 00:08:28.215
So you will start splitting
things into microservices.

00:08:28.815 --> 00:08:33.135
And now maybe  you've got a couple of
developers working on one service and

00:08:33.135 --> 00:08:34.935
other developers working on another.

00:08:35.235 --> 00:08:41.205
And you need to make sure that everyone
is able to run what they need to run

00:08:41.265 --> 00:08:44.385
effortlessly otherwise work stops.

00:08:45.315 --> 00:08:51.575
And there's a whole thing around dev
ops and making sure that deployments

00:08:51.575 --> 00:08:53.225
are automated and all of that.

00:08:53.435 --> 00:08:58.235
But I think another thing that's
not spoken about enough that I

00:08:58.235 --> 00:09:01.325
find is often a huge pain point.

00:09:01.955 --> 00:09:07.925
Is making sure that developers
actually can run what they need

00:09:07.925 --> 00:09:09.815
to on their local machines.

00:09:09.865 --> 00:09:13.945
Even before deploying to an
environment that they control, making

00:09:13.945 --> 00:09:18.185
sure that they have access to the
things that they require is painful.

00:09:18.185 --> 00:09:22.415
So make sure you think through those
processes, whether it's just like access

00:09:22.415 --> 00:09:29.245
control in your git provider of choice
or whether it's cloud environments or

00:09:29.245 --> 00:09:34.135
provisioning laptops or whatever, like
just make sure you've got a good process

00:09:34.135 --> 00:09:39.055
to make sure that developers communicate
between each other, the requirements

00:09:39.055 --> 00:09:43.745
of the application and can get it up
and running quickly without having

00:09:43.745 --> 00:09:48.635
to jump through hoops or go through
meetings with other developers and.

00:09:49.235 --> 00:09:51.005
Make sure things are documented.

00:09:51.525 --> 00:09:53.925
I know we all put that off developers.

00:09:54.255 --> 00:09:55.935
Love to put off documentation.

00:09:56.085 --> 00:10:00.705
The other thing is like, as your systems
become more complex you know, you will

00:10:00.705 --> 00:10:04.515
inevitably add different services, whether
they are your own services that you're

00:10:04.515 --> 00:10:08.265
managing or you're using third-party APIs.

00:10:08.265 --> 00:10:11.445
You're providing integrations
to other systems.

00:10:11.865 --> 00:10:18.285
And as you do that, just little things
sort of explode into bigger things.

00:10:18.285 --> 00:10:22.875
And one little system that
fails here is going to cascade

00:10:22.875 --> 00:10:25.455
into a giant failure elsewhere.

00:10:25.775 --> 00:10:29.375
And that can happen even with
like pretty small applications

00:10:29.405 --> 00:10:30.755
and it can be hard to debug.

00:10:30.755 --> 00:10:36.305
So make sure that you have tooling in
place to be able to find those failures

00:10:36.365 --> 00:10:39.095
and make sure you can fix them fast.

00:10:39.595 --> 00:10:41.845
Okay, so marketing and communications.

00:10:42.275 --> 00:10:48.265
This is the stuff that I find is
the most, like fun, to deal with

00:10:48.325 --> 00:10:50.485
in in terms of like, scaling.

00:10:51.145 --> 00:10:56.335
In part, because I just love looking at
like the data and the flows that you can

00:10:56.335 --> 00:11:03.675
build on top of on top of the data in
an application or around an application.

00:11:04.215 --> 00:11:04.665
I don't know.

00:11:04.725 --> 00:11:05.985
It's just really neat to me.

00:11:06.265 --> 00:11:08.335
And I love integrating apps.

00:11:08.385 --> 00:11:15.045
With tools like Segment and Customer.io or
Intercom, or I don't know, whatever else.

00:11:15.345 --> 00:11:17.835
But I think there's something
really important there.

00:11:18.175 --> 00:11:23.155
Which is that early on, you might
just use an SMTP provider and you

00:11:23.155 --> 00:11:26.785
might just shoot out emails from
your app when certain things happen.

00:11:27.745 --> 00:11:32.185
And I think that's valid for a lot
of use cases, even as you grow.

00:11:32.525 --> 00:11:34.955
But there are certain things
that you'll find, oh, I want to

00:11:34.955 --> 00:11:37.505
communicate something with a user.

00:11:37.985 --> 00:11:42.875
It's more about onboarding or it's
about I don't know, retention.

00:11:42.875 --> 00:11:44.135
You want to bring them back?

00:11:44.505 --> 00:11:48.285
After they've dropped off for a while
or, and those things you don't really

00:11:48.285 --> 00:11:53.115
want to deal with that in your app,
you, you should be doing that elsewhere

00:11:53.115 --> 00:11:57.825
in a system that's built for it,
like customer.io or like Intercom.

00:11:58.265 --> 00:12:00.605
And you can build these
really complex flows.

00:12:01.345 --> 00:12:04.705
And that will help you sort
of scale your communications.

00:12:05.455 --> 00:12:07.315
But then you also need
to be able to respond.

00:12:08.215 --> 00:12:11.335
And so making sure that
you've got like the right.

00:12:11.965 --> 00:12:18.805
Infrastructure in place  to handle
people trying to reach out to you is

00:12:18.805 --> 00:12:23.695
important that can even just be like,
if you're using Google workspace.

00:12:24.055 --> 00:12:28.135
Just make a group for
like the support email.

00:12:28.765 --> 00:12:31.225
And make sure that the right
people have access to it.

00:12:31.555 --> 00:12:38.135
It can be that simple, or you can use a
custom, like a shared inbox with Intercom,

00:12:38.155 --> 00:12:43.435
where you can collaborate on messages
and see user data as you deal with it.

00:12:43.535 --> 00:12:44.555
Or something like that.

00:12:44.855 --> 00:12:49.975
But I find that some people don't know
that those systems exist, and yeah, I

00:12:49.975 --> 00:12:51.325
guess I just wanted to put it out there.

00:12:51.325 --> 00:12:55.045
Like you, there are tools to like,
make your life easier when it

00:12:55.045 --> 00:12:59.155
comes to handling a lot of people
trying to talk to you at once.

00:12:59.575 --> 00:13:04.315
And you will need to scale up your team
to deal with that, but there are things

00:13:04.315 --> 00:13:06.445
that you can do to make it simpler.

00:13:06.525 --> 00:13:07.425
So yeah.

00:13:08.415 --> 00:13:09.735
Operational perspective.

00:13:09.765 --> 00:13:13.125
I guess this ties into everything
that we've already talked about.

00:13:13.785 --> 00:13:16.875
As you're building out with just
like a couple people you don't

00:13:16.875 --> 00:13:18.375
really think about process.

00:13:18.885 --> 00:13:21.075
It's just, it's responding.

00:13:21.345 --> 00:13:24.135
It's things happen and you react to them.

00:13:24.975 --> 00:13:30.585
But as you find people
who like your product.

00:13:31.095 --> 00:13:34.815
And it starts to solidify
somehow in some ways.

00:13:35.375 --> 00:13:40.235
You then get to a point where you're
like, okay, we're doing this a lot.

00:13:40.655 --> 00:13:41.315
And.

00:13:41.815 --> 00:13:43.105
I can't do it anymore.

00:13:43.705 --> 00:13:46.855
I needed someone else to do it, but
I'm the one who knows how to do it.

00:13:47.065 --> 00:13:47.455
And.

00:13:48.055 --> 00:13:53.425
From an engineering perspective, just
because that's how I frame things a lot.

00:13:54.235 --> 00:13:58.555
We always think about like
building systems and so writing

00:13:58.555 --> 00:14:00.595
scripts to automate things for us.

00:14:01.095 --> 00:14:03.575
In a human mode like.

00:14:04.115 --> 00:14:05.675
You can't do that.

00:14:06.175 --> 00:14:07.315
But you can.

00:14:07.915 --> 00:14:08.905
Document things.

00:14:08.905 --> 00:14:12.265
And you can tell people, Hey,
this is where you need to look

00:14:12.295 --> 00:14:13.825
for all of the information to.

00:14:13.885 --> 00:14:15.625
Through the things that you need to do.

00:14:16.225 --> 00:14:20.245
And I think it's really important
to start doing that early to say,

00:14:20.275 --> 00:14:21.895
yep, these are the processes.

00:14:21.995 --> 00:14:27.965
These are the ways in which we do things
and the ways in which we provide our value

00:14:27.965 --> 00:14:32.195
to the world . And getting that done ASAP.

00:14:32.405 --> 00:14:36.455
As soon as you start seeing that you're
repeating yourself over and over.

00:14:36.755 --> 00:14:40.445
And you start thinking, man, I
wish someone else would do this.

00:14:40.945 --> 00:14:42.025
Start documenting it.

00:14:42.525 --> 00:14:45.975
I think also this ties back to
what I was saying about design,

00:14:45.975 --> 00:14:50.535
but like making sure people have
access to the data that they need.

00:14:50.925 --> 00:14:53.535
And don't have access to
the data that they don't.

00:14:54.465 --> 00:14:57.525
Is a good thing to start
thinking through ASAP.

00:14:58.335 --> 00:15:03.675
You want to make sure that you know,
that someone that you hire who might

00:15:03.675 --> 00:15:05.985
turn out not to be a great person.

00:15:06.385 --> 00:15:09.895
Doesn't have access to things that
they shouldn't have access to.

00:15:10.435 --> 00:15:13.705
On the flip side, you want that go getter.

00:15:13.735 --> 00:15:18.775
Who's just an amazing new hire who
wants to help out and has great

00:15:18.775 --> 00:15:20.575
ideas about how to do X, Y, or Z.

00:15:20.635 --> 00:15:24.345
That, To have all of the things
that they need to get that done.

00:15:24.415 --> 00:15:28.225
And sometimes it's not super obvious
all of the things that they'll need.

00:15:28.745 --> 00:15:33.965
So just making sure you have, I mean, it
could be as simple as like a shared drive

00:15:33.995 --> 00:15:36.335
in Google workspace, just being like, yep.

00:15:36.385 --> 00:15:39.535
This is where all of
the marketing assets go.

00:15:39.845 --> 00:15:44.495
This is where we put all of our,
I don't know, sales information.

00:15:45.185 --> 00:15:46.145
Stuff like that.

00:15:46.175 --> 00:15:50.075
Just making sure that they have
access to that and they can use it

00:15:50.125 --> 00:15:52.405
without having to ask you for it.

00:15:52.735 --> 00:15:56.625
Because if they're having to ask someone
then you're, everything's going to

00:15:56.625 --> 00:15:58.575
slow down and it's going to be a pain.

00:15:59.325 --> 00:16:02.325
And then there's tied into
this like communication.

00:16:02.805 --> 00:16:07.455
I know so many people who think about
this a lot, because it's painful.

00:16:07.455 --> 00:16:09.165
Like communication is so messy.

00:16:09.625 --> 00:16:10.855
Just generally.

00:16:11.215 --> 00:16:16.615
Because of the proliferation of
20,000 different ways to communicate.

00:16:16.885 --> 00:16:17.755
As a team.

00:16:18.245 --> 00:16:21.005
Or as a human being with other people,

00:16:21.075 --> 00:16:22.875
On your phone, on your computer.

00:16:23.505 --> 00:16:28.675
But yeah, just making sure that you
have  clear guidelines on how to

00:16:28.675 --> 00:16:33.025
communicate with other people when
and where I think that's really key.

00:16:33.335 --> 00:16:35.525
That's the thing that
sometimes I have trouble with.

00:16:36.065 --> 00:16:40.745
But I think it's really important as
you grow a company, as you grow product.

00:16:41.055 --> 00:16:45.825
Making sure that people know who they
can reach out to when, where, why.

00:16:46.305 --> 00:16:47.565
Yeah, I dunno.

00:16:48.345 --> 00:16:49.575
I feel like that's mostly it.

00:16:49.945 --> 00:16:51.775
I guess this was just sort of my thoughts.

00:16:51.775 --> 00:16:56.885
I was thinking about like a few different
companies that we've worked with at EC.

00:16:57.325 --> 00:17:00.895
And a companies that I've worked
with in the past and thinking

00:17:00.895 --> 00:17:02.665
about like those challenges.

00:17:03.025 --> 00:17:09.055
As you go from, you know, a couple
of co-founders to 10 employees, 20

00:17:09.055 --> 00:17:14.875
employees, 30 employees, or you've
got 10 users on your app and suddenly

00:17:14.875 --> 00:17:19.075
you've got a thousand users on your
app or 10,000 users on your app.

00:17:19.435 --> 00:17:22.905
And you're just like, oh, I
think I need to change things.

00:17:23.405 --> 00:17:25.745
I think I need to be ready for this.

00:17:26.405 --> 00:17:28.085
Cause it's happening fast.

00:17:29.055 --> 00:17:34.815
So yeah, just a couple of thoughts
and hopefully they were helpful.

00:17:34.995 --> 00:17:36.675
So yeah.

00:17:37.135 --> 00:17:41.215
If you want to keep up with this stuff,
make sure to like, and subscribe that's

00:17:41.215 --> 00:17:46.375
on the YouTube or in your podcast app,
or I don't know, we've been posting some

00:17:46.375 --> 00:17:49.135
of this stuff on LinkedIn and elsewhere.

00:17:49.355 --> 00:17:52.085
If you have thoughts, if you want
to, if you want to talk to me on

00:17:52.085 --> 00:17:53.975
the show, that would be awesome.

00:17:54.005 --> 00:17:58.595
Reach out I'm at
raphael@ephemerecreative.ca.

00:17:59.015 --> 00:17:59.975
Shoot me an email.

00:18:00.005 --> 00:18:00.905
We can chat.

00:18:01.065 --> 00:18:02.445
We can do an episode together.

00:18:03.065 --> 00:18:05.165
And yeah, we all want to
do some good in the world.

00:18:05.195 --> 00:18:07.325
So go out there and build something.

00:18:07.325 --> 00:18:08.405
Good friends.

00:18:08.975 --> 00:18:09.545
See ya.