00:00:00.000
ready for takeoff
00:00:17.279
hi rubyconf last stretch before lunch
00:00:20.220
are you as excited excited as I am
00:00:26.100
okay hi everybody and welcome to staff
00:00:28.619
engineer hereby dragons
00:00:30.840
my name is Alexander Raza I'm a Staff
00:00:33.600
engineer at Shopify you can reach me by
00:00:36.059
email because I'm an old person
00:00:37.559
apparently
00:00:39.660
um and we're hiring so if you're
00:00:42.180
interested in what we're doing
00:00:44.040
and want to have a chat with us please
00:00:46.320
come join us at the booth after after
00:00:48.180
this talk
00:00:49.800
I'm a member of the Ruby and rails
00:00:51.660
infrastructure team I work with those
00:00:53.760
amazing people and much more that I'm
00:00:55.559
not in the picture we're working on
00:00:56.879
things such as the Ruby language the
00:00:58.680
rail framework some projects like ygit
00:01:01.379
trophy Ruby syntax tree or the Ruby LSP
00:01:05.519
and so this talk is about dragons
00:01:09.600
so what about hereby dragons heavy
00:01:11.760
dragons is
00:01:13.320
oh Uncharted areas of the maps were
00:01:16.140
marked in medieval time where people
00:01:17.700
never went before and where we didn't
00:01:20.820
knew what was there it was used to Mark
00:01:23.939
the potential danger at the endnote it's
00:01:26.100
actually not completely true the real
00:01:27.420
the real name
00:01:29.520
expression was
00:01:31.340
Lions but unless you're Lannister it is
00:01:34.320
an advert as the same ring to it
00:01:37.200
but what is the relationship with this
00:01:39.119
talk
00:01:40.619
as I started my career with being like a
00:01:43.020
junior engineer an engineer senior
00:01:44.460
engineer all these paths seem very well
00:01:47.700
defined rather non-terror territory but
00:01:50.700
being a staff engineer and higher for me
00:01:53.100
this is where the lions were where like
00:01:55.140
it was not completely clear what was
00:01:58.259
expected of me and why what I was to be
00:02:01.020
expecting about this position
00:02:02.820
so I wanted to give this talk so
00:02:04.619
together we can learn a bit more about
00:02:06.719
this position
00:02:07.860
and demystify what it means to to be
00:02:10.679
leading beyond the management track
00:02:15.000
as a disclaimer I do not pretend to be a
00:02:17.580
reference in the matter
00:02:18.959
I do not even pretend to be a good staff
00:02:20.940
engineer
00:02:21.900
and there are a few people from my team
00:02:23.640
here so I don't want to be lying
00:02:26.760
and so at the as the methodology for
00:02:29.220
this talk I didn't want it to do to do
00:02:31.020
this by myself I wanted to have the
00:02:32.879
advices of like more senior people other
00:02:35.580
staff engineers and Senior staff
00:02:37.140
Engineers from my team so I really want
00:02:39.900
to thank all the people here that helped
00:02:41.640
me understand better what is their
00:02:43.560
experience as a staff engineer what is
00:02:46.860
their take on this position and to
00:02:49.019
answer all the Accord questions I've
00:02:50.819
been asking them over the last few weeks
00:02:54.420
I also want to point you to two amazing
00:02:56.400
resources those books uh the first one
00:02:58.739
is a staff engineer by Will Larson the
00:03:01.019
second one is Staff Engineers part by
00:03:02.580
Tanya Raley I really encourage them to
00:03:04.560
read them if you're like curious about
00:03:05.940
what it is to be a staff engineer if you
00:03:07.440
want to become one or even if you are
00:03:09.599
one already
00:03:13.080
and to better understand what our staff
00:03:15.900
Engineers let's go back a bit in our
00:03:17.879
journey from Junior to senior engineer
00:03:21.120
so we started here as a junior engineer
00:03:23.459
maybe out of like a university or I
00:03:26.159
don't know and we'll go at this level is
00:03:28.319
to level up or craft we work as part of
00:03:31.260
a team we start contributing to projects
00:03:33.420
but we ship code with a lot of with a
00:03:35.819
lot of oversights we take direction from
00:03:37.680
more senior people on how to build
00:03:39.060
things we use their guidance to
00:03:41.099
understand what is the impact we can do
00:03:43.019
and this impact at this level is mostly
00:03:45.120
individual we grow cells we grow on
00:03:47.640
skills
00:03:49.140
then as we progress we reach the level
00:03:51.540
of engineer
00:03:53.220
we continue leveling your Apple craft
00:03:55.560
growing our skills but we start
00:03:57.480
collaborating more and more with other
00:03:58.860
members of huchim
00:04:00.360
we apply the best practices we learned
00:04:02.400
before from more senior colleagues and
00:04:04.620
we start to ship code more independently
00:04:06.540
we provide feedback to colleagues
00:04:09.239
but the impact we still have at this
00:04:11.159
level is mostly individual
00:04:13.200
and then finally we're rich senior
00:04:15.299
engineer we are now a trusted expert of
00:04:17.820
the code base we work on
00:04:19.380
will require less much much less
00:04:22.079
oversight on the code we ship we
00:04:24.300
understand better what is the long-term
00:04:25.979
impacts of the technical decision we
00:04:28.139
take
00:04:30.000
this is going to help us to contribute
00:04:31.800
to new technical patterns to although
00:04:34.020
peers accountable on for example reviews
00:04:37.080
to follow those technical patterns and
00:04:39.180
we start leading the technique leading
00:04:40.979
the technical direction of the projects
00:04:42.479
we work on
00:04:43.620
the impact level we have at least this
00:04:45.720
this level sorry the impact we have at
00:04:47.639
this level is much more about peers we
00:04:50.160
start impacting more people than just
00:04:51.660
ourselves
00:04:52.680
foreign
00:04:56.100
in most companies the the title of
00:04:58.740
senior engineer is what they call the
00:05:00.120
Carrier level
00:05:01.440
it is intended to be the highest level
00:05:03.900
that most of us are going to achieve and
00:05:06.360
while you may get into trouble if you do
00:05:08.100
not move from Junior to senior fast
00:05:10.020
enough there are actually no
00:05:11.520
expectations for you to go higher than
00:05:13.199
senior engineer
00:05:15.419
but what if what if you want to go
00:05:17.220
further you have to pass in front of you
00:05:20.400
the first one is the management track
00:05:22.259
the Engineering Management some some
00:05:23.880
people call this the people track where
00:05:26.220
you're going to find the levels as
00:05:27.979
engineering manager senior manager
00:05:30.120
director of VP this is the track where
00:05:32.340
you're most concerned about things like
00:05:33.600
performance reviews carry progression
00:05:36.960
and if you're not at ease with the
00:05:38.820
people track you have an another
00:05:40.440
opportunity the technical track what is
00:05:43.259
the technical leadership this is where
00:05:45.120
you're going to find the levels such as
00:05:46.620
staff Engineers sometimes we call this
00:05:49.560
Tech lead or architect depending on the
00:05:51.479
companies then senior engineer principal
00:05:53.759
distinguished engineer
00:05:55.919
and this is the track we're going to
00:05:57.539
focus on today and most like most
00:06:00.300
precisely on the level of Staff engineer
00:06:03.900
so let's talk about this where for me
00:06:06.240
the Dragons Were and
00:06:09.360
it seemed less less defined for me
00:06:11.639
because first this level is not
00:06:13.080
available in all companies depends on
00:06:14.759
the maturity of the company and also
00:06:16.800
statistically there are less of them
00:06:18.180
than senior Engineers so you get more
00:06:19.800
less like blog articles and like uh
00:06:22.819
explanations about what is this role
00:06:27.060
if we go back a bit in history the title
00:06:29.400
staff engineer most likely come from the
00:06:31.259
British Navy with the Advent of the
00:06:33.240
steam engine in 1835 the British Navy
00:06:35.280
created the naval engineers the Royal
00:06:37.800
Naval engineer sorry a branch that was
00:06:40.319
composed of Naval Engineers that were
00:06:41.639
here to
00:06:42.960
um
00:06:44.400
manage it and keep all the the Machinery
00:06:47.220
on top of uh on on board of the boats
00:06:49.800
like for example the steam projects and
00:06:51.660
everything
00:06:53.039
and in 1885 it was proposed that the
00:06:56.160
more senior of the chief Engineers to
00:06:58.199
receive the commission as staff with a
00:06:59.759
relative the relative rank of Staff
00:07:01.860
lieutenants in other branches this rank
00:07:04.380
was the according to Engineers having
00:07:06.660
between 8 and 15 years of seniority as
00:07:09.840
for the prefix stuff itself
00:07:12.240
it actually there is from the German
00:07:13.680
word stab which at the time was used to
00:07:16.380
designate a group of Military Officers
00:07:18.180
that were here to assist a commander in
00:07:20.940
in his decisions
00:07:22.680
the staff rank is actually still be used
00:07:24.599
in the Army it is just above
00:07:27.360
um sergeant and just below first surgeon
00:07:29.520
first class staff surgeons are generally
00:07:31.440
placed in charge of a squad which is
00:07:33.240
around 10 soldiers but also can act as
00:07:36.180
platoon leaders which is two to five
00:07:37.860
squads
00:07:39.479
and this ties up to what staff Engineers
00:07:42.300
are today
00:07:43.740
they assume the leadership of a team
00:07:46.560
which could be a squad or a cluster of
00:07:48.360
teams like a plateau
00:07:50.280
and what they do is first identify
00:07:53.580
technical problems and create Solutions
00:07:55.860
impacting their wall area they lead and
00:07:58.560
align the technical direction of
00:08:00.180
ambiguous projects offered for a team
00:08:03.240
they evolve the team processes the tools
00:08:06.300
and the code bases to deliver higher
00:08:08.039
throughput and quality of engineering
00:08:10.380
they are here to grow their team by
00:08:12.300
identifying the development needs and
00:08:14.639
addressing them through education and
00:08:16.259
mentorship
00:08:17.400
they are here to empower others to make
00:08:19.860
decisions
00:08:21.300
and here we can see that the scale of
00:08:22.860
impact is no more highs there's no more
00:08:25.020
appears but the world team and sometimes
00:08:26.759
teams around us
00:08:29.400
but I really enjoy this shorter
00:08:31.199
definition from Rose Wigley who is a
00:08:33.300
senior staff engineer at Shopify she
00:08:35.459
actually used this code during a closing
00:08:37.680
keynote for the rubikov mini a few weeks
00:08:40.080
ago a senior engineer is a problem
00:08:41.880
solver a staff engineer is a problem
00:08:44.279
finder
00:08:45.540
a problem finder
00:08:47.700
indeed as a staff engineer Your Role is
00:08:49.860
to find the next challenges of
00:08:51.120
strategical value for your company the
00:08:53.820
priorities that will become critical in
00:08:55.620
the future you are here to think to
00:08:57.779
think to think ahead to see the bigger
00:09:00.000
picture and try to anticipate the
00:09:01.620
problems that may come
00:09:04.019
but all of this is still was still a bit
00:09:06.540
not conquered as as much concrete as I
00:09:09.779
wanted when I started and something that
00:09:11.820
helps me see like okay what are you
00:09:13.380
actually going to do week by week day by
00:09:15.480
day so I wanted to give you a more
00:09:17.880
concrete view of what is what is going
00:09:19.980
to be your future if you reach this
00:09:21.480
position
00:09:22.320
and to do so let's materialize this as a
00:09:24.660
weekly schedule this is a classic nine
00:09:27.180
to five template we have some we have
00:09:29.279
some family obligation before and after
00:09:30.779
so no much time for over time and let's
00:09:34.700
set apart sometime for lunch because I
00:09:37.500
really like to have lunch
00:09:40.140
first as a staff engineer you are still
00:09:42.660
part of a team
00:09:43.800
you still answer to an engineering
00:09:45.360
manager you still take Parts in the team
00:09:48.300
rituals
00:09:49.560
and you are not Exempted magically from
00:09:51.600
all your obligations that the team
00:09:53.100
member as a team member
00:09:55.380
so you will participate in maybe the
00:09:58.680
morning Monday morning Sprint planning
00:10:00.420
you will have a one-on-one with your
00:10:02.040
engineering manager you take part in
00:10:04.320
some stand-ups and some team rituals
00:10:06.180
maybe for example team social at the end
00:10:07.860
of the week very important if you're
00:10:09.180
working remotely like me
00:10:11.160
and this is already taking some some
00:10:13.080
place in your schedule
00:10:15.779
as we saw you also here to set the
00:10:18.000
technical direction for your team or
00:10:20.040
does that like work in your schedule
00:10:22.860
if we go back to our schedule here first
00:10:25.800
we're going to allocate some time to do
00:10:27.360
code reviews code reviews are a very
00:10:28.920
important tool to ensure that the team
00:10:31.019
builds the right thing in the right code
00:10:32.640
base at the right level of the stack
00:10:34.680
it's very useful to maintain the level
00:10:36.300
of engineering quality we're expecting
00:10:38.160
and we Thrive for and it keeps us aware
00:10:40.380
of what is happening around us what the
00:10:42.120
team is doing what other teams around us
00:10:43.680
are working on
00:10:46.920
as a trusted area expert in your area
00:10:50.040
you're going to be cool we're going to
00:10:51.959
be pulled in a few meetings for example
00:10:54.720
um a strategy meeting where we as we are
00:10:57.839
aware of the next problems and
00:10:59.100
challenges the company is going to face
00:11:00.959
will be here to help selecting what are
00:11:03.839
the next projects we should be working
00:11:05.100
on and keeps us aligned with like
00:11:06.959
Authority and higher management
00:11:09.480
we also may be pulled in an alignment
00:11:11.760
meeting with other teams to decide what
00:11:14.279
is the next technical direction we're
00:11:15.540
going to take over the broad area we are
00:11:17.820
like an expert of and to bring our
00:11:19.620
engineering perspective
00:11:21.720
to build to build cross race across team
00:11:24.360
relationships with others so we can have
00:11:26.519
a line of communication or maybe we can
00:11:28.860
be pulled in a tech review meeting so we
00:11:30.420
can bring our domain expertise and help
00:11:31.980
solve problems so a few more hours you
00:11:35.040
know planning
00:11:36.959
now for all the staff engineers and
00:11:39.180
interviews or readabouts or heard in
00:11:41.160
podcasts mentoring and sponsorship is
00:11:43.980
one of the most important activity if
00:11:45.899
not the most important they were talking
00:11:47.579
about and they all dedicate a couple of
00:11:49.500
hours each week to grow their team and
00:11:52.140
the people around them
00:11:53.940
remember that the scale of impact here
00:11:56.160
is the team scale the people around you
00:11:58.260
and maybe the people in the teams around
00:11:59.820
you and you're here to force the growth
00:12:01.620
to up level the team upload all the
00:12:03.360
people in your team
00:12:04.680
and empowered them to make decisions you
00:12:07.260
basically try to clone yourself but
00:12:09.180
clone them even better than yourself so
00:12:11.100
you can delegate decisions and rely on
00:12:14.040
them when you need
00:12:16.140
so if we go back to a weekly planning
00:12:18.720
first we're going to schedule a few one
00:12:20.220
and ones with the people in our team
00:12:21.740
maybe as Mentor we're going to help them
00:12:24.480
grow their inner role and navigate the
00:12:26.040
carrier we're going to use this time to
00:12:28.920
gather feedback about our processes
00:12:31.220
maybe we can discuss the current
00:12:33.180
problems the team have the solution
00:12:36.060
we're trying to implement it's a very
00:12:37.800
important part of the communication and
00:12:39.360
again if you work remotely you're not
00:12:41.459
going to meet these people at the coffee
00:12:42.779
maker so that may be a very good a very
00:12:45.899
good time to talk with them
00:12:48.120
then we're going to schedule a few
00:12:49.920
pairing sessions if you are in this room
00:12:51.779
just for the previous talk pairing is a
00:12:54.420
very effective tool to both learn and
00:12:56.100
teach and we want to do this with
00:12:58.139
different people at different seniority
00:12:59.639
levels I find that more than an hour is
00:13:02.339
hard for me to focus
00:13:03.959
and generally I try to do it just with
00:13:05.579
one percent maximum two percent at the
00:13:07.260
same time
00:13:09.720
growing the team that also means
00:13:11.519
bringing new people in the team so we're
00:13:13.200
going to allocate a few a few slots in
00:13:15.839
the week ideally at different hours to
00:13:18.839
work automated through accommodate
00:13:20.339
candidates from different time zones so
00:13:22.380
we can interview them
00:13:23.760
and if this process of hiring is
00:13:25.800
successful we get a new person in the
00:13:27.360
team that means more one-on-one more
00:13:28.860
pairing more onboarding to do
00:13:33.600
being a staff engineer also makes sure
00:13:35.880
that the team is going to succeed and is
00:13:37.920
going to thrive
00:13:39.720
Tanya really defines this as being blue
00:13:41.760
this is all the non-glamorous almost
00:13:44.040
invisible yet very essential work for a
00:13:46.440
team or an organization to thrive
00:13:49.560
if we go back to a weekly planning here
00:13:52.320
we're going to maybe take notes we took
00:13:54.240
note during the meetings we've been
00:13:55.560
we've been invited at and we're going to
00:13:57.300
tidy up those notes share them with the
00:13:58.980
rest of the organization
00:14:00.600
we're going to set about some time to
00:14:02.339
talk with one member that has a problem
00:14:03.779
right now or like disco social solution
00:14:06.000
that someone is going to try to
00:14:07.260
implement
00:14:08.639
and we hired we just hired someone so
00:14:10.740
we're going to dedicate a few hours to
00:14:12.060
onboard this person and make them
00:14:13.680
effective make them productive faster
00:14:16.320
and as we were doing this onboarding
00:14:18.300
realized that maybe something about the
00:14:19.980
processes can be explained better in
00:14:21.839
your team Playbook so we're going to
00:14:23.100
take about an hour to like announce this
00:14:25.139
or maybe add some documentation time so
00:14:27.600
we can explain better an obscure area of
00:14:31.019
the code base we're working on and we
00:14:32.579
want this onboarded person to uh to
00:14:34.200
master faster
00:14:37.200
so
00:14:38.940
let's address the elephant on the room
00:14:41.220
and the question I get asked like often
00:14:43.260
do you still code
00:14:45.300
well you still have some time
00:14:50.880
so maybe you can be coding a bit
00:14:53.880
in practice and for all the people I
00:14:56.160
interviewed the general answer is yes
00:14:57.720
but less than before
00:15:00.060
you have less time available for it and
00:15:02.160
this time may be eaten up by other
00:15:03.540
responsibilities maybe some more
00:15:05.639
technical Direction work maybe some more
00:15:07.680
mentoring maybe some more glue work the
00:15:10.260
time you have to allocate to this
00:15:11.760
becomes cancer at times goals coding
00:15:15.000
needs to be more specialized more
00:15:16.560
focused
00:15:17.820
but I still think it's a very important
00:15:19.680
part of our day-to-day it's something
00:15:21.480
that is very important to keep doing it
00:15:23.220
keeps you grounded in reality and I find
00:15:25.800
that refactoring is actually a very good
00:15:27.660
exercise to keep touch with the code
00:15:29.459
base and the problem space
00:15:32.459
how much time you're actually going to
00:15:34.820
allocate to each task
00:15:37.260
depends a lot and may evolve over time
00:15:39.899
it depends on the engineering strength
00:15:42.240
of your company maybe you are in a
00:15:43.920
startup and what you're going to do in
00:15:45.360
your day-to-day is more like solve the
00:15:47.040
next problem that's coming for this next
00:15:48.600
killer feature you want to implement
00:15:49.920
maybe you work for a more Metro company
00:15:51.959
and now like handling technical depth is
00:15:54.480
more important
00:15:56.399
it also depends on the needs of your
00:15:58.019
team maybe you want warning a lot of new
00:16:00.060
people now and you need to spend more
00:16:01.440
time onboarding them
00:16:03.480
um
00:16:04.380
maybe you are in between projects and
00:16:07.620
what you want to know to do now is work
00:16:09.300
on your team processes so the next
00:16:10.680
project is more successful more likely
00:16:12.180
to be successful oh it also depends on
00:16:14.820
your own Affinity some tasks and
00:16:16.380
everybody I interviewed is a bit
00:16:17.760
different and and all their role
00:16:19.560
successfully but differently in each
00:16:21.600
case so are you more of a mentor are you
00:16:23.699
more of a technical expert about
00:16:24.899
something or are you more someone that
00:16:27.000
is here to build strong connections with
00:16:28.800
other people in other teams it all
00:16:30.660
depends
00:16:32.459
I find that for me the role of a staff
00:16:35.100
engineer is a lot like the Cartographer
00:16:38.399
someone that is at this intersection of
00:16:40.320
the adventurer the explorator and the
00:16:42.180
map maker
00:16:43.380
someone that when Maps still had dragons
00:16:46.019
on them has to go there see what is
00:16:48.660
there and then come back and realize it
00:16:50.100
to the team so they can go forward
00:16:54.540
Wikipedia defines the role as a
00:16:56.220
cartographer as follow a cartographer
00:16:58.259
combines science aesthetic technique to
00:17:01.560
Modern reality and communicate special
00:17:03.600
information effectively and here the
00:17:05.699
special information is your problem
00:17:07.559
space what you're like facing every day
00:17:09.299
and what you became the trusted expert
00:17:11.579
here in
00:17:14.040
an interesting cartographic and the
00:17:16.679
position of a staff engineer share a lot
00:17:18.660
of interesting similarities and I built
00:17:20.880
this diagram of the technical Direction
00:17:22.860
setting based on what is the
00:17:24.720
cartographic process and I adapted it a
00:17:27.120
tiny bit to be matching what the staff
00:17:28.919
Engineers are doing we start by
00:17:31.140
observing or environment
00:17:33.660
we use data collection for example
00:17:35.520
benchmarking profiling reading tickets
00:17:37.559
and issues talking with people and some
00:17:40.200
kind of gut feeling to get a better idea
00:17:42.240
of like what are the problems you know
00:17:44.520
problem space
00:17:46.080
once we figure out these problems we're
00:17:48.299
going to encode them into what we call
00:17:50.220
the technical Direction This is where
00:17:52.320
we're going to apply some kind of
00:17:53.400
generalization take some bags of problem
00:17:55.799
and find our common root causes
00:17:58.440
find who who are the different person
00:18:01.200
working on similar problems and we're
00:18:03.419
going to apply generalization and
00:18:04.740
abstraction to remove all the irrelevant
00:18:07.440
details that we need to do we do not
00:18:09.720
need to communicate
00:18:11.220
this technical direction we're going to
00:18:12.960
feed it to the engineers in your team
00:18:15.480
who are going to decode it
00:18:17.460
based on their own interpretation of
00:18:19.679
what is the environment
00:18:21.179
and they are going to use this technical
00:18:23.820
direction to implement the solution it's
00:18:25.980
very important to see the distinction
00:18:27.419
between the staff engineer the problem
00:18:29.460
finder and the senior engineer the
00:18:32.100
problem solver
00:18:33.780
and they're going to solve this problem
00:18:35.460
which is going to impact our environment
00:18:37.260
and we do another loop we uh we again
00:18:40.620
assess the environment find new problems
00:18:42.720
set a new technical Direction
00:18:44.940
and we go again
00:18:48.900
if you look at all maps for example this
00:18:51.480
one or even in the background of my uh
00:18:53.520
my slides here you can see a lot of
00:18:55.620
different lines those on all maps we
00:18:57.960
call a wind rolls Network or remline
00:19:00.480
network or sometimes elbow finding shots
00:19:03.600
they are forming a grid in a map and
00:19:05.520
before like people are GPS
00:19:07.620
they were used by Navigators to find
00:19:10.320
using those lines and like visible
00:19:12.240
landmarks around them where to go where
00:19:15.120
is the next hard body should be they
00:19:16.620
should be going and which direction they
00:19:18.179
should be following and for me as a
00:19:20.700
cartographer you are here to setting
00:19:22.500
those lines to set those lines one line
00:19:24.900
is one technical Direction one iteration
00:19:26.760
of the loop then you're going to do
00:19:28.080
another one you're going to set another
00:19:29.400
line and you're going to to create an
00:19:31.380
engineering strategy and the overlap of
00:19:33.780
all those strategies is going to create
00:19:35.340
your engineering vision and you're going
00:19:37.380
to help senior Engineers navigate the
00:19:39.780
problem space and find the next solution
00:19:41.820
for all the problems you found on the
00:19:43.260
road on the way
00:19:46.200
by talking with people I found a few
00:19:48.780
advices that I found very very useful
00:19:50.760
for my career and that was very happy to
00:19:53.520
put into the into slides
00:19:57.240
first being packed for we saw that you
00:20:00.179
don't have a lot of time to be actually
00:20:01.500
working on problems you have a lot of
00:20:03.120
group work to do a lot of mentoring
00:20:06.000
the time you have is getting scarce or
00:20:07.799
and yet as you climb up the the Yorkie
00:20:10.320
you are expected to be more and more
00:20:11.820
impactful so it's important to work on
00:20:14.220
what really matters focused on high
00:20:16.559
impact work this is generally not the
00:20:19.080
low effort one this is generally slower
00:20:20.880
this is on longer time frames
00:20:24.419
find what is a strategic value for your
00:20:26.880
company work on what you are
00:20:28.620
specifically qualified to work on things
00:20:31.260
that your company is doing okay right
00:20:32.820
now but could be doing great with your
00:20:34.679
help
00:20:35.820
keep up on what others are doing read
00:20:37.919
the weekly updates the study the project
00:20:39.960
status find the common bags of problems
00:20:42.419
that people are having and if I
00:20:43.620
duplicated efforts and people that are
00:20:45.539
trying to solve the similar things
00:20:47.160
around you
00:20:49.679
don't be a hero don't forget that you
00:20:52.380
are here to build a team you are a team
00:20:53.820
Builder don't try to do everything by
00:20:55.740
yourself be mindful of the command or if
00:20:58.020
I do it it's going to take me five
00:20:59.580
minutes but if you do it imagine your
00:21:02.400
person in your team is not going to
00:21:03.840
learn about it you are here to build
00:21:05.940
them too
00:21:07.200
leave space for others it's very
00:21:09.360
important for example when you're in a
00:21:11.340
meeting you can let the margin your
00:21:12.960
people talk first so you're sure to not
00:21:14.460
be squashing opinions and more
00:21:16.679
importantly don't be a hassle
00:21:19.020
don't go with the I am a staff engineer
00:21:22.080
I know what I'm talking about most
00:21:23.880
generally you don't
00:21:27.780
surround yourself with people you can
00:21:29.400
rely on create a network of peers of
00:21:31.559
other staff engineers and staffless
00:21:33.059
Engineers so you can rely on them when
00:21:35.460
you're unsure when you don't know what
00:21:36.720
is the exact technical Direction you
00:21:38.940
should be following people that can
00:21:40.679
validate your gut feelings validate your
00:21:43.799
directions and people you can rely on
00:21:46.200
when you have a problem or you just like
00:21:48.000
you know feeling a bit insecure in your
00:21:50.159
position
00:21:53.159
be a partner to your engineering manager
00:21:55.740
you will note that as you progress in
00:21:57.360
your career the one-on-ones with your
00:21:59.100
engineering manager are going to be much
00:22:00.600
less about yourself personally but much
00:22:02.760
more about the team around you or to get
00:22:04.740
the team to thrive
00:22:06.240
and
00:22:07.440
you want to be here to help this this
00:22:10.260
person do you engineer manager to set
00:22:12.120
the best environment for the team to
00:22:14.159
succeed to find what are the problems
00:22:16.020
that the team is like uh is having right
00:22:18.419
now and how we can fix them so we can be
00:22:20.220
more impactful on the next iteration
00:22:23.520
make yourself visible there is a lot of
00:22:26.100
behind the scene work that you are going
00:22:27.600
to do find a way to be be visible both
00:22:30.360
internally and externally maybe talk
00:22:32.280
about what you're doing do project
00:22:33.659
updates explain on slack what is the the
00:22:36.120
problem you're trying to find out right
00:22:37.980
now present your work to Executives or
00:22:41.039
Julia Evans has a very good example of
00:22:43.140
what you can do which is a black
00:22:44.280
document a document where you feel uh
00:22:46.980
all the nice tiny things you've been
00:22:48.960
doing to make this the team more
00:22:50.520
successful so you can help your
00:22:52.260
engineering managers and orders to
00:22:54.419
understand the impact you have behind
00:22:56.280
the scenes
00:22:58.440
and don't forget that this is a marathon
00:23:00.480
this is not a Sprint don't burn yourself
00:23:02.460
too quickly you are playing the long
00:23:04.080
game here you are not going to solve
00:23:06.000
very hard problems in a week you are
00:23:07.860
going to solve them in years maybe
00:23:09.380
expand slowly and expand deliberately so
00:23:12.120
you don't get burned on the first
00:23:13.260
iteration
00:23:16.260
but how do you become a staff engineer
00:23:19.919
first ask you really this question do
00:23:22.320
you really want to become one you've
00:23:24.059
seen what is the weekly schedule of
00:23:25.440
someone that is in this position is this
00:23:27.480
really what you want to do if you like
00:23:29.039
to spend your weeks coding maybe it's
00:23:31.080
not the right position for you
00:23:33.480
don't get yourself miserable just to
00:23:35.940
access a title it's not worth it
00:23:40.320
Define if you really want to be one
00:23:42.900
Define what kind of Staff engineer you
00:23:44.940
want to do be really clear about what
00:23:46.559
you want your own to be and what you
00:23:48.539
want to do in your day-to-day talk to
00:23:50.520
other staff engineers in your company
00:23:51.960
understand what they do what makes them
00:23:53.700
successful what kind of work energizes
00:23:57.120
you find the right problem space for you
00:23:59.280
and what is motivating you week after
00:24:01.080
week ask yourself this question what
00:24:03.600
makes you impactful
00:24:07.440
be one before becoming one
00:24:09.600
no good manager ever said like oh this
00:24:12.179
person is a very good senior engineer
00:24:14.280
what let's promote them to staff
00:24:15.960
engineer and see what happens
00:24:18.120
it's not working like this it's very
00:24:19.740
important to be exhibiting the values
00:24:21.840
even before getting there show ownership
00:24:25.440
help people in your team grow the people
00:24:27.299
around you help setting the technical
00:24:28.919
direction for your team talk with other
00:24:30.720
staff engineers and see what are the
00:24:32.520
problems you could be helping sold
00:24:35.700
once you're sure about this and you know
00:24:37.380
where to go and you're already
00:24:38.700
exhibiting those values find yourself a
00:24:41.100
sponsor May It Be Your engineering
00:24:42.659
manager a mentor another staffless
00:24:44.580
engineer someone with the seat at the
00:24:47.460
table when permissions are given someone
00:24:49.799
who can vouch for you when the time
00:24:51.480
comes
00:24:53.760
and finally if everything fails maybe
00:24:56.100
it's time to look for another company
00:24:57.840
not all the companies have the staff
00:24:59.760
position you're looking for maybe all
00:25:01.440
the the position in your current company
00:25:03.419
are already like taken
00:25:05.220
maybe it's the time to look if someone
00:25:07.140
else needs your help somewhere else
00:25:10.140
as bird fan with principal engineer at
00:25:12.480
slack says reaching staff is a
00:25:14.580
combination of luck timing and work
00:25:19.140
so yeah I hope that this shot all kept
00:25:21.900
you understand a bit more what is the
00:25:23.100
reality of being a staff engineer and
00:25:24.840
that now when you look at this array on
00:25:26.220
the map you don't see dragons anymore
00:25:28.620
if you need resources about this subject
00:25:31.140
the staffenge.com website is amazing
00:25:33.720
it's a Trope of information with a lot
00:25:35.760
of uh with a lot of
00:25:38.100
um
00:25:39.659
exam examples and explanation of what
00:25:41.820
you should be doing as staff engineer to
00:25:43.320
get a or to become a better one there is
00:25:45.600
also a link to the book of will Larson
00:25:47.340
and a podcast with interviews of a lot
00:25:49.500
of Staff risk engineers in other
00:25:50.940
companies very useful the no ID blog is
00:25:54.720
the the website of Tanya really with a
00:25:57.299
link to our book and the glue work a
00:25:58.980
talk about the glue work she was talking
00:26:00.960
about before we were talking about
00:26:02.100
before and finally the blog from Julia
00:26:05.159
Evans about autobuilder brag brag
00:26:07.440
document
00:26:08.400
thank you very much
00:26:19.320
I think we have a few minutes if you
00:26:20.880
have questions if not you can always
00:26:22.200
find me here or the Shopify Booth after
00:26:24.179
the talk if you want to discuss about
00:26:25.740
this so the question I think is how do
00:26:27.960
you cope with you not being solving the
00:26:29.880
problem yourself
00:26:32.460
I think
00:26:33.900
this is where you realize at some point
00:26:35.520
you grow in your own and you you
00:26:37.020
understand that you can have a great
00:26:38.820
impact solving problem but you you
00:26:40.559
actually
00:26:41.760
very well qualified to find bigger
00:26:43.740
problems and you have to let go on
00:26:45.419
solving this problem yourself so you can
00:26:46.860
manage having more time to find those
00:26:48.539
problems and this is where you have to
00:26:50.760
put a lot of trust in your team the team
00:26:52.500
you've been building for so many so long
00:26:54.120
after that you know that they are going
00:26:55.679
to be able to solve these problems even
00:26:57.240
if they it's not exactly the way you are
00:26:59.279
going to solve it and you have to let go
00:27:00.900
on that and like what you want is the
00:27:02.100
problem to be solved not possibly
00:27:03.900
exactly the ones you want it to the way
00:27:05.760
you wanted it to be solved I hope it
00:27:08.159
helps
00:27:09.240
so the question is how do you build a
00:27:11.220
network of other staff Engineers if you
00:27:13.020
are from a tiny company and there is
00:27:14.460
only one staff engineer in your company
00:27:15.840
well you don't possibly have to look
00:27:18.120
inside your own company you can look
00:27:19.620
around uh one good way I found like
00:27:22.620
first is to listen to staff engineers
00:27:24.240
and for example the podcasts from the
00:27:25.919
Stefan Staffing website is amazing it's
00:27:29.159
a lot of very very smart persons in
00:27:31.559
different companies that have been like
00:27:32.880
facing the same kind of issues you've
00:27:34.440
been facing
00:27:35.460
uh the other thing you can do is like
00:27:37.320
there is a stuff and slack where like
00:27:39.120
everybody can go and just build a
00:27:40.500
network and add questions things like
00:27:42.059
this very useful too
00:27:43.919
or go to conferences find other staff
00:27:46.320
engineers in other companies go talk to
00:27:48.059
me after this and compare the boat
00:27:51.299
so the question is
00:27:53.159
you are going to be mistake to do
00:27:55.020
mistakes as you are like a staff
00:27:56.580
engineer and like how do you handle them
00:27:58.860
or do you keep trusts with the engineers
00:28:01.740
behind you when you do those mistakes
00:28:04.020
this is a very good question uh this is
00:28:06.539
still something I struggle a lot with
00:28:08.520
uh you're going to make mistakes like
00:28:10.500
you were doing mistakes before in your
00:28:12.480
life and like it's if you're in a good
00:28:14.400
company it's always like recognized and
00:28:16.799
like we just go forward and like we try
00:28:18.480
to not do the mistakes again uh
00:28:20.940
something that will last anything in his
00:28:22.860
book is like try to never be wrong
00:28:25.020
and this is a very interesting way to
00:28:27.120
say like try to listen to people listen
00:28:29.520
what are the problems they are having
00:28:30.779
listen like what is the concept what are
00:28:33.059
the concerns they have about the
00:28:34.080
solutions or like the problems you're
00:28:35.279
like raising and try to find a common
00:28:37.500
ground with them rather than saying like
00:28:39.779
oh we're going this direction and I
00:28:41.220
don't care and you're going to like
00:28:42.600
Crush yourself try to find what is the
00:28:44.640
middle ground so
00:28:46.559
either you are all right or you are all
00:28:48.659
wrong at the same time but you're still
00:28:50.279
going to make mistakes and you have to
00:28:51.779
own them you have to acknowledge them
00:28:53.460
and try to not repeat them
00:28:56.640
thank you very much everybody have a
00:28:58.320
good lunch