WEBVTT

NOTE
This file was generated by Descript 

00:00:04.646 --> 00:00:05.976
Welcome to Build and Learn.

00:00:06.076 --> 00:00:07.036
My name is cj.

00:00:07.104 --> 00:00:10.484
And I'm Colin, and today we
are talking with Dave Paola

00:00:10.614 --> 00:00:12.384
about the Agency of Learning.

00:00:12.451 --> 00:00:12.991
Dave, welcome.

00:00:12.991 --> 00:00:13.261
Hello?

00:00:13.901 --> 00:00:14.491
Yeah, hi.

00:00:14.491 --> 00:00:14.821
How's it going?

00:00:14.821 --> 00:00:15.241
Good to be here.

00:00:15.241 --> 00:00:15.841
Appreciate you.

00:00:16.711 --> 00:00:17.491
It's going great.

00:00:17.491 --> 00:00:18.511
Yeah, life is good.

00:00:18.516 --> 00:00:19.291
Work is good.

00:00:19.391 --> 00:00:23.261
we're in the beginnings of spring,
or I guess beginnings of summer here.

00:00:23.681 --> 00:00:26.411
I'm calling in, calling
from rural Ohio today.

00:00:26.811 --> 00:00:28.271
so there's a lot of
green, things are good.

00:00:28.271 --> 00:00:28.721
Life is good.

00:00:29.441 --> 00:00:32.891
Are you on starlink or what's
your internet out there?

00:00:33.108 --> 00:00:34.508
funny enough, good question.

00:00:34.508 --> 00:00:37.948
I investigated starlink and, I
haven't pulled the trigger yet.

00:00:38.003 --> 00:00:40.633
Basically, I'm living in a family
cabin right now, that has been in my

00:00:40.638 --> 00:00:42.193
family since I was born, basically.

00:00:42.293 --> 00:00:48.673
and I was able to finally get internet
access here in, I think in late February.

00:00:49.153 --> 00:00:53.323
For the first time in, it's 30
years of existing, and the internet

00:00:53.323 --> 00:00:56.943
is faster here than it is at my
parents' house, in northeast Ohio.

00:00:57.213 --> 00:01:01.143
It's faster than the internet I had
in San Francisco in the Mission, and

00:01:01.143 --> 00:01:04.053
it's faster than the internet I had
in Tahoe and it's half the price.

00:01:04.633 --> 00:01:05.473
it's fiber internet.

00:01:05.478 --> 00:01:06.073
Yeah, it's great.

00:01:06.226 --> 00:01:07.056
Kinda surprising.

00:01:07.154 --> 00:01:11.024
I'm excited to try out starlink, but
I don't know, I'm not very optimistic

00:01:11.024 --> 00:01:14.594
that it would work well for a Zoom
call or like a remote podcast recording

00:01:14.594 --> 00:01:16.484
like this, just given the latency.

00:01:16.484 --> 00:01:17.604
But, yeah.

00:01:17.634 --> 00:01:21.604
I had to ask, given you're
out in some rural spots, I do

00:01:21.604 --> 00:01:22.385
know that it's available here.

00:01:22.534 --> 00:01:24.994
There's like a small lake here and
somebody acrossed the lake told

00:01:24.994 --> 00:01:27.454
me that they had, star, Lincoln
had only recently gotten it, and

00:01:27.454 --> 00:01:29.274
that they were raving fans of it.

00:01:29.274 --> 00:01:30.144
So who knows?

00:01:30.594 --> 00:01:31.524
Maybe it's in my future.

00:01:32.619 --> 00:01:32.949
Nice.

00:01:32.954 --> 00:01:38.089
Yeah, it's, it's big in the van life
community already, especially for nomads

00:01:38.089 --> 00:01:39.793
and being able to still be connected.

00:01:39.793 --> 00:01:42.438
Cause I think the joke has always
been that like, digital nomads

00:01:42.438 --> 00:01:46.018
are probably gonna be like the
least dependable contractors.

00:01:46.608 --> 00:01:50.458
You got a lot of like software developers
to try to travel and then you're just

00:01:50.458 --> 00:01:54.708
like, they're never able to follow up on,
they're like, oh yeah, my internet's bad.

00:01:54.708 --> 00:01:55.818
I'll sync up later.

00:01:55.818 --> 00:01:55.968
And.

00:01:56.174 --> 00:01:57.404
Push up your code when I'm do surfing.

00:01:57.884 --> 00:01:58.124
Yeah.

00:01:58.391 --> 00:01:58.721
Yes.

00:01:58.721 --> 00:01:59.891
Let my people go surfing.

00:02:00.221 --> 00:02:03.926
I got some friends who are, who are
van lifers and, it's interesting,

00:02:03.931 --> 00:02:06.556
as part of that appeals to me, I've
heard their stories about, going

00:02:06.556 --> 00:02:09.511
to Thailand for a year or whatever
and saving cash and surfing.

00:02:09.771 --> 00:02:12.701
But I also remember hearing a story
of, I, I don't remember if it was them

00:02:12.701 --> 00:02:15.791
or if it was somebody else about, they
would basically pull up to the beach.

00:02:16.406 --> 00:02:20.976
They would work, off of a charged
car battery, and as soon as the car

00:02:20.976 --> 00:02:23.916
battery died, they would go surfing
while the car battery charged.

00:02:24.396 --> 00:02:27.366
And so the thing that would
dictate their hours, the flex,

00:02:27.396 --> 00:02:30.396
the flexibility of their hours was
actually the car battery capacity.

00:02:30.666 --> 00:02:35.096
Not, time zones or, their mental,
load or how much sleep they got

00:02:35.096 --> 00:02:35.966
that day or anything like that.

00:02:35.966 --> 00:02:37.596
I always thought that was
a, it was a funny story.

00:02:37.764 --> 00:02:38.844
It's a forced break.

00:02:38.844 --> 00:02:39.714
I think that's good.

00:02:39.894 --> 00:02:40.215
But, yeah.

00:02:40.364 --> 00:02:40.604
Yeah.

00:02:40.664 --> 00:02:40.934
Yeah.

00:02:40.934 --> 00:02:44.589
So I think today we're gonna be talking
a little bit about, helping early career

00:02:44.589 --> 00:02:49.789
developers grow into more mid-level
senior level developers one day.

00:02:49.789 --> 00:02:52.759
And, before we jump into that, we'd
love to hear a little bit about

00:02:52.759 --> 00:02:55.729
your background, Dave, and just
how we got to where we're at today.

00:02:55.923 --> 00:02:56.463
Sure.

00:02:56.683 --> 00:02:57.943
I'll try to be brief.

00:02:58.043 --> 00:02:58.403
Let's see.

00:02:58.403 --> 00:03:01.103
So right now I'm founder of the
Agency of Learning, as you mentioned.

00:03:01.153 --> 00:03:04.183
the Agency of Learning is basically
a community of early career

00:03:04.183 --> 00:03:08.623
developers who, are either bootcamp
grads or self-taught, or otherwise.

00:03:08.673 --> 00:03:10.363
I've described it in a variety of ways.

00:03:10.368 --> 00:03:14.323
And the way that is most resonant with
developers is that it's a community to

00:03:14.323 --> 00:03:16.333
help you get job ready for that first job.

00:03:16.643 --> 00:03:18.353
being a junior developer is pretty lonely.

00:03:18.353 --> 00:03:19.733
You're often working on.

00:03:20.168 --> 00:03:23.828
Your own solo side projects, and you've
selected those side projects so that you

00:03:23.828 --> 00:03:26.738
can potentially learn a new technology
because you think that's gonna make

00:03:26.738 --> 00:03:28.298
you more attractive to employers.

00:03:28.728 --> 00:03:30.438
the employer pitch is
a little bit different.

00:03:30.488 --> 00:03:34.178
the employer pitches, we're essentially
a finishing school for bootcamp grads,

00:03:34.508 --> 00:03:37.398
and I find that most employers nod
their heads at that description with

00:03:37.428 --> 00:03:39.218
very little other detail required.

00:03:39.708 --> 00:03:41.688
Right now we're pretty
focused on Ruby, on Rails.

00:03:41.758 --> 00:03:46.798
I'm growing it very slowly and exclusively
so like I interview every single person

00:03:46.798 --> 00:03:49.798
that joins before they're, before
they receive their link to Discord.

00:03:50.368 --> 00:03:52.128
we run it like, like a real team.

00:03:52.358 --> 00:03:53.138
It is a real team.

00:03:53.318 --> 00:03:55.358
we contribute to open source projects.

00:03:55.358 --> 00:03:56.378
We have daily standups.

00:03:56.378 --> 00:03:59.948
We have a couple folks who are more
senior that help with all the code review

00:03:59.948 --> 00:04:03.598
and, we do design documents for all
of our high level technical decisions.

00:04:03.603 --> 00:04:05.868
We follow a pretty,
structured agile process.

00:04:07.273 --> 00:04:07.873
And so forth.

00:04:08.143 --> 00:04:10.003
My background comes from
the bootcamp industry.

00:04:10.033 --> 00:04:13.793
I won't go into too much detail,
but, basically a buddy of mine back

00:04:13.793 --> 00:04:19.043
in 2012, co-founded block with B
L O C, which was, to my knowledge,

00:04:19.048 --> 00:04:21.083
the first online developer bootcamp.

00:04:21.583 --> 00:04:21.703
I.

00:04:21.723 --> 00:04:24.153
We were involved with Dev
Bootcamp extremely early on

00:04:24.153 --> 00:04:25.653
during their first cohort or two.

00:04:26.023 --> 00:04:29.593
and we worked with, the founder there,
for a short time and decided, Hey,

00:04:29.593 --> 00:04:31.003
we should try to do this online.

00:04:31.303 --> 00:04:35.253
It eventually evolved away from the
online classroom model, towards one

00:04:35.258 --> 00:04:39.603
of a, towards more of a one-on-one
model where we would pair bootcamp,

00:04:39.633 --> 00:04:42.183
attendees with experienced practitioners.

00:04:43.178 --> 00:04:46.738
We pioneered a lot of the, a lot
of what you see now in the online

00:04:46.738 --> 00:04:49.138
developer communities where you have
a developer boot camps where you have

00:04:49.138 --> 00:04:52.023
the income sharing agreement and, we
have lots of thoughts and opinions

00:04:52.028 --> 00:04:53.223
based on the experience there.

00:04:53.223 --> 00:04:56.063
And eventually what we landed
on was, I was the C T O.

00:04:56.068 --> 00:04:58.164
And so I was responsible towards
the end of my tenure there.

00:04:58.433 --> 00:05:01.473
I was there for six years,
responsible for the longest and

00:05:01.473 --> 00:05:04.203
most intense product, which was
the software engineering program.

00:05:04.773 --> 00:05:07.023
Went to hiring managers and
basically heard from hiring

00:05:07.023 --> 00:05:09.093
managers, Hey, 12 weeks isn't enough.

00:05:09.493 --> 00:05:11.473
you have all these gaps
in all these students.

00:05:11.473 --> 00:05:14.868
And so we put together a longer, more
intense program, to get them job ready.

00:05:14.913 --> 00:05:17.763
and eventually we had this thing called
the tuition reimbursement guarantee, which

00:05:17.763 --> 00:05:21.633
was basically like, you know, uh, get,
get a job where you get your money back.

00:05:21.753 --> 00:05:25.713
a lot of my experience since then, and
certainly what I'm doing now is based

