Talks

Staff Engineer: “Here be dragons”

“Here be dragons”: this is how uncharted areas of maps were marked in medieval times. Today, while the journey to become a Senior Engineer is known territory, being a Staff Engineer appears full of dragons. Together, let’s demystify what leading beyond the management track really means.

RubyConf 2022

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