00:05:25.713 --> 00:05:27.613
on my, my experience at Block and.

00:05:28.248 --> 00:05:31.348
It was a really wonderful place and we
had some really great people working

00:05:31.348 --> 00:05:32.818
there throughout the organization.

00:05:32.918 --> 00:05:36.188
and I think we were like one of the
last programs that was based on Ruby

00:05:36.188 --> 00:05:40.408
on Rails and I, can talk a lot about
that,  when you're, when you're

00:05:40.408 --> 00:05:43.068
talking about like this finishing
school for bootcamp grads, like what

00:05:43.068 --> 00:05:45.468
are the main gaps that you're seeing?

00:05:45.518 --> 00:05:47.378
is it how to work?

00:05:47.499 --> 00:05:50.379
In an engineering organization
instead of independently?

00:05:50.379 --> 00:05:53.264
Or is it more like computer
science fundamentals?

00:05:53.424 --> 00:05:56.099
what is going into sort
of the finishing pieces?

00:05:56.634 --> 00:05:58.014
Yeah, that's a great question.

00:05:58.064 --> 00:06:04.220
the, it's, I am still iterating
and honing the way I describe this.

00:06:05.059 --> 00:06:07.399
Probably every time I talk about it, I
talk about it a little bit differently

00:06:07.404 --> 00:06:09.109
because we're learning so much, so fast.

00:06:09.559 --> 00:06:14.119
But, Most, it's probably 50%
technical and 50% non-technical.

00:06:14.699 --> 00:06:18.699
the technical stuff is, it's really just
like when you come out of a bootcamp.

00:06:18.969 --> 00:06:22.369
you've learned the fundamentals,
in theory, and you've maybe worked

00:06:22.369 --> 00:06:25.920
on some, some greenfield projects,
but here's what you have not done.

00:06:26.199 --> 00:06:31.949
You have not been assigned a, a small task
and an existing code base that is running,

00:06:31.979 --> 00:06:38.509
Ruby two seven and Rails, five oh that has
nine GitHub actions associated with it.

00:06:38.779 --> 00:06:43.099
Two of them are flaky and, you have to
get this up and running on your machine,

00:06:43.929 --> 00:06:46.239
and you have to do so in your first week.

00:06:46.382 --> 00:06:49.502
And you have to manage the expectations
of your employer along the way.

00:06:49.502 --> 00:06:51.152
You wanna be able to
communicate effectively.

00:06:51.332 --> 00:06:55.322
So it's basically like a whole big
mess of okay, technical skills.

00:06:55.322 --> 00:06:56.522
How do you get your environment set up?

00:06:56.672 --> 00:06:59.492
How do you get unstuck when you
inevitably get stuck setting up

00:06:59.492 --> 00:07:00.782
your environment like we all do.

00:07:01.332 --> 00:07:03.997
how do you do so without
overburdening your employer?

00:07:04.002 --> 00:07:06.907
How do you do so without being
overcome with imposter syndrome?

00:07:06.907 --> 00:07:08.597
How do you, communicate?

00:07:08.942 --> 00:07:12.902
What you need and when to your
colleagues, if you have colleagues

00:07:13.212 --> 00:07:14.172
and a whole bunch of stuff.

00:07:14.222 --> 00:07:18.212
it's hard to articulate like line by
line what it is, but what we've found

00:07:18.212 --> 00:07:21.657
is that basically doing a simulated
team environment with open source,

00:07:21.747 --> 00:07:25.617
like ticks most of the boxes, uh, it's
very obvious, you know, for example,

00:07:25.617 --> 00:07:29.397
do you wait to be asked for an update
before you give an update on your work?

00:07:29.397 --> 00:07:32.597
Or do you proactively provide
the update at a, a, a.

00:07:33.267 --> 00:07:34.812
Same time every week to your employer.

00:07:35.152 --> 00:07:35.612
how do you.

00:07:36.607 --> 00:07:39.217
Infer tone from pull request feedback.

00:07:39.887 --> 00:07:41.057
what does a nitpick mean?

00:07:41.237 --> 00:07:44.237
Is a nitpick a nice to have or is it
a need to have, like all these things

00:07:44.417 --> 00:07:47.357
that, that we know about as developers
every day, if you've never worked

00:07:47.357 --> 00:07:49.787
on a real team, like you have to
learn all of this in your first job.

00:07:50.117 --> 00:07:54.887
And so by providing what is essentially
a volunteer job experience upfront and

00:07:54.987 --> 00:07:58.797
by, honestly like selecting the best
people I can find, like the idea is

00:07:58.797 --> 00:08:02.867
that, the agency of learning becomes a
place where employers can go to find the

00:08:02.867 --> 00:08:04.697
very best junior de developer talent.

00:08:04.893 --> 00:08:05.733
Yeah, it's really interesting.

00:08:05.733 --> 00:08:09.853
We, we, we did this at the collective,
so at the, our co-working space, we

00:08:09.853 --> 00:08:15.163
worked with the university to hire
a software developer kind of intern.

00:08:15.613 --> 00:08:19.123
So it was, this is really cool
program that the students voted on

00:08:19.123 --> 00:08:22.263
where they're, they're, I forgot what
they're called, but they pay into

00:08:22.263 --> 00:08:24.873
their tuition to create this program.

00:08:24.873 --> 00:08:29.613
So the program then pays the students
so that we didn't have to pay them,

00:08:29.613 --> 00:08:33.193
but it ended up being a really cool
program where we get the grant to

00:08:33.193 --> 00:08:34.903
pay the student to work with us.

00:08:34.963 --> 00:08:38.083
And we were building, you'll love
this, but we're building a co-working

00:08:38.083 --> 00:08:39.683
software, management system.

00:08:39.683 --> 00:08:39.743
Oh.

00:08:40.963 --> 00:08:44.713
And the funny thing was like, you
could see as they were, this was

00:08:44.713 --> 00:08:49.193
someone coming outta computer science
and they were, very good technically.

00:08:49.293 --> 00:08:52.168
but there was that piece that you're
talking about, like working with a team.

00:08:52.798 --> 00:08:53.518
In the real world.

00:08:53.518 --> 00:08:57.338
And there were all these, very
senior Ruby on Rails developers who

00:08:57.338 --> 00:09:00.218
just were too busy to be honest.

00:09:00.218 --> 00:09:03.488
Like we were like, okay, we want,
they're gonna be here to help you.

00:09:03.488 --> 00:09:06.278
And so when we started working
on the project with these

00:09:06.278 --> 00:09:07.478
developers and our intern.

00:09:08.023 --> 00:09:12.103
And at the beginning it was a lot of
them, you could tell they were looking

00:09:12.103 --> 00:09:13.723
for permission to do a lot of stuff.

00:09:13.773 --> 00:09:15.153
am I allowed to give feedback?

00:09:15.153 --> 00:09:16.443
Can I ask for this?

00:09:16.863 --> 00:09:20.433
To, by the end of their semester,
they were in GitHub being

00:09:20.433 --> 00:09:21.663
like, Hey, where's your pr?

00:09:21.668 --> 00:09:22.803
Hey, can we close this?

00:09:22.803 --> 00:09:23.313
What's going on?

00:09:23.318 --> 00:09:24.513
Like it was, I.

00:09:24.543 --> 00:09:26.713
I, I don't care how many
lines of code were written.

00:09:26.713 --> 00:09:29.528
I was like, you have
reached the next stage.

00:09:29.533 --> 00:09:32.678
Like you have to get stuff done sometimes.

00:09:32.678 --> 00:09:36.163
And it was just like, that is the one
thing I took away from that was so like,

00:09:36.433 --> 00:09:39.813
I don't know, just filled up my cup kind
of thing, where it was like, I think we

00:09:39.813 --> 00:09:43.383
succeeded here and I can, I reproduce
that with every individual person.

00:09:43.858 --> 00:09:44.518
I don't know.

00:09:44.518 --> 00:09:49.028
There's a little bit of, personality
and like you said, imposter syndrome

00:09:49.028 --> 00:09:52.078
and all these different things, but
I didn't intend to teach that, but

00:09:52.078 --> 00:09:53.608
she was like, my semester's ending.

00:09:53.608 --> 00:09:55.048
We have to get this project done.

00:09:55.408 --> 00:09:56.458
Where's your code?

00:09:56.458 --> 00:09:57.628
Why is this still open?

00:09:57.633 --> 00:10:00.998
I was like, you might have a future
in product and project management.

00:10:03.948 --> 00:10:04.608
That's awesome.

00:10:04.658 --> 00:10:06.638
you say it fills your cup like it does.

00:10:06.668 --> 00:10:09.818
It does with mine too, and I dunno
if you remember this or if you

00:10:09.818 --> 00:10:13.028
ever watched this talk, but what
you've just described reminds me

00:10:13.028 --> 00:10:15.908
of way, way back, like maybe 2011.

00:10:16.758 --> 00:10:20.478
Or so, Sal Khan, when he launched
the Khan Academy gave a talk, I think

00:10:20.478 --> 00:10:23.568
it was a TED Talk where he talked, I
think it was about mastery learning,

00:10:23.568 --> 00:10:26.568
and it was a TED talk about mastery
learning, where you don't let each

00:10:26.573 --> 00:10:29.838
student proceed until they've mastered
the topic at hand, which is, I dunno

00:10:29.838 --> 00:10:32.968
about either of you, but very different
than my public, school education.

00:10:34.033 --> 00:10:36.853
and he talked, he had a graph that
he showed of each individual student.

00:10:36.853 --> 00:10:39.793
It was like a scatter plot with
a vector attached to each point.

00:10:40.063 --> 00:10:44.143
And you could visualize each line
was a student, and you could see as

00:10:44.143 --> 00:10:48.883
time went on, So the x axis is time,
and the Y axis is like competency.

00:10:49.363 --> 00:10:52.103
And most students were
roughly in the middle.

00:10:52.103 --> 00:10:55.493
It was like this linear progression in the
middle somewhere, not perfectly linear.

00:10:55.893 --> 00:10:58.973
but then there was this one at the
very bottom that for long, took a

00:10:58.973 --> 00:11:02.503
long time, whatever the topic was,
algebra or something took a long time.

00:11:02.523 --> 00:11:06.443
But as soon as they hit it, they
spiked and outperformed everybody else.

00:11:06.863 --> 00:11:10.403
And his point was, in the traditional
education system, that person would've

00:11:10.408 --> 00:11:12.683
been labeled learning disabled and.

00:11:13.418 --> 00:11:15.218
Their whole life trajectory
would've been different.

00:11:15.578 --> 00:11:18.378
And so that was, that's the whole
Khan Academy Mastery Learning thing.

00:11:18.378 --> 00:11:21.778
And I find that very, fulfilling,
fascinating, intellectually interesting.

00:11:22.228 --> 00:11:24.748
especially because education
is so important in society.

00:11:24.748 --> 00:11:29.063
But, in a more micro level, maybe like
watching the less experienced developers.

00:11:29.723 --> 00:11:32.993
If you give them a chance and you
give them the right environment, like

00:11:33.143 --> 00:11:36.833
they can do amazing things, way better
things than at least 50% of the senior

00:11:36.833 --> 00:11:40.213
people I've ever worked with, which is
uncomfortable to talk about sometimes

00:11:40.213 --> 00:11:41.293
when you're talking to senior people.

00:11:41.293 --> 00:11:42.943
But, but man, it's awesome.

00:11:43.073 --> 00:11:46.778
I can give you three people right now that
come to mind, like very similar stories.

00:11:47.102 --> 00:11:47.343
It's really cool.

00:11:47.884 --> 00:11:51.604
So could you help explain a
little bit about the model?

00:11:51.604 --> 00:11:54.994
Like how does the agency
of learning make money?

00:11:55.094 --> 00:11:56.504
Are the junior devs paid?

00:11:56.504 --> 00:11:57.314
Are they unpaid?

00:11:57.314 --> 00:11:58.604
Is it all open source?

00:11:58.604 --> 00:12:00.884
Is it like, are you taking
projects for clients?

00:12:00.884 --> 00:12:01.994
Are you building your own stuff?

00:12:02.049 --> 00:12:03.339
what does that look like?

00:12:04.232 --> 00:12:05.702
it's been changing a lot.

00:12:06.192 --> 00:12:08.712
In the recent past, and it will
probably change a lot, in the

00:12:08.712 --> 00:12:10.512
immediate future as we learn more.

00:12:10.642 --> 00:12:13.482
I'm definitely taking like the lean
startup approach to this, where I'm

00:12:13.482 --> 00:12:16.542
like, try trying every different model
and seeing which one is a good fit.

00:12:17.202 --> 00:12:19.452
And honestly, I'm not sure
we found the right model yet.

00:12:19.512 --> 00:12:21.582
So I can tell you what we're doing now.

00:12:21.952 --> 00:12:25.547
I have a very small for-profit
agency that is becoming more of a

00:12:25.552 --> 00:12:26.867
side agency to be honest with you.

00:12:26.867 --> 00:12:29.172
And the agency is like, the
naming is very confusing here.

00:12:30.162 --> 00:12:32.592
My actual for-profit agency
is called Sierra Rails.

00:12:33.132 --> 00:12:34.542
It's been around for a
year and a half or so.

00:12:35.092 --> 00:12:38.422
the Agency of Learning is, as you
mentioned, it's totally volunteer based

00:12:38.422 --> 00:12:41.302
right now, or I should say it is a freak.

00:12:41.302 --> 00:12:42.202
It's free to join.

00:12:42.632 --> 00:12:46.567
there's no compensation involved
today for, I, for myself or for the,

00:12:46.567 --> 00:12:50.497
For the members and the way that one
business model I've been investigating

00:12:50.527 --> 00:12:52.597
with, I would say it's very early.

00:12:52.647 --> 00:12:55.837
the results seem promising, but I
don't know if it's where we'll land,

00:12:56.177 --> 00:13:00.137
basically like I become a little bit
of like a staffing model where, on the

00:13:00.142 --> 00:13:03.777
strength of the technical assessments
and the experience and the candidates,

00:13:03.917 --> 00:13:07.367
we place these folks on a contract
a higher basis inside companies.

00:13:07.827 --> 00:13:08.487
I have.

00:13:08.692 --> 00:13:10.252
Three candidates right now.

00:13:10.302 --> 00:13:11.412
they're not candidates anymore.

00:13:11.412 --> 00:13:12.042
They've been placed.

00:13:12.042 --> 00:13:15.312
So I have three eight junior devs
right now that are on that model.

00:13:15.822 --> 00:13:19.052
And, it's I don't know the jargon cuz
I'm new to  the staffing industry,

00:13:19.052 --> 00:13:22.792
but, I have some friends that have
basically contracted through an

00:13:22.792 --> 00:13:25.312
agency like this where the agency
takes a cut for placing them.

00:13:25.732 --> 00:13:30.055
So that's one early experiment that I
would say is like modestly successful.

00:13:30.105 --> 00:13:34.275
it could be that we evolve more towards
a model where employers pay to get

00:13:34.275 --> 00:13:37.185
access to a profile system or something.

00:13:37.515 --> 00:13:38.895
I think we're a long way off from that.

00:13:38.995 --> 00:13:39.805
although who knows?

00:13:40.495 --> 00:13:44.100
But basically like the model is,
Dave identifies like the best

00:13:44.100 --> 00:13:47.040
people that apply, makes sure they
are good, and then gives 'em a

00:13:47.040 --> 00:13:48.990
bunch of volunteer experience for.

00:13:49.590 --> 00:13:50.640
Three months, six months.

00:13:51.120 --> 00:13:53.250
And it's not just, it's not just Dave.

00:13:53.250 --> 00:13:55.230
It's like I have a team of people
working with me, so I don't wanna

00:13:55.230 --> 00:13:59.360
take all the credit, but essentially
it's, building a brand for employers

00:13:59.360 --> 00:14:02.000
that employers can trust us to
give them really good candidates.

00:14:02.080 --> 00:14:04.960
and trusting that at some point
we'll be able to make money off that.

00:14:05.480 --> 00:14:06.645
I don't know when that will happen.

00:14:07.295 --> 00:14:10.415
so I still have a day job,
but, yeah, that's how it works.

00:14:11.375 --> 00:14:12.875
It'll be exciting to see.

00:14:12.925 --> 00:14:16.045
I think we're seeing this in the rails
world with the Rails Foundation and

00:14:16.045 --> 00:14:20.250
things too, where they're wanting
to focus on education, and how does

00:14:20.250 --> 00:14:21.870
Rails show up to that conversation?

00:14:21.875 --> 00:14:25.010
And you mentioned like having a
curriculum, in the boot camps that

00:14:25.010 --> 00:14:27.200
you've worked with in the past.

00:14:27.200 --> 00:14:31.230
And there's the gaps and there's no
replacement for real world experience.

00:14:31.470 --> 00:14:31.770
Either.

00:14:31.770 --> 00:14:35.700
So getting a blend of that, and it'll
be interesting to see how Agency of

00:14:35.700 --> 00:14:41.720
Learning fits in with things that exist,
boot camps that exist, go Rails, rails,

00:14:41.720 --> 00:14:43.610
foundation, whatever comes from that.

00:14:44.120 --> 00:14:47.915
and yeah, I was going somewhere with
that, but We'll, I'll turn it over to cj.

00:14:48.695 --> 00:14:50.105
Yeah, no, I was just reflecting on.

00:14:50.540 --> 00:14:55.670
my experience too, teaching at a bootcamp
and then at the end having a group of

00:14:55.670 --> 00:14:57.740
students that all knew the same stuff.

00:14:57.740 --> 00:14:59.060
They all knew the same stack.

00:14:59.060 --> 00:15:01.580
They all knew the same at the time.

00:15:01.580 --> 00:15:04.550
We were using like rails in the back
end and backbone on the front end.

00:15:05.030 --> 00:15:10.250
And so it was fun to see okay, they did
their final project and now like maybe

00:15:10.250 --> 00:15:13.160
they're working on some extracurricular
stuff to polish up their resume

00:15:13.160 --> 00:15:14.450
and get ready to go look for jobs.

00:15:14.840 --> 00:15:17.960
But at that time, like right after
they came out, it was cool to see

00:15:17.960 --> 00:15:21.030
many of, the students work together
because they could pair and build

00:15:21.035 --> 00:15:23.880
stuff really quickly because they
all had this common language about.

00:15:24.500 --> 00:15:24.950
Okay.

00:15:24.950 --> 00:15:27.630
I know exactly what, my model's
gonna look like, my controller's

00:15:27.630 --> 00:15:29.310
gonna look like, and you know what?

00:15:29.310 --> 00:15:32.400
My front end is probably like the
conventions that I will likely follow.

00:15:32.840 --> 00:15:34.370
so that was really exciting to see.

00:15:34.400 --> 00:15:36.180
And then, I remember.

00:15:36.388 --> 00:15:41.588
watching a lot of those students go
on to work at, at agencies and for

00:15:41.618 --> 00:15:46.358
companies like Thoughtbot and Pivotal
Labs and, in those environments where they

00:15:46.358 --> 00:15:51.583
continued the pair programming like, like
really immersive and like intentional.

00:15:52.498 --> 00:15:56.368
Learning process, and many of those
engineers are now like the best

00:15:56.368 --> 00:15:58.348
engineers that I know in industry.

00:15:58.468 --> 00:16:03.918
And I think the pattern totally works
and, yeah, I'm, interested to watch

00:16:03.928 --> 00:16:05.523
as you figure out the business model.

00:16:05.523 --> 00:16:09.123
But I definitely have seen
and experienced, some juniors.

00:16:09.342 --> 00:16:10.542
Being really effective.

00:16:10.542 --> 00:16:13.512
And also the pair programming
model working really well.

00:16:13.882 --> 00:16:17.407
is pairing something that's part of
your process or is it mostly solo,

00:16:17.407 --> 00:16:20.767
you're gonna get a task and we expect
you to go execute on that or, yeah.

00:16:20.767 --> 00:16:23.347
What is the, like the day-to-day
for one of the juniors look like?

00:16:24.307 --> 00:16:24.597
Yeah.

00:16:24.977 --> 00:16:26.932
so first off, I couldn't
agree with you more.

00:16:27.082 --> 00:16:28.372
my, the experience I had lines up.

00:16:29.227 --> 00:16:33.067
Perfectly with what you just described,
to the point where I now have, one

00:16:33.067 --> 00:16:36.252
of the, one of the challenges we'll
say that I face an obstacle going

00:16:36.252 --> 00:16:40.572
forward is in communicating to
employers the story that you just told.

00:16:41.262 --> 00:16:45.322
This is a story that I tell all the
time, nearly verbatim to what you

00:16:45.327 --> 00:16:47.062
just said, so I won't rehash it.

00:16:47.332 --> 00:16:50.772
But the idea that you can hire
two developers instead of one.

00:16:51.302 --> 00:16:54.542
It feels like educating the market kind
of a challenge, because over and over

00:16:54.542 --> 00:16:56.642
again, the opposite story happens, right?

00:16:56.642 --> 00:16:58.712
It's oh, yeah, I don't have the
budget to hire two juniors, so

00:16:58.712 --> 00:16:59.882
I'm only gonna hire one junior.

00:17:00.042 --> 00:17:00.882
it'll be fine, right?

00:17:01.092 --> 00:17:01.843
And no, it's not fine.

00:17:02.602 --> 00:17:06.232
it's so significantly different
and we all know how that goes too.

00:17:06.232 --> 00:17:09.982
Like we know when you hire a junior and
you don't set expectations properly, you

00:17:09.987 --> 00:17:11.362
don't communicate with them effectively.

00:17:11.362 --> 00:17:12.442
They get imposter syndrome.

00:17:12.447 --> 00:17:14.722
They feel guilty for asking
their colleagues for help.

00:17:14.772 --> 00:17:18.852
I had a candidate recently who, was
told that they were not allowed to

00:17:18.857 --> 00:17:20.712
ask their senior colleagues for help.

00:17:21.817 --> 00:17:26.612
And if there's not a faster way to
destroy, the potential in a junior

00:17:26.612 --> 00:17:29.612
engineer, I don't know what it is, that's
gotta be the one that does it the fastest.

00:17:29.612 --> 00:17:33.782
you're not allowed to ask for
help from your, so nonetheless,

00:17:34.202 --> 00:17:40.072
th that mindset is still pervasive
in the, in the market right now.

00:17:40.102 --> 00:17:42.482
And I don't know how to fix it,
beyond just keep talking about it,

00:17:42.482 --> 00:17:43.982
keep evangelizing and so forth.

00:17:43.982 --> 00:17:47.072
but yeah, basically to answer
your question, Yes, pairing is a

00:17:47.072 --> 00:17:48.632
significant part of the experience.

00:17:49.022 --> 00:17:52.682
Basically, we follow what, used to be
a pretty normal agile process of you

00:17:52.682 --> 00:17:54.732
go, get acquainted with a feature.

00:17:54.822 --> 00:17:57.732
Either you pull it off of the work board
or you talk to your manager about it or

00:17:57.732 --> 00:18:00.323
your product manager and, you spike on it.

00:18:00.952 --> 00:18:04.342
Say, okay, let's go take a couple
hours and write some throwaway code.

00:18:04.342 --> 00:18:07.432
And you write the throwaway code, and
then you come back and you talk about it.

00:18:07.432 --> 00:18:08.362
You have a conversation.

00:18:08.752 --> 00:18:10.582
You use the code as an artifact.

00:18:10.582 --> 00:18:14.392
In that conversation, you say, this is the
part that's gonna be really easy and fast.

00:18:14.392 --> 00:18:15.382
In fact, it's already done.

00:18:15.592 --> 00:18:16.463
This is the part over here that.

00:18:17.047 --> 00:18:19.147
We tried it this way and
this is not the right way.

00:18:19.177 --> 00:18:20.317
We're gonna have to try a different way.

00:18:20.537 --> 00:18:23.687
Or you say this way worked, but we
have to change 30% of it, or whatever.

00:18:23.987 --> 00:18:25.487
And then you go on and build it again.

00:18:25.697 --> 00:18:28.367
And when you build it again, it goes
four or five times faster because you've

00:18:28.367 --> 00:18:30.617
already done the majority of the research.

00:18:31.007 --> 00:18:34.877
And I don't know why maybe someone
more experienced can fill me in, but

00:18:35.387 --> 00:18:40.107
this is way more effective at avoiding
the gigantic PR problem where you

00:18:40.107 --> 00:18:45.057
have this huge PR at the very end and
people are just like throwing feedback

00:18:45.057 --> 00:18:48.627
into that PR willy-nilly, senior
people, junior people, nice to have,

00:18:48.632 --> 00:18:52.867
need to have nitpicks, style, choice,
who it is impossible as we know to

00:18:52.867 --> 00:18:54.637
get like an architectural overview.

00:18:54.637 --> 00:18:57.427
How does this thing work when you
have a 4,000 line pull request?

00:18:57.427 --> 00:18:58.057
You have to review.

00:18:58.567 --> 00:19:00.397
But we've all been on
teams like that I'm sure.

00:19:00.452 --> 00:19:00.722
yeah.

00:19:01.787 --> 00:19:03.017
Repairing is a big part of it.

00:19:03.257 --> 00:19:06.227
Pair we pair on the spike aspect, and
sometimes they pair the whole time.

00:19:06.437 --> 00:19:09.107
Sometimes they stop halfway through
and it becomes very obvious that the

00:19:09.107 --> 00:19:12.977
seams, the seams are obvious and clear
and they can just, come together.

00:19:12.977 --> 00:19:15.607
But it's very rare that there's
no pairing happening at all.

00:19:17.312 --> 00:19:21.172
You didn't specifically mention it,
but , having two juniors, instead

00:19:21.172 --> 00:19:25.102
of one, allows those two to pair
with each other as well, right?

00:19:25.102 --> 00:19:27.362
So that they don't, they're working.

00:19:27.422 --> 00:19:30.092
Someone might have a slightly different
background, they might be a little bit

00:19:30.092 --> 00:19:35.062
ahead, a little bit behind, technically
and They hopefully will still get to talk

00:19:35.062 --> 00:19:38.992
to their senior engineers, but having
the two means that it's not this lonely,

00:19:39.362 --> 00:19:42.332
existence on the team where they're
like, okay, we were brought on, I've

00:19:42.337 --> 00:19:45.917
been on many teams where they'll hire
a junior, but then they don't set the

00:19:45.922 --> 00:19:48.297
expectations with the senior people that.

00:19:49.357 --> 00:19:52.357
Or even giving the senior
people the right training.

00:19:52.357 --> 00:19:55.927
I would say mentoring is not a
given, like most people have not been

00:19:55.927 --> 00:19:58.087
taught how to teach or how to mentor.

00:19:58.507 --> 00:20:02.372
And it's a chicken and egg there
too, where you do have to develop it.

00:20:02.372 --> 00:20:07.567
Like in my roles, I do see,
helping my team as part of my job.

00:20:07.567 --> 00:20:12.037
It's not just to produce my own
artifacts, to produce my own code.

00:20:12.467 --> 00:20:16.897
I've also been a senior engineer who's
guilty of making the too big of a PR

00:20:17.167 --> 00:20:19.087
that's got way too much stuff in it too.

00:20:19.137 --> 00:20:22.222
Because we've just been jamming
on one idea or one concept, but

00:20:22.272 --> 00:20:25.722
that makes it harder for juniors
to learn from as well because now

00:20:25.722 --> 00:20:27.402
they, are they gonna emulate that?

00:20:27.432 --> 00:20:30.612
Are they thinking this is what
being a senior engineer looks like,

00:20:30.612 --> 00:20:34.062
that you have to have these huge,
massive, like too big to fail prs?

00:20:34.542 --> 00:20:35.502
No, it's not.

00:20:35.502 --> 00:20:38.202
So there's a little bit of
modeling that has to happen.

00:20:38.622 --> 00:20:39.462
Role models.

00:20:39.607 --> 00:20:40.747
a little bit of training.

00:20:41.227 --> 00:20:42.427
I don't think, I don't know Sure.

00:20:42.427 --> 00:20:43.357
If you've heard of anything.

00:20:43.507 --> 00:20:48.797
Is there any formal programs for
teaching seniors on how to do

00:20:48.797 --> 00:20:50.447
mentorship and things like that?

00:20:51.447 --> 00:20:54.717
I'm sure there are, the only
one I am aware of that's top of

00:20:54.717 --> 00:20:56.187
mind is one from Engineer Kit.

00:20:56.787 --> 00:20:58.157
And I think it's pretty new.

00:20:58.227 --> 00:21:00.857
I talked to Gavin, at Engineer
Kit a little while ago about this

00:21:00.907 --> 00:21:03.807
that's the only one I'm familiar
with off the top of my head.

00:21:04.087 --> 00:21:05.227
I do think you're right though.

00:21:05.227 --> 00:21:09.894
And I think one of the, one of the
things that I've stumbled upon here is

00:21:10.091 --> 00:21:16.851
that if you're already on an engineering
team, That has a great culture in

00:21:16.851 --> 00:21:23.371
terms of, egoless leadership and people
are able to give candid feedback and

00:21:23.591 --> 00:21:29.381
revisit decisions along the way and
you have a culture of helpfulness and

00:21:29.381 --> 00:21:33.481
openness and, no such thing as a stupid
question, those kinds of cultures.

00:21:33.781 --> 00:21:35.786
Then you can add juniors to that
environment and they'll do fine

00:21:35.786 --> 00:21:37.046
even if you hire them one at a time.

00:21:37.526 --> 00:21:40.886
It's the other cultures that you
need to send these squads of juniors

00:21:40.886 --> 00:21:46.041
into to, in a sense, be a version of
it's like you're implanting a seed

00:21:46.041 --> 00:21:49.541
of a new environment into a team and
you do it with these two juniors and

00:21:49.791 --> 00:21:50.961
it can work really well actually.

00:21:50.961 --> 00:21:52.821
It's very, it's harder, but
I think it can work well.

00:21:53.101 --> 00:21:55.926
but I do think, basically
I agree with you like the.

00:21:56.331 --> 00:22:00.291
The idea of being a good role model
is like half the battle, if not more.

00:22:00.781 --> 00:22:04.771
Sandy Metz, I'm sure we all
love and admire Sandy Metz.

00:22:04.841 --> 00:22:05.651
I certainly do.

00:22:06.051 --> 00:22:08.961
she had a gr, I forget which talk it
was in, but she, hammered the point

00:22:08.961 --> 00:22:12.381
home somewhere that when you have,
especially newer engineers, but all

00:22:12.381 --> 00:22:17.271
engineers I think are guilty of this,
you go into a new code base and.

00:22:17.616 --> 00:22:20.286
You're tasked with writing
some code or building a feature

00:22:20.286 --> 00:22:21.456
or changing something, right?

00:22:21.486 --> 00:22:22.956
Most code is not written new.

00:22:22.956 --> 00:22:23.616
It's changed.

00:22:23.886 --> 00:22:27.306
And when you need to make a
change, you try to adhere to

00:22:27.306 --> 00:22:29.016
the patterns you see already.

00:22:29.796 --> 00:22:35.416
And if the patterns that you see already
are, subpar, if you add juniors to them,

00:22:35.421 --> 00:22:37.126
they're gonna copy subpar patterns.

00:22:37.756 --> 00:22:41.356
It's not necessarily cause of stupid,
it's because that's what we all do.

00:22:41.926 --> 00:22:47.611
And so I find a lot of my work at
the agency now has become, Try to

00:22:47.611 --> 00:22:49.411
make sure the guardrails are good.

00:22:49.471 --> 00:22:51.091
Try to make sure the
patterns that are there.

00:22:51.421 --> 00:22:54.091
it's actually more, it's actually a
little bit like an architect role, but

00:22:54.091 --> 00:22:56.041
it's not about the architect of the code.

00:22:56.041 --> 00:22:59.121
It's about architect the code that
people are going to live in and habit.

00:22:59.631 --> 00:23:03.291
So that like when you add more people
to them, they don't just duplicate bad

00:23:03.291 --> 00:23:07.611
patterns, they duplicate good patterns
or arrange things in such a way that.

00:23:08.466 --> 00:23:11.656
The patterns emerge or
there are no patterns.

00:23:11.656 --> 00:23:15.096
Like you, you organize the mess first and
then you separate the messes first and

00:23:15.096 --> 00:23:16.316
then it's kinda refactoring a little bit.

00:23:16.321 --> 00:23:19.646
But anyway, yeah, being a good role
model and like making good technical

00:23:19.646 --> 00:23:21.146
decisions, I find is half the battle.

00:23:21.536 --> 00:23:24.826
and to your point about new engineers
joining a team and having those 2000

00:23:24.826 --> 00:23:27.526
line PO requests, like everybody
is guilty of this, myself included.

00:23:27.916 --> 00:23:31.066
And one of the meta lessons that
I've watched some of these folks

00:23:31.066 --> 00:23:35.686
learn is, oh yeah, okay, this
is far messier than I expected.

00:23:36.286 --> 00:23:39.926
Like we have a big project and it's not
this perfect harmony of beautiful code.

00:23:39.946 --> 00:23:41.446
And the process rained perfectly.

00:23:41.446 --> 00:23:43.756
It's like there's some stuff
that went in at the last

00:23:43.756 --> 00:23:45.706
moment that is not good, right?

00:23:46.186 --> 00:23:48.256
And we just have to suck
it up and deal with it.

00:23:48.286 --> 00:23:49.816
And that's gonna be a reality too.

00:23:50.746 --> 00:23:53.206
I think that's an important lesson to
learn, that you're not gonna learn on

00:23:53.206 --> 00:23:54.766
your own, on your solo side projects.

00:23:54.866 --> 00:23:56.236
you gotta learn that in a real team.

00:23:57.254 --> 00:24:01.274
What I like about this too is most times
when someone comes from a bootcamp, they

00:24:01.274 --> 00:24:06.484
have, a set of kind of personal portfolio
projects that they've worked on, but

00:24:06.489 --> 00:24:08.079
they're solving a problem for themselves.

00:24:08.079 --> 00:24:09.219
It might be a portfolio website.

00:24:09.489 --> 00:24:09.820
It might be.

00:24:10.859 --> 00:24:13.619
a to-do app, Pinterest
clone, things like that.

00:24:13.619 --> 00:24:17.489
But they're not necessarily, they've
nev never talked to a customer.

00:24:17.489 --> 00:24:19.949
They, and in some cases, I don't
think that's necessarily an

00:24:19.949 --> 00:24:21.959
expectation of a junior either.

00:24:21.959 --> 00:24:26.939
But like you, you're just coming up
with a thing on your own to do it.

00:24:26.939 --> 00:24:28.769
And it's greenfield like you
mentioned, but you don't get

00:24:29.069 --> 00:24:30.809
that world real world experience.

00:24:31.259 --> 00:24:33.064
And I would actually say like open source.

00:24:33.619 --> 00:24:35.659
Feels like jumping into the deep end.

00:24:35.709 --> 00:24:39.279
what sorts of projects are we talking
about when we talk about open source

00:24:39.284 --> 00:24:40.784
that folks are contributing to?

00:24:41.331 --> 00:24:42.501
that's an excellent point.

00:24:42.601 --> 00:24:46.981
we even had at Block, we had, as part
of our longer track, We had something

00:24:46.981 --> 00:24:49.501
called the open source apprenticeship.

00:24:49.501 --> 00:24:51.691
It was like that last
after the capstone project.

00:24:51.691 --> 00:24:53.711
You would go, ostensibly
work on real code.

00:24:54.551 --> 00:24:55.571
It didn't work very well.

00:24:55.811 --> 00:24:58.181
it didn't work very well
because it wasn't real.

00:24:58.211 --> 00:25:01.061
It, even though it was open source,
it wasn't a real simulated team.

00:25:01.531 --> 00:25:05.896
It was like, go hunt and find issues that,
people need help with out on your favorite

00:25:05.896 --> 00:25:07.846
library and try to contribute to them.

00:25:08.146 --> 00:25:11.866
And it did a good job of instilling the
experience of getting acquainted with a

00:25:11.866 --> 00:25:15.686
new code base, cloning the app, getting
it running, and like trying to understand

00:25:15.686 --> 00:25:16.516
what's what and how it all works.

00:25:17.016 --> 00:25:18.286
But  that still wasn't real.

00:25:18.396 --> 00:25:22.586
and so that's part of the, reason we're
doing it this way at the agency, but,

00:25:23.501 --> 00:25:27.251
right now we have two projects and we're
about to have a third that I'm very

00:25:27.251 --> 00:25:28.901
excited about that I can't talk about yet.

00:25:29.351 --> 00:25:33.581
and maybe we'll have announced it by the
time this airs, but the two that we work

00:25:33.581 --> 00:25:39.611
on right now and I'm very grateful for the
ability to contribute to Ruby for good.

00:25:40.451 --> 00:25:41.291
so Ruby for Good.

00:25:41.291 --> 00:25:44.291
If you're not, I'm sure the two of you
are, but for the listeners that aren't

00:25:44.321 --> 00:25:48.571
familiar, it's it's this great group
of people that donates their time,

00:25:48.621 --> 00:25:52.371
and energy to work, to basically build
out open source rails applications

00:25:52.731 --> 00:25:54.171
for charitable organizations.

00:25:54.561 --> 00:25:57.151
So the first one that we're working
on is called casa, which is Core

00:25:57.531 --> 00:25:58.671
appointed Special Advocates.

00:25:58.911 --> 00:26:04.291
It's a system that, nonprofit, pasa
organizations use to manage their.

00:26:04.651 --> 00:26:05.371
Foster youth.

00:26:06.271 --> 00:26:09.391
Not just the foster youth, but the
volunteers, the cases, they go to

00:26:09.391 --> 00:26:12.061
court, they have to go report to
courts and give updates and so forth.

00:26:12.061 --> 00:26:14.521
They have to keep track of their
volunteers and whether or not

00:26:14.521 --> 00:26:17.581
their volunteers are commuting to
meet with their CASA youth or not.

00:26:17.581 --> 00:26:20.331
And different organizations have
reimbursement schedules and it's a

00:26:20.331 --> 00:26:22.161
real product in use by real people.

00:26:22.161 --> 00:26:23.251
It just happens to be an open source.

00:26:23.751 --> 00:26:27.321
It has all the warts and skeletons
and cobwebs that a real app

00:26:27.321 --> 00:26:30.291
has because they've had to
make trade-offs over the years.

00:26:30.746 --> 00:26:35.406
And so far that's the one that, I would
say has been the most realistic and given

00:26:35.406 --> 00:26:39.516
people, I think, the best approximation
of what it's like to work on a real team.

00:26:39.976 --> 00:26:43.486
in fact, I feel comfortable enough
with that fact that I encourage our

00:26:43.491 --> 00:26:47.836
folks to add to LinkedIn the fact
that they have worked in a volunteer

00:26:47.836 --> 00:26:49.336
capacity on this real product.

00:26:49.711 --> 00:26:50.611
Because that's what it is.

00:26:50.971 --> 00:26:51.211
Talk.

00:26:51.211 --> 00:26:54.351
There's a stakeholder meeting every Friday
that we go talk to the users who use it

00:26:54.351 --> 00:26:58.801
and hear the bug reports and that's the
kind of thing as another representative

00:26:58.806 --> 00:27:02.611
example is if you're an engineer working
on this app, you get to go every Friday

00:27:02.611 --> 00:27:04.051
to hear about this repeated bug report.

00:27:04.051 --> 00:27:08.051
You have a disgruntled user sometimes that
says, Hey, this bug still isn't fixed.

00:27:08.111 --> 00:27:09.371
Why isn't this bug fixed?

00:27:09.851 --> 00:27:12.101
And if there isn't a more
representative example of what

00:27:12.101 --> 00:27:14.321
it's like to be an engineer on a
real team, like that's it, right?

00:27:14.371 --> 00:27:14.581
yep.

00:27:14.641 --> 00:27:15.751
Now we're working on it, right?

00:27:16.891 --> 00:27:18.901
so the second one is an app that
we're building for ourselves.

00:27:18.901 --> 00:27:20.401
Actually, it's an open source as well.

00:27:21.031 --> 00:27:23.371
It's the app that we're gonna
be using to basically manage

00:27:23.371 --> 00:27:24.481
the experience of the agency.

00:27:24.531 --> 00:27:28.931
Know, profiles, login, wait list,
onboarding, FAQ Pattern Library.

00:27:29.531 --> 00:27:31.001
we have a lot, we have big plans for it.

00:27:31.031 --> 00:27:35.201
We're starting very small with a feature
called pair requests where if you are

00:27:35.201 --> 00:27:39.281
open to working and you want to pair
with somebody, then you send up a little

00:27:39.281 --> 00:27:40.991
pair request and it'll notify people.

00:27:40.996 --> 00:27:44.531
And a little bit like Calendly
actually, but specific for

00:27:44.531 --> 00:27:45.911
developers who want a pair program.

00:27:46.251 --> 00:27:48.081
so that's another
project we're working on.

00:27:48.621 --> 00:27:50.481
And as I mentioned, we
have more on the way.

00:27:50.691 --> 00:27:55.146
If anybody has ideas, if any, if either
of you or you, your listeners have

00:27:55.146 --> 00:27:58.511
an open source project that you would
like some help on, that you think

00:27:58.511 --> 00:28:03.466
would be a good fit, please email
me or text me or DM me or whatever

00:28:03.466 --> 00:28:04.426
and I'll try to make it happen.

00:28:04.426 --> 00:28:09.751
Cuz right now that is actually the
bottleneck is, getting ahead of the work,

00:28:09.811 --> 00:28:14.081
making sure it's scoped, making sure it's
prioritized, just like a real organization

00:28:14.081 --> 00:28:15.341
that's actually now the bottleneck.

00:28:15.341 --> 00:28:18.001
We have plenty of developers trying
to get in, Thank you in advance.

00:28:19.441 --> 00:28:19.651
Yeah.

00:28:19.651 --> 00:28:22.291
How do you balance the demand?

00:28:22.921 --> 00:28:25.451
Like how are you balancing supply
and demand, like the projects you're

00:28:25.451 --> 00:28:29.261
working on versus how many devs
want to participate in the program

00:28:29.951 --> 00:28:34.211
and I assume that once someone has
volunteered for six months or so,

00:28:34.691 --> 00:28:36.490
they like spin off and go get a job.

00:28:37.120 --> 00:28:39.460
and so you're constantly
trying through people or Yeah.

00:28:39.460 --> 00:28:40.150
how does that look?

00:28:41.965 --> 00:28:46.645
Yeah, I think one thing that's
very important to me is that once

00:28:46.645 --> 00:28:47.845
you get a job, you don't leave.

00:28:48.264 --> 00:28:51.757
I remember back in the bootcamp
days, there, there were some

00:28:52.000 --> 00:28:53.500
call them optical challenges.

00:28:53.930 --> 00:28:56.690
there was one big bootcamp that
we've all heard of that would

00:28:56.690 --> 00:28:58.160
hire their own grads to teach.

00:28:59.750 --> 00:29:02.150
And this got a very bad reputation.

00:29:02.150 --> 00:29:04.650
And I, there's other things as
bootcamp did that were, not great.

00:29:04.830 --> 00:29:08.990
but I do think there is a lot of merit,
and I think lots of educators would tell

00:29:08.990 --> 00:29:13.100
you that there is a lot of merit to the
best person to explain something to you

00:29:13.100 --> 00:29:14.370
as someone who just learned it themselves.

00:29:16.055 --> 00:29:20.075
Because when you're really experienced
and I remember mentoring the first,

00:29:20.075 --> 00:29:23.555
some of the first block students back
in 2012, and we made a mistake together,

00:29:23.705 --> 00:29:26.075
pair programming, and they said, oh,
don't worry, but just get checkout.

00:29:26.075 --> 00:29:29.315
And they're like, what's get oh
my God, we need to add version

00:29:29.320 --> 00:29:30.305
control to our curriculum.

00:29:30.310 --> 00:29:30.335
I.

00:29:30.695 --> 00:29:33.965
And so those experiences of forgetting
you forget what you know already.

00:29:34.415 --> 00:29:38.795
And I think it's very powerful to
have, somebody who, anyway, so to feed

00:29:38.795 --> 00:29:42.675
this back in to the question is, we
care very much that the people who

00:29:42.735 --> 00:29:45.995
get work through us, stick around and
help their fellow community members.

00:29:46.335 --> 00:29:50.375
It's so at that point it kind of
transitions from, become job ready to

00:29:50.375 --> 00:29:55.530
like, Newly employed mastermind group or
mastermind community where, you know, next

00:29:55.530 --> 00:29:59.850
Wednesday, we're having a roll call, we
call it, where if you're on a contract,

00:30:00.340 --> 00:30:04.280
then we just get together on Zoom and talk
about the challenges we face and, whether

00:30:04.280 --> 00:30:07.490
or not it's like, how do I communicate
this tricky situation to my employer?

00:30:07.935 --> 00:30:10.125
they said, I'm only allowed
to have X hours a week.

00:30:10.215 --> 00:30:11.355
I wanna work more than that.

00:30:11.565 --> 00:30:12.405
Do I build them?

00:30:12.405 --> 00:30:13.635
How do I think about that?

00:30:13.635 --> 00:30:16.305
Is it okay to go over
some of these questions?

00:30:16.310 --> 00:30:18.380
you don't really encounter
until you get your first job.

00:30:18.435 --> 00:30:20.865
so yeah, it becomes a little more like
a mastermind group in that regard.

00:30:20.985 --> 00:30:21.105
I.

00:30:21.780 --> 00:30:26.810
I imagine that some of those folks
are also then able to be more like

00:30:26.860 --> 00:30:30.160
the quote unquote senior engineers
for the new juniors, right?

00:30:30.760 --> 00:30:32.980
For pairing partners, stuff like that.

00:30:32.980 --> 00:30:34.090
So they, I.

00:30:34.720 --> 00:30:40.460
Their alumni of a sort that can contribute
in other ways, help, agency of learning

00:30:40.460 --> 00:30:42.440
become a little bit more sustainable.

00:30:42.440 --> 00:30:45.450
So it's not just Dave and
a few other people who are

00:30:45.455 --> 00:30:46.445
keeping the lights on there.

00:30:46.865 --> 00:30:48.725
Does that play into it at all?

00:30:49.685 --> 00:30:50.665
Yeah, you nailed it.

00:30:50.665 --> 00:30:52.075
it's like the value of the community.

00:30:52.375 --> 00:30:56.305
It's one of the reasons when, you try
to pitch a, this is not a venture backed

00:30:56.305 --> 00:30:59.605
thing, and I'm, I have no intention of
making it that, but if you pitch to a

00:30:59.605 --> 00:31:02.545
vc, you go on Andrews and Horowitz's
website and read about the kind of

00:31:02.550 --> 00:31:03.730
pitches that they fund, it's okay.

00:31:04.435 --> 00:31:04.855
Network effects.

00:31:04.855 --> 00:31:05.575
network effects.

00:31:05.905 --> 00:31:06.475
There's a reason.

00:31:06.475 --> 00:31:08.695
It's every time you add a new
great person to a network, it

00:31:08.695 --> 00:31:10.255
increases the value of the network.

00:31:10.885 --> 00:31:12.025
And that's true here.

00:31:12.025 --> 00:31:14.845
That's true in every community I've
ever been a part of, is like the value

00:31:14.845 --> 00:31:16.345
of the community is the other people.

00:31:16.345 --> 00:31:20.695
And so if you have people that you
know, they come in, they work for

00:31:20.695 --> 00:31:22.615
a little while, and open source,
they get some great experience.

00:31:22.615 --> 00:31:25.615
They get their first job, they get their
second job, they come back and they

00:31:25.615 --> 00:31:27.265
share that wealth with the community.

00:31:27.265 --> 00:31:28.555
It makes everything better.

00:31:28.935 --> 00:31:30.165
It makes everything more valuable.

00:31:30.165 --> 00:31:31.275
It makes the community more valuable.

00:31:31.275 --> 00:31:35.215
It gives them that experience of coaching
the juniors, which we just talked about

00:31:35.215 --> 00:31:36.865
is really valuable, for their career.

00:31:36.955 --> 00:31:37.015
Yeah.

00:31:37.105 --> 00:31:40.295
I wouldn't call them senior right away,
but I would definitely say like we want

00:31:40.300 --> 00:31:41.975
them around because more experience.

00:31:41.975 --> 00:31:45.095
Imagine you're a bright isle, bushy
tail, bright eyed, bushy tail junior

00:31:45.095 --> 00:31:46.505
developer looking for your first job.

00:31:46.865 --> 00:31:50.525
If you're in a member of a community
where someone just like you, like just

00:31:50.525 --> 00:31:53.615
got that first job and they're coming
back, you get to listen to all the

00:31:53.615 --> 00:31:56.105
challenges that they're facing and the
challenges that you never would've.

00:31:56.420 --> 00:31:56.870
Thought of.

00:31:57.470 --> 00:31:58.970
It's just a really cool
experience, you know?

00:32:00.230 --> 00:32:02.655
I think the brand that you're
talking about there is important.

00:32:02.660 --> 00:32:06.075
Cause there's definitely some boot camps
where when we would get applications

00:32:06.075 --> 00:32:08.235
from that bootcamp, we would take it.

00:32:08.940 --> 00:32:12.150
They would go to the top, like we're
like, okay, of all the candidates,

00:32:12.150 --> 00:32:17.520
like we really enjoy talking to and
know, we know the level of curriculum

00:32:17.525 --> 00:32:18.840
and everything that comes outta that.

00:32:18.840 --> 00:32:22.200
We've had people on the team
who've come from that bootcamp.

00:32:22.690 --> 00:32:25.570
and then there's definitely been other
ones where, okay, we're gonna have

00:32:25.570 --> 00:32:30.700
to go really like in the take home
tests or whatever, figure out what

00:32:30.700 --> 00:32:32.170
might be missing, things like that.

00:32:32.170 --> 00:32:36.670
And so having a strong brand with agency
of learning and keeping, I would say

00:32:36.720 --> 00:32:41.610
Keeping that high is important there so
that when I see Agency of Learning, I

00:32:41.610 --> 00:32:45.840
get excited that someone from Agency of
Learning is hoping to work at my company.

00:32:45.900 --> 00:32:50.700
And I think you've talked about this on
other podcasts that kind of became similar

00:32:50.700 --> 00:32:53.105
with Pivotal Labs was very much like this.

00:32:53.105 --> 00:32:56.105
It's like someone would go from
a bootcamp, go work at Pivotal,

00:32:56.465 --> 00:32:58.265
and suddenly everyone's oh.

00:32:58.525 --> 00:33:01.530
I want a Pivotal alum on my team.

00:33:01.530 --> 00:33:04.050
When they move on to their
next thing, usually they would

00:33:04.050 --> 00:33:06.120
go on from agency to product.

00:33:06.250 --> 00:33:10.025
And you end up with all these people
at Airbnb and all these companies

00:33:10.025 --> 00:33:13.095
that came from Pivotal, which I
don't think is pivotal, still around.

00:33:14.535 --> 00:33:15.425
I don't think it is.

00:33:15.485 --> 00:33:15.755
Yeah.

00:33:15.755 --> 00:33:21.745
So we've got today it's probably more
like the Planet Argon, the evil Martians,

00:33:21.965 --> 00:33:23.615
sorry for all my agency friends.

00:33:23.645 --> 00:33:24.395
Sierra Rails.

00:33:25.805 --> 00:33:26.315
Not Bot.

00:33:26.855 --> 00:33:27.335
Not bot.

00:33:27.335 --> 00:33:27.695
There we go.

00:33:28.055 --> 00:33:28.505
Not bot.

00:33:28.565 --> 00:33:29.045
Yeah, you're right.

00:33:29.050 --> 00:33:30.145
it is brand building.

00:33:30.150 --> 00:33:32.415
There's a lot about this that's
not only is it not new or

00:33:32.415 --> 00:33:34.055
innovative, it's actually very old.

00:33:34.305 --> 00:33:35.505
we used to talk a lot about this.

00:33:35.505 --> 00:33:40.230
At Block we had this problem where,
The whole industry decided on the

00:33:40.230 --> 00:33:44.820
placement rate as a metric that
prospective students should use when

00:33:44.820 --> 00:33:46.350
deciding which boot camp to attend.

00:33:47.280 --> 00:33:50.430
And like on its face, if you're
looking at applying to in-person

00:33:50.435 --> 00:33:51.690
boot camps, it makes sense.

00:33:51.690 --> 00:33:52.770
It's not a crazy concept.

00:33:52.775 --> 00:33:53.220
It's yeah.

00:33:53.640 --> 00:33:57.390
How many people, went through the
program as the denominator, and how

00:33:57.390 --> 00:33:59.280
many people got jobs as the numerator?

00:33:59.670 --> 00:34:03.570
And when you're dealing in, 10, 20, 30
people in a cohort and you only have four

00:34:03.570 --> 00:34:07.570
co, four cohorts a year, yeah, that's less
than 200 people, less than 300 people.

00:34:07.810 --> 00:34:08.590
that's not crazy.

00:34:09.730 --> 00:34:13.755
What it means is, first of all,
geolocation, depending on where

00:34:13.760 --> 00:34:17.325
you're at, San Francisco, la, New
York, Houston, Dallas, whatever.

00:34:18.975 --> 00:34:19.785
That bootcamp.

00:34:19.995 --> 00:34:21.675
it's the same thing as college admissions.

00:34:21.825 --> 00:34:23.085
It's literally the same thing.

00:34:23.085 --> 00:34:27.285
you're identifying the best people and
you're bringing them in, and you're doing

00:34:27.285 --> 00:34:28.755
it so you can get a good placement rate.

00:34:29.945 --> 00:34:31.055
so that you can build that brand.

00:34:31.265 --> 00:34:31.625
Block.

00:34:31.655 --> 00:34:32.525
Block was different.

00:34:32.525 --> 00:34:34.205
Man block was much harder.

00:34:34.685 --> 00:34:37.620
we had an admissions process,
but it wasn't that competitive.

00:34:38.190 --> 00:34:40.680
and the whole point of doing
it online was the scale.

00:34:40.710 --> 00:34:42.520
We wanted the scale of
impact to be much larger.

00:34:43.220 --> 00:34:45.200
And that's one of the reasons it
ended up looking very different

00:34:45.540 --> 00:34:46.590
than an online classroom.

00:34:46.720 --> 00:34:50.560
when I left we had 3,500
concurrently enrolled students and.

00:34:51.235 --> 00:34:55.465
If all you're looking at is a placement
rate with numbers at that scale, you

00:34:55.465 --> 00:34:59.425
have to have five asterisks after your
placement rate because you know a lot.

00:34:59.755 --> 00:35:00.535
What about dropouts?

00:35:00.535 --> 00:35:01.855
What about people that don't want a job?

00:35:02.185 --> 00:35:05.665
We wanted to accommodate all of
those people, but in order to meet

00:35:05.665 --> 00:35:09.229
the market, the optical market needs
anyway, it, it was a big challenge.

00:35:09.609 --> 00:35:11.219
and I think, this model is simpler.

00:35:11.219 --> 00:35:11.999
I remember.

00:35:12.449 --> 00:35:13.319
hack Reactor.

00:35:13.319 --> 00:35:16.769
I am, I'm unplugged in the boot camp world
now, but I remember Hack Reactor used to

00:35:16.769 --> 00:35:18.749
call themselves the Harvard of boot camps.

00:35:19.269 --> 00:35:21.369
I don't know if they still call
themselves that, but for a while

00:35:21.374 --> 00:35:23.709
at least that was their brand and
I think they did a really good job.

00:35:24.009 --> 00:35:26.949
I think that, I think they nailed that
branding because that's what this is.

00:35:26.954 --> 00:35:30.009
it's about branding, it's about building
a brand that people trust and you

00:35:30.009 --> 00:35:32.049
need to invest in that reputation.

00:35:32.049 --> 00:35:34.959
And I'll say right away, I don't think
we did a great job of that at Block.

00:35:35.589 --> 00:35:37.479
we did not appreciate
how important that was.

00:35:37.479 --> 00:35:40.749
And then we also did not appreciate
how old of a problem this is.

00:35:41.559 --> 00:35:43.089
anyway, so I agree with you.

00:35:44.143 --> 00:35:49.943
When people are considering hiring
junior engineers, one thing that

00:35:49.943 --> 00:35:54.423
often comes up is who is gonna manage
them or mentor them or lead them?

00:35:54.993 --> 00:35:56.373
And I think.

00:35:57.103 --> 00:36:01.513
In one of the posts on the Agency of
Learning site, you talk about like

00:36:01.513 --> 00:36:05.743
wiggle room in management practices
and having a little bit more margin

00:36:05.743 --> 00:36:09.373
to make mistakes in turn of management
when you hire a senior person.

00:36:09.883 --> 00:36:15.593
And I'm curious what your take is on
maybe minimum level of experience for an

00:36:15.593 --> 00:36:21.173
engineering manager or the other engineers
on the team to successfully integrate.

00:36:21.273 --> 00:36:22.923
Junior or two to their team?

00:36:23.426 --> 00:36:26.426
I think it's like there's more than
one dimension to mentorship, right?

00:36:27.206 --> 00:36:33.166
there's like technical coaching, hey, You
shouldn't use loops, you should use map,

00:36:33.166 --> 00:36:37.606
or you shouldn't use polymorphism here,
you should use composition or whatever.

00:36:38.086 --> 00:36:40.366
this approach doesn't
follow solid principles.

00:36:40.726 --> 00:36:43.846
Duplication is better than the wrong
abstraction, those types of things.

00:36:44.536 --> 00:36:48.081
But then there's also hey, There's
also like pulling the, there's like

00:36:48.081 --> 00:36:50.621
the managerial duties of pulling
aside the engineer and saying,

00:36:50.621 --> 00:36:53.381
Hey, I get what you're going for in
that meeting, this kind of a thing.

00:36:53.386 --> 00:36:54.191
Got in your way there.

00:36:54.191 --> 00:36:55.901
Next time, maybe try this approach.

00:36:55.901 --> 00:36:59.731
Or, Hey, uh, you know, I, I have a really
high bar for you and you didn't meet that.

00:36:59.731 --> 00:36:59.732
Here.

00:36:59.737 --> 00:37:00.781
Is everything okay?

00:37:01.081 --> 00:37:05.401
so I think technically
obviously you need to have.

00:37:05.656 --> 00:37:08.866
Significant experience to be able
to coach a junior from a technical

00:37:08.866 --> 00:37:12.256
perspective, you want to definitely
avoid the blind leading the blind.

00:37:13.076 --> 00:37:17.826
and I honestly, again, an unpopular
thing, like I see that a lot, I

00:37:17.831 --> 00:37:21.576
see a lot of the blind leading the
blind and it doesn't keep me up at

00:37:21.576 --> 00:37:25.896
night, but it makes me concerned for
specific organizations and teams.

00:37:26.676 --> 00:37:30.306
I don't think you need a lot of technical
experience to do the other stuff at all.

00:37:30.406 --> 00:37:35.776
in fact, I think very junior, technically
junior engineers can be significantly

00:37:35.956 --> 00:37:37.786
superior managers and leaders.

00:37:37.916 --> 00:37:38.036
I.

00:37:38.266 --> 00:37:40.726
Because of their background, because
of their, maybe their communication

00:37:40.726 --> 00:37:42.256
skills or their interpersonal skills.

00:37:42.306 --> 00:37:44.806
Sometimes they're just like the
diamond in the rough and they turn

00:37:44.806 --> 00:37:45.526
out to be really good leaders.

00:37:45.526 --> 00:37:48.136
That's one person in particular at the
agency right now that I know of that's

00:37:48.141 --> 00:37:50.236
like that, that I feel very fortunate.

00:37:50.686 --> 00:37:55.036
Basically like Pluto and Saturn lined
up and beamed a good luck Ray into

00:37:55.041 --> 00:37:56.016
us and we got this awesome person.

00:37:57.026 --> 00:37:58.346
they're very junior technically.

00:37:58.346 --> 00:37:59.516
So would they make a good mentor?

00:37:59.516 --> 00:38:01.556
Like they make a good engineering leader?

00:38:01.996 --> 00:38:04.126
they probably need some help
making technical decisions.

00:38:04.276 --> 00:38:05.476
But, yeah, I don't know.

00:38:05.476 --> 00:38:06.406
That's a very good question.

00:38:06.473 --> 00:38:09.506
I don't have a totally
solid answer for Colin.

00:38:09.556 --> 00:38:16.986
what is your sort of like experience
to being maybe like being managed or

00:38:16.986 --> 00:38:18.586
managing other people or whatever?

00:38:18.646 --> 00:38:23.146
Cuz I think, yeah, I've got,
My own takes about managing

00:38:23.146 --> 00:38:24.706
people or like mentoring people.

00:38:24.706 --> 00:38:25.486
And it's tough.

00:38:25.516 --> 00:38:30.966
It's super tough to do it right and bring
them along and, yeah, I think, yeah.

00:38:30.966 --> 00:38:32.106
I'm curious your experience too.

00:38:33.856 --> 00:38:37.066
The wiggle room really resonates with
me is that you do have to have the

00:38:37.066 --> 00:38:41.231
space for it, and you have to give
yourself, if you're the one mentoring

00:38:41.231 --> 00:38:43.571
and helping, that is part of the job.

00:38:43.601 --> 00:38:46.301
It may not feel like, oh,
I'm a software engineer.

00:38:46.301 --> 00:38:47.441
My job is to write code.

00:38:47.901 --> 00:38:51.796
as you get more senior, and I think we
haven't done an episode on this, but

00:38:51.796 --> 00:38:56.236
we'll share a link to the engineering
ladders as you get more senior, your.

00:38:56.616 --> 00:38:59.946
locus of control, if you will,
gets more from, goes from

00:38:59.946 --> 00:39:01.356
more internal to externally.

00:39:01.356 --> 00:39:07.176
You start working more on how as a
junior I have my tickets and I'm working

00:39:07.176 --> 00:39:08.886
on my things and I'm learning myself.

00:39:09.276 --> 00:39:12.216
You're not so much worried about
what other people are working on.

00:39:12.616 --> 00:39:16.426
you might start to think about how your
ticket fits into the greater scope of

00:39:16.426 --> 00:39:19.966
things, and then you get to the next level
and you start to work with other people.

00:39:20.526 --> 00:39:23.976
I like the idea of pulling, pairing
down so that you are working with other

00:39:23.976 --> 00:39:27.366
people on more earlier in your career.

00:39:27.366 --> 00:39:31.086
But starting, you're not having
to worry about the business goals

00:39:31.386 --> 00:39:34.661
as a junior engineer, Versus as
you get more and more senior and

00:39:34.661 --> 00:39:35.671
you're getting towards that senior.

00:39:36.586 --> 00:39:40.546
Level engineer, you're actually more
concerned about what the whole department

00:39:40.546 --> 00:39:44.746
is working on or what your team is
working on and how it fits into the

00:39:44.746 --> 00:39:46.156
greater goal and things like that.

00:39:46.156 --> 00:39:51.276
And so I would say like all of that is
part of the work and I really enjoy for

00:39:51.281 --> 00:39:55.956
developing like your own, whether or not
you're an IC or aspire to be a manager.

00:39:56.181 --> 00:39:58.971
There's a really good podcast
called Developing Leadership

00:39:58.971 --> 00:40:00.951
from Jason Warner and ISO Kent.

00:40:01.441 --> 00:40:04.141
and then there's also a really good
book called Engineering Management

00:40:04.141 --> 00:40:06.121
for the Rest of Us from Sarah Dresner.

00:40:06.601 --> 00:40:09.836
And both of those are really good
at just if you don't want to be an

00:40:09.836 --> 00:40:13.136
engineering manager, they're useful
to listen to, to learn how to work

00:40:13.141 --> 00:40:17.066
with your managers to learn like
what is even engineering management.

00:40:17.641 --> 00:40:20.161
sometimes that person was an engineer.

00:40:20.161 --> 00:40:21.031
Sometimes they're not.

00:40:21.031 --> 00:40:22.741
It really depends on the organization.

00:40:23.251 --> 00:40:23.471
and.

00:40:24.411 --> 00:40:28.671
It's also a very big decision people have
to make is a lot of people will stick to

00:40:28.671 --> 00:40:33.231
the IC track and some people will choose
to go to the people management side.

00:40:33.631 --> 00:40:37.531
and so I think if you're out there
and you're thinking about bringing

00:40:37.536 --> 00:40:40.981
on a junior, like you gotta give
yourself the space and time to make

00:40:40.981 --> 00:40:44.671
sure that you can do the mentorship
and that remember it's part of the job.

00:40:44.671 --> 00:40:48.361
You might not feel like you did the
same amount of work as you did yesterday

00:40:48.361 --> 00:40:50.431
because you had to do some work with your.

00:40:51.031 --> 00:40:53.331
You're Junior and it's great,
that's part of the job.

00:40:53.331 --> 00:40:56.421
that's going to, you're gonna
see that payoff in spade.

00:40:56.421 --> 00:40:59.271
Like you could have done the work
yourself, but now they're gonna

00:40:59.271 --> 00:41:02.511
learn how to do that work and they're
gonna be able to develop themselves,

00:41:02.516 --> 00:41:04.041
which is, goes a lot farther.

00:41:04.881 --> 00:41:05.371
Totally.

00:41:05.971 --> 00:41:08.396
On one of the teams that I was on, we.

00:41:09.176 --> 00:41:12.711
Worked really well as a
small engineering team.

00:41:13.311 --> 00:41:17.751
And we had some, I would say like we were
pretty functional, like high functioning

00:41:17.781 --> 00:41:20.131
in terms of using Jira really well.

00:41:20.131 --> 00:41:22.891
We had our velocity was
like really locked in.

00:41:22.891 --> 00:41:26.191
We could estimate really well,
and one of the things I remember.

00:41:26.731 --> 00:41:30.991
When we brought on a junior to that
team was like, okay, everyone, we all

00:41:30.991 --> 00:41:35.101
expect velocity to plummet for the
next six to nine months because we all

00:41:35.101 --> 00:41:36.816
wanna bring this junior along with us.

00:41:37.236 --> 00:41:42.676
And so like it is a fully understood
thing going into this that we're

00:41:42.676 --> 00:41:44.036
gonna lose a little bit of speed.

00:41:44.616 --> 00:41:50.026
And that's intentional because we want to
yeah, eventually get that back in spades.

00:41:50.516 --> 00:41:55.196
I think, one interesting experience I
had was managing a couple of interns.

00:41:55.846 --> 00:42:00.496
and that's when I started to recognize
there's so many different behaviors

00:42:00.496 --> 00:42:05.136
as an engineering manager, that
can make it so that the junior is

00:42:05.136 --> 00:42:06.436
more successful or less successful.

00:42:06.796 --> 00:42:11.476
It's like you gotta, you do have to
be explicit about those communication

00:42:11.476 --> 00:42:15.526
touchpoints and about holding certain
bars and being really clear about

00:42:15.526 --> 00:42:19.516
the expectations and making sure
that they understand how to achieve

00:42:19.516 --> 00:42:21.766
those and all the steps in between.

00:42:21.766 --> 00:42:25.036
And the more and more that you
build that trust, the more you can

00:42:25.086 --> 00:42:26.886
let go of the reins a little bit.

00:42:26.886 --> 00:42:30.336
But I think, yeah, in my
experience holding those, I.

00:42:30.606 --> 00:42:34.326
Controls really tightly with a
junior actually makes you move faster

00:42:34.326 --> 00:42:40.046
because you can get to know what's
expected sooner and then the junior

00:42:40.046 --> 00:42:41.211
kinda picks up and runs with it.

00:42:41.331 --> 00:42:44.121
but yeah, I think, I don't know.

00:42:44.661 --> 00:42:45.711
Engineering management is very hard.

00:42:46.381 --> 00:42:49.551
So anyone who's out there who's doing
engineering management, I, yeah.

00:42:49.611 --> 00:42:52.731
Kudos to you cuz it's, it is,
it's tricky to be both technical.

00:42:53.421 --> 00:42:55.071
And be able to work with people.

00:42:55.311 --> 00:42:57.731
And, yeah, bringing
juniors along is tough.

00:42:57.911 --> 00:42:59.181
preach, that's all.

00:42:59.181 --> 00:43:01.851
I'll, that's not all I will say
to that, cj, but I'll say preach.

00:43:01.911 --> 00:43:05.841
I think the best environments that
I've ever seen or been a part of to

00:43:05.841 --> 00:43:10.571
learn the craft of, of engineering
management have been, a weird mix of

00:43:10.691 --> 00:43:17.261
both supportive and warm, but also,
The higher up you get, the more brutal

00:43:17.441 --> 00:43:19.481
the consequences are when you fail.

00:43:20.201 --> 00:43:24.001
and for me, just looking out my own
eyes, the experience of block for me was

00:43:24.001 --> 00:43:26.881
fascinating and it, I feel very lucky
to have been a part of it because it

00:43:26.881 --> 00:43:28.116
was, it's four of us at the beginning.

00:43:28.786 --> 00:43:31.636
And then we started hiring
engineers and hiring a designer.

00:43:31.636 --> 00:43:34.126
And then we had hired a second designer
and we hired an office manager.

00:43:34.126 --> 00:43:37.546
We hired a director of marketing,
then we hired a SA salesperson,

00:43:37.546 --> 00:43:39.436
then second salesperson and support.

00:43:39.436 --> 00:43:42.366
Before you know it, I used to joke
my job changed every four to six

00:43:42.371 --> 00:43:48.026
months and what I learned real fast
was that like, you gotta get your

00:43:48.026 --> 00:43:53.576
ego out of the way because if the
ego's in your way, you're gonna fail.

00:43:53.666 --> 00:43:58.391
And basic basically, cuz it's, for
me it was this like, Crazy recursive,

00:43:58.391 --> 00:44:02.891
meta hyperdimensional experience of
like e every four months you'd have

00:44:02.891 --> 00:44:06.341
a new mirror held up to you that
showed you all your flaws, right?

00:44:06.681 --> 00:44:06.971
Yeah.

00:44:07.031 --> 00:44:10.691
Because the team be beneath you
began to manifest those flaws.

00:44:11.471 --> 00:44:14.111
It's okay, the next team, they
better be better at receiving

00:44:14.116 --> 00:44:16.156
feedback than I was, installing that.

00:44:16.156 --> 00:44:18.176
And the last thing, it's it's
a very humbling experience.

00:44:18.176 --> 00:44:19.106
I couldn't agree with you more.

00:44:19.226 --> 00:44:20.606
That goes both ways.

00:44:20.706 --> 00:44:24.846
you don't want this culture of your
company to be that people who are new

00:44:24.846 --> 00:44:28.716
to the team, whether they're junior
or not, to have this experience of

00:44:28.716 --> 00:44:32.046
having to go visit the wizard on the
mountain to go ask a question, right?

00:44:32.046 --> 00:44:34.206
It's like you gotta check
the ego at the door.

00:44:34.886 --> 00:44:40.046
No matter what level you're at, you're on
the same team, you're on the same side.

00:44:40.046 --> 00:44:44.396
Like the goal is not that I know
more, this is a very much a scarcity

00:44:44.396 --> 00:44:45.956
mindset that sometimes happens.

00:44:46.466 --> 00:44:50.096
And I'd be curious to end this,
this episode on this topic of

00:44:50.576 --> 00:44:52.136
right now in the market, there are.

00:44:52.926 --> 00:44:54.756
Quite a few engineering jobs.

00:44:54.756 --> 00:44:58.026
There's also quite a few engineering
layoffs happening, but almost

00:44:58.026 --> 00:45:02.436
all the jobs are senior and staff
engineers right now that I'm seeing.

00:45:02.856 --> 00:45:05.196
And I'd be curious to get
your take on why that is.

00:45:05.201 --> 00:45:10.286
Why when we see these little ripples in
the economy, do we see a retraction in.

00:45:11.011 --> 00:45:14.761
Early career jobs, and we don't
have to solve this problem if we

00:45:14.761 --> 00:45:16.981
don't know the answer to it, but
I'd just be curious to get your

00:45:16.981 --> 00:45:19.201
take on why do we think we see that?

00:45:19.201 --> 00:45:23.791
Like why wouldn't this be an opportunity
to invest in early career devs?

00:45:23.791 --> 00:45:27.661
When you know, senior staff engineers,
they come with ego, they come

00:45:27.666 --> 00:45:29.101
with really expensive salaries.

00:45:29.551 --> 00:45:33.931
Why is that still being hired
for when we have other options?

00:45:34.699 --> 00:45:36.109
I'm not gonna pretend to like.

00:45:36.634 --> 00:45:38.254
be the oracle that knows why.

00:45:38.434 --> 00:45:41.444
Cause I don't, my experience
is not at big companies.

00:45:41.444 --> 00:45:46.204
I don't, I've, we did do a layoff at
Block in 2016, which was very tough.

00:45:47.044 --> 00:45:50.678
so but I am of the opinion
that it is an opportunity.

00:45:50.728 --> 00:45:52.138
I find myself in this weird.

00:45:52.843 --> 00:45:55.773
This weird spot personally, where
it's I know, I feel like I now know,

00:45:55.833 --> 00:45:58.413
especially after the last few months,
I know how to hire pairs of junior

00:45:58.413 --> 00:46:01.053
devs with the right amount of senior
coaching, the right product management,

00:46:01.413 --> 00:46:05.643
the right types of projects, and they
produce superior results to a team

00:46:05.648 --> 00:46:10.441
of, three senior engineers and it's
cheaper and they have better retention

00:46:10.541 --> 00:46:12.321
and they have better job satisfaction.

00:46:12.876 --> 00:46:13.886
So what am I missing?

00:46:13.886 --> 00:46:17.961
Like I do think that, And, I'm doing my
best to educate the market and manifest

00:46:17.961 --> 00:46:22.801
it, but I think at the end of the day,
every team and culture is different.

00:46:22.856 --> 00:46:26.826
to your point, CJ earlier about like
the balance of like holding that control

00:46:26.831 --> 00:46:28.896
very tightly produces better results.

00:46:28.896 --> 00:46:33.062
I'm a big fan of, David Marque, who wrote
this great book, turned the ship around.

00:46:33.182 --> 00:46:34.892
I am not an affiliate or anything.

00:46:34.892 --> 00:46:37.292
I've never met the guy, just,
I'm big fan of his work.

00:46:37.682 --> 00:46:41.227
and he, there's this idea of in the
spirit of not ha not building a cult of

00:46:41.227 --> 00:46:45.082
personality into your organization, he
has a line about every organization knows,

00:46:45.542 --> 00:46:48.602
e everybody knows of an organization
where people will just follow the leader

00:46:48.602 --> 00:46:53.612
off of the cliff, Instead, if you push
the authority down to the information

00:46:53.612 --> 00:46:56.282
rather than the information up to some
decision making authority, then you

00:46:56.282 --> 00:46:57.902
just get a healthier organization.

00:46:58.382 --> 00:47:01.982
And if you think at it from a
systems perspective like that, tuning

00:47:01.982 --> 00:47:06.632
the control that you give to the
competency level, and so you can

00:47:06.632 --> 00:47:09.327
ratchet it up, is the key, right?

00:47:09.657 --> 00:47:13.767
And so in this world of layoffs
where it seems like nobody's hiring

00:47:13.767 --> 00:47:17.947
juniors like Zig, when everybody else
is zagging, turn everybody else's

00:47:17.947 --> 00:47:19.537
deadly risk into your superpower.

00:47:19.757 --> 00:47:20.627
that's what I would say.

00:47:20.727 --> 00:47:22.407
find the playbook, execute the playbook.

00:47:22.407 --> 00:47:23.517
It is not that hard.

00:47:23.787 --> 00:47:27.117
What's hard is you, it's, it you,
it will feel unnatural to you.

00:47:27.367 --> 00:47:29.972
it's the engineering management problem
that we've just been talking about is

00:47:30.022 --> 00:47:34.042
it's much easier to hire the egotistical,
expensive senior engineer and deal

00:47:34.042 --> 00:47:36.132
with their baggage, sorry to say.

00:47:36.747 --> 00:47:39.717
Than it is to hire a pair of juniors
and go through that discomfort and

00:47:39.717 --> 00:47:43.677
incur the management overhead and try
to figure out how to run an effective

00:47:43.677 --> 00:47:46.442
organization when you've really been just
leaning on really experienced people.

00:47:46.447 --> 00:47:47.372
Nothing wrong with that.

00:47:47.552 --> 00:47:50.782
That's the kinda organization being it's
fine, but, I perceive this as a potential

00:47:50.782 --> 00:47:52.942
superpower and I see it in my team.

00:47:52.942 --> 00:47:56.392
I've seen it on other teams and I can't
figure out why more people don't do it.

00:47:57.112 --> 00:47:59.497
So if you can crack that
code, you'd be in the top 1%.

00:48:00.127 --> 00:48:00.487
All right.

00:48:00.487 --> 00:48:03.007
I think that's a great
place to end, this episode.

00:48:03.012 --> 00:48:05.867
Thank you so much for joining us, Dave.

00:48:05.872 --> 00:48:09.147
And yeah, this is something, it's giving
me a lot of things to think about too.

00:48:09.872 --> 00:48:14.282
In terms of like, how best I can think
of this in my own roles and how to

00:48:14.762 --> 00:48:19.862
empower early career devs, and if you're
interested in getting involved, where can

00:48:19.867 --> 00:48:25.312
people find all the things about agency of
learning, all things Dave  Sierra Rails.

00:48:25.312 --> 00:48:26.482
Where can, where should we send people?

00:48:28.172 --> 00:48:32.792
Yeah, I should send people to agency of
learning.com or follow me on Twitter,

00:48:33.242 --> 00:48:37.422
which I'm too, still trying to figure
out like the branding between myself and

00:48:37.427 --> 00:48:38.952
the Agency of Learning Twitter account.

00:48:39.012 --> 00:48:41.202
it's a weird hybrid, but yeah.

00:48:41.252 --> 00:48:43.473
I appreciate you guys bringing me
on and it was fun chatting and,

00:48:44.072 --> 00:48:45.392
yeah, let's catch up again soon.

00:48:47.492 --> 00:48:48.152
Thanks a ton.

00:48:48.897 --> 00:48:52.587
as always, you can head over to build
and learn.dev to check out all the

00:48:52.587 --> 00:48:54.297
links and resources in the show notes.

00:48:54.777 --> 00:48:57.747
That's all for this episode,
and we will, see you next time.

00:48:58.107 --> 00:48:58.617
Bye folks.

00:48:58.617 --> 00:48:59.307
Thanks again, Dave.

00:49:00.577 --> 00:49:01.077
See ya.