0:00:00.100,0:00:00.200 KATE HEDDLESTON: Hi everyone. 0:00:00.300,0:00:00.400 Welcome to my talk. I'm Kate Heddleston 0:00:00.500,0:00:00.600 and this is Technical Onboarding, 0:00:00.700,0:00:00.800 Training and Mentoring. 0:00:00.900,0:00:01.000 So I'm a software engineer out of San Francisco. 0:00:01.100,0:00:01.200 I do mostly contract work now. Full stack,[br]web 0:00:01.300,0:00:01.400 apps. And I work with a lot of really 0:00:01.500,0:00:01.600 early-stage start ups. And this was originally[br]written as 0:00:01.700,0:00:01.800 a co-presentation with Nicole Zuckerman. She's[br]a software engineer 0:00:01.900,0:00:02.000 at Eventbrite. And she couldn't be here today[br]because 0:00:02.100,0:00:02.200 she is vacationing in Italy. So I feel not 0:00:02.300,0:00:02.400 bad for her at all. 0:00:02.500,0:00:02.600 All right. So she's the one on the right. 0:00:02.700,0:00:02.800 I'm the one on the left. And, and Nicole 0:00:02.900,0:00:03.000 attended a Code Academy called Hack Brite[br]Academy, which 0:00:03.100,0:00:03.200 I teach at one day a week. And we 0:00:03.300,0:00:03.400 came together to write this talk because we[br]work 0:00:03.500,0:00:03.600 at separate companies and had experiences[br]at these separate 0:00:03.700,0:00:03.800 companies that were fairly similar. 0:00:03.900,0:00:04.000 So, when I was right out of college, I 0:00:04.100,0:00:04.200 joined a small start up. I was the sixth 0:00:04.300,0:00:04.400 engineer, twelfth person, and I worked there[br]for a 0:00:04.500,0:00:04.600 time and it grew a lot, and after awhile, 0:00:04.700,0:00:04.800 I reached a certain level of proficiancy.[br]I looked 0:00:04.900,0:00:05.000 back and I thought, I could have gotten here 0:00:05.100,0:00:05.200 a lot faster with just a little bit of 0:00:05.300,0:00:05.400 help and a little bit of structure. 0:00:05.500,0:00:05.600 And so, I turned around and created the Onboarding 0:00:05.700,0:00:05.800 program at my company. And Nicole had a similar 0:00:05.900,0:00:06.000 experience at Eventbrite, and so she has been[br]doing 0:00:06.100,0:00:06.200 a lot of work there with onboarding. So we 0:00:06.300,0:00:06.400 wrote this presentation and submitted it.[br]It's important to 0:00:06.500,0:00:06.600 note that this presentation was written specifically[br]with junior 0:00:06.700,0:00:06.800 engineers in mind. However, about 90 to 90%[br]of 0:00:06.900,0:00:07.000 what I say can very, very easily be adapted 0:00:07.100,0:00:07.200 to people who are more experienced. 0:00:07.300,0:00:07.400 All right. What is onboarding? So for the[br]purposes 0:00:07.500,0:00:07.600 of this talk, onboarding is the process of[br]taking 0:00:07.700,0:00:07.800 someone from outside of the group, outside[br]the company, 0:00:07.900,0:00:08.000 outside the team, and making them a productive,[br]independent 0:00:08.100,0:00:08.200 and confident member of the team. 0:00:08.300,0:00:08.400 And I picked these three characteristics because[br]I think 0:00:08.500,0:00:08.600 they're, they're incredibly important. Productivity[br]seems a bit self-explanatory. 0:00:08.700,0:00:08.800 It seems kind of like, the goal that we're 0:00:08.900,0:00:09.000 focusing on. Like, of course we would like[br]productive 0:00:09.100,0:00:09.200 engineers. And it's about creating efficient[br]employees. 0:00:09.300,0:00:09.400 Independence, and another word for independence[br]is autonomy, is 0:00:09.500,0:00:09.600 about creating engineers that can operate[br]in your organization 0:00:09.700,0:00:09.800 without needing a ton of oversight, that can[br]make 0:00:09.900,0:00:10.000 decisions and understand your company structure[br]well enough to 0:00:10.100,0:00:10.200 not have the overhead of having to go ask 0:00:10.300,0:00:10.400 four levels of management for something. 0:00:10.500,0:00:10.600 Also, independence and autonomy speaks to[br]this, this need 0:00:10.700,0:00:10.800 that we have to have some control over our 0:00:10.900,0:00:11.000 own destiny. I was reading an article recently[br]and 0:00:11.100,0:00:11.200 it was talking about the need for autonomy,[br]and 0:00:11.300,0:00:11.400 it was citing inmates in prisons. So, in a 0:00:11.500,0:00:11.600 lot of prisons, inmates are allowed to choose[br]the 0:00:11.700,0:00:11.800 channel. They're allowed to rearrange their[br]furniture. And they 0:00:11.900,0:00:12.000 found that this drastically reduced rebellions[br]within prisons. So, 0:00:12.100,0:00:12.200 independence is important, cause you don't[br]want your engineers 0:00:12.300,0:00:12.400 to rebel. But it's also important because[br]feeling independent 0:00:12.500,0:00:12.600 and autonomous helps people feel motivated[br]and invested in 0:00:12.700,0:00:12.800 what they're doing. 0:00:12.900,0:00:13.000 Finally, confidence I think is the most important[br]of 0:00:13.100,0:00:13.200 the three. Confidence is about creating employees[br]who believe 0:00:13.300,0:00:13.400 that they are valuable. It's not about the[br]actual 0:00:13.500,0:00:13.600 act of creating employees that are valuable.[br]The study, 0:00:13.700,0:00:13.800 which is at, the links are at the bottom 0:00:13.900,0:00:14.000 actually, that I was reading about recently,[br]they split, 0:00:14.100,0:00:14.200 this was a gendered study, but what they found 0:00:14.300,0:00:14.400 didn't really have to do with gender. 0:00:14.500,0:00:14.600 They split the participants into six groups.[br]Three groups 0:00:14.700,0:00:14.800 of men, three groups of women. So there was 0:00:14.900,0:00:15.000 a control and two test groups for each gender. 0:00:15.100,0:00:15.200 And, for one of the groups of men, they 0:00:15.300,0:00:15.400 told them, they're doing some sort of spatial[br]reasoning 0:00:15.500,0:00:15.600 activity, they told them, men are really good[br]at 0:00:15.700,0:00:15.800 spatial reasoning. You should be good at this[br]task. 0:00:15.900,0:00:16.000 That group performed significantly better[br]than the control. The 0:00:16.100,0:00:16.200 next group of men they told, men are really 0:00:16.300,0:00:16.400 bad at spatial reasoning. You'll be bad at[br]this 0:00:16.500,0:00:16.600 task. And that group performed significantly[br]worse than the 0:00:16.700,0:00:16.800 control. And they found the exact same thing[br]with 0:00:16.900,0:00:17.000 women. 0:00:17.100,0:00:17.200 And so what this means is that confidence[br]actually 0:00:17.300,0:00:17.400 affects how well people perform. So confident[br]people will 0:00:17.500,0:00:17.600 perform better in a measurable way. 0:00:17.700,0:00:17.800 So why do you care? I assume that everyone 0:00:17.900,0:00:18.000 here cares because you came to my talk. But 0:00:18.100,0:00:18.200 I would like to convince you that you should 0:00:18.300,0:00:18.400 care now. You should care immediately, and[br]that you 0:00:18.500,0:00:18.600 should start building an onboarding program[br]at your company 0:00:18.700,0:00:18.800 as soon as possible. 0:00:18.900,0:00:19.000 And I'm gonna talk about four things in this 0:00:19.100,0:00:19.200 session. I'm gonna talk about the individual[br]who's joining 0:00:19.300,0:00:19.400 the company, the company that they are joining,[br]the 0:00:19.500,0:00:19.600 specific team within the company that they[br]are becoming 0:00:19.700,0:00:19.800 a member of, and then there's a bonus category, 0:00:19.900,0:00:20.000 which is diversity. 0:00:20.100,0:00:20.200 So, the individual. What can go wrong if you 0:00:20.300,0:00:20.400 don't have onboarding? Or basically if you[br]don't have 0:00:20.500,0:00:20.600 investment in your employees? 0:00:20.700,0:00:20.800 Attrition is something that most companies[br]and most of 0:00:20.900,0:00:21.000 us are terrified of. And for a good reason. 0:00:21.100,0:00:21.200 Attrition can cost thousands of dollars per[br]employee. Up 0:00:21.300,0:00:21.400 to 1.5 to 2x their salary. And it's not 0:00:21.500,0:00:21.600 that people quit specifically because your[br]company does or 0:00:21.700,0:00:21.800 not have onboarding. People quit for a meriad[br]of 0:00:21.900,0:00:22.000 reasons. The number one is actually that they[br]are 0:00:22.100,0:00:22.200 dissatisfied with their managers. But onboarding[br]can address a 0:00:22.300,0:00:22.400 lot of the issues that people ultimately quit[br]for, 0:00:22.500,0:00:22.600 or quit because of, and it can address them 0:00:22.700,0:00:22.800 really early. 0:00:22.900,0:00:23.000 So getting someone up to speed so that they're 0:00:23.100,0:00:23.200 confident, they have this upward trajectory,[br]they're building their 0:00:23.300,0:00:23.400 skill set early, is going to set them up 0:00:23.500,0:00:23.600 for success in the long term, so that eight 0:00:23.700,0:00:23.800 months to twelve months down the road, they[br]aren't 0:00:23.900,0:00:24.000 leaving because they never felt like they[br]were part 0:00:24.100,0:00:24.200 of the team. Or they never felt like they 0:00:24.300,0:00:24.400 were contributing. Address this early at onboarding[br]is one 0:00:24.500,0:00:24.600 of the best ways to do that. 0:00:24.700,0:00:24.800 For the company. Companies care hugely about[br]the productivity 0:00:24.900,0:00:25.000 of their employees. This is a graph of productivity 0:00:25.100,0:00:25.200 decreasing as you add new engineers to the[br]team. 0:00:25.300,0:00:25.400 And, anecdotally, this actually happened at[br]LinkdIn not too 0:00:25.500,0:00:25.600 long ago. Every engineer that they added to[br]their 0:00:25.700,0:00:25.800 team decreased their overall productivity[br]and ultimately affected the 0:00:25.900,0:00:26.000 company's bottom line. 0:00:26.100,0:00:26.200 So, when their new SVP of engineering came[br]on 0:00:26.300,0:00:26.400 board, Kevin Scott, he had to do a whole 0:00:26.500,0:00:26.600 bunch of work revamping their organization,[br]building onboarding. And 0:00:26.700,0:00:26.800 this is, I mean, LinkdIn is thousands of people 0:00:26.900,0:00:27.000 at this point. So this is a huge amount 0:00:27.100,0:00:27.200 of work. To try to get the graph to 0:00:27.300,0:00:27.400 look like this. To try to get each new 0:00:27.500,0:00:27.600 employee to add value to the company. And[br]this 0:00:27.700,0:00:27.800 doesn't have to do with the employees. It's[br]not 0:00:27.900,0:00:28.000 like they're hiring engineers that are then[br]negative in 0:00:28.100,0:00:28.200 their value. It has to do with their process, 0:00:28.300,0:00:28.400 and onboarding is one of the great ways to 0:00:28.500,0:00:28.600 make sure that you're taking a good look at 0:00:28.700,0:00:28.800 your process. 0:00:28.900,0:00:29.000 This speaks to something I like to call team 0:00:29.100,0:00:29.200 debt. How many of you have heard of the 0:00:29.300,0:00:29.400 concept of code debt? A lot of people. Yeah, 0:00:29.500,0:00:29.600 we talk about that a lot as engineers. How 0:00:29.700,0:00:29.800 if you build something fast and don't think[br]about 0:00:29.900,0:00:30.000 it, you accrue this code debt, and over time 0:00:30.100,0:00:30.200 you have to go back through your code base, 0:00:30.300,0:00:30.400 take a look at things, rewrite them, and ultimately 0:00:30.500,0:00:30.600 address that. 0:00:30.700,0:00:30.800 Well, the same thing happens with people.[br]So if 0:00:30.900,0:00:31.000 you aren't doing a good job investing in your 0:00:31.100,0:00:31.200 employees, if you're not onboarding them,[br]if you're not 0:00:31.300,0:00:31.400 training them, you're going to accrue team[br]debt. And 0:00:31.500,0:00:31.600 I've seen this a lot. I've talked to a 0:00:31.700,0:00:31.800 lot of companies that are starting to get[br]into 0:00:31.900,0:00:32.000 the hundreds of people range. They're starting[br]to hit 0:00:32.100,0:00:32.200 a hundred engineers. And they're like, oh[br]my goodness, 0:00:32.299,0:00:32.400 we need onboarding. We need, we need to get 0:00:32.500,0:00:32.600 these people up to speed. And at, at four 0:00:32.700,0:00:32.800 hundred people, I mean, yeah. You've accrued[br]a huge 0:00:32.900,0:00:33.000 amount of team debt. 0:00:33.100,0:00:33.200 Every person that you add and try to onboard 0:00:33.300,0:00:33.400 is going to be increasingly difficult. Your[br]code base 0:00:33.500,0:00:33.600 is quite large at that point. You have a 0:00:33.700,0:00:33.800 lot of teams. And so going and making all 0:00:33.900,0:00:34.000 of those onboarding materials at a hundred[br]people is 0:00:34.100,0:00:34.200 way harder than starting when you're smaller[br]than a 0:00:34.300,0:00:34.400 hundred people and then maintaining it incrementally. 0:00:34.500,0:00:34.600 The third aspect is the immediate team that[br]the 0:00:34.700,0:00:34.800 engineer joins. So there's a saying that you[br]don't 0:00:34.900,0:00:35.000 know something until you teach it. And this[br]is 0:00:35.100,0:00:35.200 absolutely true for your company's culture[br]and code process. 0:00:35.300,0:00:35.400 So if you don't know how to explain to 0:00:35.500,0:00:35.600 a new engineer what your company's culture[br]is or 0:00:35.700,0:00:35.800 how you ship code or how you decide what 0:00:35.900,0:00:36.000 features are built or who approves things,[br]who reviews 0:00:36.100,0:00:36.200 things, then you don't actually know it yourself.[br]And 0:00:36.300,0:00:36.400 that's a massive red flag for your company[br]if 0:00:36.500,0:00:36.600 you can't explain your process. 0:00:36.700,0:00:36.800 Additionally, when people join small teams,[br]small teams fundamentally 0:00:36.900,0:00:37.000 change every single time you add a new person 0:00:37.100,0:00:37.200 to them. So iterating your team's process[br]to the 0:00:37.300,0:00:37.400 new engineer is not just important for them,[br]it's 0:00:37.500,0:00:37.600 also important for your existing engineers,[br]so that you 0:00:37.700,0:00:37.800 get something that looks a little bit more[br]like 0:00:37.900,0:00:38.000 this, where everyone is on the same page. 0:00:38.100,0:00:38.200 And because the team changes every time you[br]add 0:00:38.300,0:00:38.400 people to it, you're gonna have to reiterate[br]this 0:00:38.500,0:00:38.600 to everyone pretty much every time you add[br]a 0:00:38.700,0:00:38.800 new employee. 0:00:38.900,0:00:39.000 So, something about me, I love sports anecdotes.[br]I 0:00:39.100,0:00:39.200 played sports for most of my life. And when 0:00:39.300,0:00:39.400 I was done playing sports, I coached JV girls 0:00:39.500,0:00:39.600 water polo at a high school nearby. And I 0:00:39.700,0:00:39.800 used to have these really deep, philosophical[br]team meetings 0:00:39.900,0:00:40.000 with them, and I'd come in with these posters, 0:00:40.100,0:00:40.200 and one day I came in with this, a 0:00:40.300,0:00:40.400 poster with this written on it. They always[br]just 0:00:40.500,0:00:40.600 sat there and kind of rolled their eyes at 0:00:40.700,0:00:40.800 me, like. 0:00:40.900,0:00:41.000 But, I was trying to explain to them that 0:00:41.100,0:00:41.200 their ability to win games was not wholly[br]dependent 0:00:41.300,0:00:41.400 on their skills. These girls were beginners.[br]They didn't 0:00:41.500,0:00:41.600 really know how to throw. They didn't really[br]know 0:00:41.700,0:00:41.800 how to swim. They basically didn't have the[br]skill 0:00:41.900,0:00:42.000 set necessary to play water polo. But, they[br]were 0:00:42.100,0:00:42.200 playing all these games. And so I wanted them 0:00:42.300,0:00:42.400 to understand that their skill set was important,[br]but 0:00:42.500,0:00:42.600 team work was more important, so they could[br]actually 0:00:42.700,0:00:42.800 beat teams that were theoretically more skilled[br]than them 0:00:42.900,0:00:43.000 but didn't work together as well as they did 0:00:43.100,0:00:43.200 if they all banded together, because teamwork[br]is a 0:00:43.300,0:00:43.400 multiplication factor. 0:00:43.500,0:00:43.600 And this is true in engineering as well. Your 0:00:43.700,0:00:43.800 productivity as an engineering team is the[br]sum of 0:00:43.900,0:00:44.000 the engineering talent that you have multiplied[br]by how 0:00:44.100,0:00:44.200 well you work together. So if your team is 0:00:44.300,0:00:44.400 working well together, that's great. If not,[br]your team 0:00:44.500,0:00:44.600 can actually pull itself apart. And, anecdotally,[br]a lot 0:00:44.700,0:00:44.800 of, a lot of products have been built by 0:00:44.900,0:00:45.000 teams that are less than ten or five people. 0:00:45.100,0:00:45.200 So Gmail is a really great example. It was 0:00:45.300,0:00:45.400 built by a team of less than five. And 0:00:45.500,0:00:45.600 now that it's successful it's maintained by[br]a team 0:00:45.700,0:00:45.800 of over four-hundred, I think. 0:00:45.900,0:00:46.000 So our bonus category, diversity. How many[br]of you 0:00:46.100,0:00:46.200 have read Dr. Seuss's book about sneetches?[br]Yeah? It's 0:00:46.300,0:00:46.400 a great, it's a childrens' poem, like all[br]of 0:00:46.500,0:00:46.600 his books are. But it's about this community[br]of 0:00:46.700,0:00:46.800 sneetches. And sneetches are what I have drawn[br]there. 0:00:46.900,0:00:47.000 And at some point, some sneetches start developing[br]stars 0:00:47.100,0:00:47.200 on their bellies. And it's the story about[br]kind 0:00:47.300,0:00:47.400 of the rifts that happen in the community[br]as 0:00:47.500,0:00:47.600 a result of some sneetches having stars on[br]their 0:00:47.700,0:00:47.800 bellies and some sneetches not. 0:00:47.900,0:00:48.000 But I like to use sneetches to represent diversity, 0:00:48.100,0:00:48.200 cause diversity can mean a lot of things.[br]It 0:00:48.300,0:00:48.400 can be gender diversity, it can be racial[br]diversity, 0:00:48.500,0:00:48.600 it can be introverts versus extraverts as[br]far as 0:00:48.700,0:00:48.800 diversity goes. So communication styles. But[br]the idea is 0:00:48.900,0:00:49.000 that onboarding is gonna be really critical[br]if you 0:00:49.100,0:00:49.200 want to hire people who are different from[br]each 0:00:49.300,0:00:49.400 other in any way. 0:00:49.500,0:00:49.600 This is pretty typical in tech. Companies[br]are started 0:00:49.700,0:00:49.800 by a small group of people, and it's homogenous. 0:00:49.900,0:00:50.000 The phenomenom is called homophaly. We tend[br]to associate 0:00:50.100,0:00:50.200 and like to be around people who are like 0:00:50.300,0:00:50.400 ourselves. So companies tend to get started[br]as homogenous 0:00:50.500,0:00:50.600 groups. 0:00:50.700,0:00:50.800 If you don't have any onboarding, the people[br]who 0:00:50.900,0:00:51.000 are most likely to be successful joining your[br]organization 0:00:51.100,0:00:51.200 are people who are like the existing group.[br]This 0:00:51.300,0:00:51.400 is because they likely share similar communication[br]styles, interests 0:00:51.500,0:00:51.600 and hobbies. There might be tacit acceptance[br]because they 0:00:51.700,0:00:51.800 look the same as the rest of the group. 0:00:51.900,0:00:52.000 So what you're doing is you're relying on[br]homopholy 0:00:52.100,0:00:52.200 and the existing social structure for peoples'[br]success at 0:00:52.300,0:00:52.400 the company and onboarding. 0:00:52.500,0:00:52.600 And what you don't want to have happen is 0:00:52.700,0:00:52.800 something like this. You hire someone new[br]who's different, 0:00:52.900,0:00:53.000 and they feel socially ostracized upfront.[br]Not for any 0:00:53.100,0:00:53.200 particular malicious reason, but just because[br]they're different. They 0:00:53.300,0:00:53.400 communicate differently. And so what you want[br]is you 0:00:53.500,0:00:53.600 want an explicit onboarding structure that[br]helps bring people 0:00:53.700,0:00:53.800 into the fold, that helps people become a[br]part 0:00:53.900,0:00:54.000 of the team in some sort of systematic way 0:00:54.100,0:00:54.200 so that everyone who joins, no matter how[br]different 0:00:54.300,0:00:54.400 they are from the existing group, has a solid 0:00:54.500,0:00:54.600 chance at being successful. 0:00:54.700,0:00:54.800 So, hopefully now you guys are all convinced[br]that 0:00:54.900,0:00:55.000 onboarding is super important. 0:00:55.100,0:00:55.200 Who at your company can onboard? 0:00:55.300,0:00:55.400 So anyone of your team can onboard. This is 0:00:55.500,0:00:55.600 not a, senior engineers have to be paired[br]with 0:00:55.700,0:00:55.800 junior engineers. They can learn the most.[br]In fact, 0:00:55.900,0:00:56.000 going back to sports analogies, some of your[br]best 0:00:56.100,0:00:56.200 people to onboard are going to be people,[br]kind 0:00:56.300,0:00:56.400 of like if a freshman athelete were to join 0:00:56.500,0:00:56.600 a team, the sophomore athletes might be the[br]best 0:00:56.700,0:00:56.800 people to help them out. 0:00:56.900,0:00:57.000 This is because they have the most empathy[br]for 0:00:57.100,0:00:57.200 what they're going through. They also experienced[br]it the 0:00:57.300,0:00:57.400 most recently, so they have relevant information[br]and stories. 0:00:57.500,0:00:57.600 So your sophomore engineers might be some[br]of your 0:00:57.700,0:00:57.800 best onboarders at the company, in addition[br]to the 0:00:57.900,0:00:58.000 expertise of your senior engineers. 0:00:58.100,0:00:58.200 When? 0:00:58.300,0:00:58.400 So onboarding can start as soon as an offer 0:00:58.500,0:00:58.600 is accepted. I'm going to talk about an onboarding 0:00:58.700,0:00:58.800 plan coming up soon, and we're gonna talk[br]about 0:00:58.900,0:00:59.000 from the start date to what I call reliable 0:00:59.100,0:00:59.200 independence, which is where this person can[br]build things 0:00:59.300,0:00:59.400 and build features to an adequate level and[br]be 0:00:59.500,0:00:59.600 left on their own to the same degree as 0:00:59.700,0:00:59.800 other engineers on the team. 0:00:59.900,0:01:00.000 All right. How? 0:01:00.100,0:01:00.200 So, the how category I'm gonna talk about[br]some 0:01:00.300,0:01:00.400 concepts to think about, when you're thinking[br]about how 0:01:00.500,0:01:00.600 to onboard others. And then I'm gonna launch[br]into 0:01:00.700,0:01:00.800 a four-week plan that goes through some of[br]the 0:01:00.900,0:01:01.000 specific things that you can do with engineers. 0:01:01.100,0:01:01.200 So, first off, the concepts. It's pretty straight[br]forward. 0:01:01.300,0:01:01.400 You want to maximize your return on investment.[br]You 0:01:01.500,0:01:01.600 don't really want to be putting more into[br]engineers 0:01:01.700,0:01:01.800 than you're getting out of them. And most[br]people 0:01:01.900,0:01:02.000 don't really want more put into them than[br]they're 0:01:02.100,0:01:02.200 giving back. That's kind of a strange dynamic. 0:01:02.300,0:01:02.400 So, a really inefficient but really common[br]way that 0:01:02.500,0:01:02.600 people try to onboard is this, like, hand-holding[br]model. 0:01:02.700,0:01:02.800 New onboarding mentors are really prone to[br]this. They 0:01:02.900,0:01:03.000 think, I'm gonna be the best onboarding mentor[br]ever. 0:01:03.100,0:01:03.200 We're gonna do everything together. We're[br]gonna do all 0:01:03.300,0:01:03.400 of these code tutorials. They're gonna watch[br]me code 0:01:03.500,0:01:03.600 every day, and by the time we're done with 0:01:03.700,0:01:03.800 three months, they're gonna know everything[br]that I know. 0:01:03.900,0:01:04.000 And, in addition to being inefficient, because[br]this is 0:01:04.099,0:01:04.200 a huge time sink, it's also unrealistic. People[br]do 0:01:04.300,0:01:04.400 not become senior engineers in three months.[br]You need 0:01:04.500,0:01:04.599 time. You just, you just do. And so this 0:01:04.700,0:01:04.800 burns people out and also disappoints them. 0:01:04.900,0:01:05.000 A more efficient way to think abou things[br]is, 0:01:05.099,0:01:05.200 my example is bumper bowling, which is pretty[br]much 0:01:05.300,0:01:05.400 the only way I should be allowed to bowl. 0:01:05.500,0:01:05.600 But, you set up an environment that's constrained,[br]where 0:01:05.700,0:01:05.800 they're able to play freely. They're able[br]to go 0:01:05.900,0:01:06.000 off and do what they want, come back and 0:01:06.100,0:01:06.200 ask questions. But you don't have to handhold[br]them 0:01:06.300,0:01:06.400 through things. 0:01:06.500,0:01:06.600 And so the way you do this with a 0:01:06.700,0:01:06.800 technical environment is automation is huge.[br]So, automating the 0:01:06.900,0:01:07.000 development environment, automating deploy.[br]Having a lot of testing 0:01:07.100,0:01:07.200 for your code base, however you decide to[br]do 0:01:07.300,0:01:07.400 that. Whether it's TDD or not. Will help these 0:01:07.500,0:01:07.600 junior engineers have a safe space to learn[br]and 0:01:07.700,0:01:07.800 grow and play. 0:01:07.900,0:01:08.000 One of the important things to think about,[br]too, 0:01:08.100,0:01:08.200 when setting up this environment is that scoping[br]is 0:01:08.300,0:01:08.400 critical. One of the tenants of expertise[br]is the 0:01:08.500,0:01:08.600 ability to scope. So, if you're an expert,[br]you 0:01:08.700,0:01:08.800 understand the landscape incredibly well.[br]So you're able to 0:01:08.900,0:01:09.000 set these really well-defined boundaries.[br]Junior engineers, by definition, 0:01:09.100,0:01:09.200 are not good at scoping because they don't[br]know 0:01:09.300,0:01:09.400 the landscape. 0:01:09.500,0:01:09.600 So, when you're thinking about giving them[br]projects and 0:01:09.700,0:01:09.800 you're thinking about setting up their environment,[br]make sure 0:01:09.900,0:01:10.000 to set boundaries for them and then slowly[br]move 0:01:10.100,0:01:10.200 them out as they know more about what's going 0:01:10.300,0:01:10.400 on. Because they won't be able to set those 0:01:10.500,0:01:10.600 boundaries for themselves. 0:01:10.700,0:01:10.800 So, kind of three onboarding categories that[br]map to 0:01:10.900,0:01:11.000 the productive, independent, confident thing[br]I was talking about 0:01:11.100,0:01:11.200 earlier are technical knowledge, company knowledge[br]and process, and 0:01:11.300,0:01:11.400 personal development. I mention this because[br]people think that 0:01:11.500,0:01:11.600 onboarding has to do with technical knowledge.[br]They seem 0:01:11.700,0:01:11.800 to think that that's 90% of what's going on. 0:01:11.900,0:01:12.000 I'd say it's actually about a third, and it's 0:01:12.100,0:01:12.200 actually the easiest third, because you can[br]go to 0:01:12.300,0:01:12.400 the internet and find a ton of tutorials on, 0:01:12.500,0:01:12.600 on Ruby and how to learn Rails and how 0:01:12.700,0:01:12.800 to use Rails and blog posts about how to 0:01:12.900,0:01:13.000 use any number of technology out there. 0:01:13.100,0:01:13.200 The harder category, which is another third[br]of what 0:01:13.300,0:01:13.400 they need to know, is the company knowledge[br]and 0:01:13.500,0:01:13.600 process. And this is really, really important[br]for them 0:01:13.700,0:01:13.800 being independent. They can't be independent[br]if they don't 0:01:13.900,0:01:14.000 know how to operate within the company's infrastructure.[br]This 0:01:14.100,0:01:14.200 is harder because most companies don't write[br]this down. 0:01:14.300,0:01:14.400 So it's in someone's head somewhere, and the[br]junior 0:01:14.500,0:01:14.600 engineer, or the new engineer, is tasked with[br]going 0:01:14.700,0:01:14.800 and extracting it from whoever on the team[br]knows 0:01:14.900,0:01:15.000 this. So the more explicit you can be about 0:01:15.100,0:01:15.200 your company knowledge and process, the better. 0:01:15.300,0:01:15.400 And then third, personal development. That[br]has to do 0:01:15.500,0:01:15.600 with confidence, career trajectories. Again,[br]this is, this is 0:01:15.700,0:01:15.800 important because confident people are willing[br]to reach. They're 0:01:15.900,0:01:16.000 willing to be outgoing and they're willing[br]to try 0:01:16.100,0:01:16.200 new things. They also perform better. 0:01:16.300,0:01:16.400 OK. So now I'm gonna talk about a fairly 0:01:16.500,0:01:16.600 specific plan. This was written with junior[br]engineers in 0:01:16.700,0:01:16.800 mind. So some of the tasks are very specific 0:01:16.900,0:01:17.000 to junior engineers, as is the time frame.[br]A 0:01:17.100,0:01:17.200 lot of these things will be relevant for people 0:01:17.300,0:01:17.400 with more experience. The time frame just[br]might be 0:01:17.500,0:01:17.600 more condensed. 0:01:17.700,0:01:17.800 So, for week one for a junior engineer, it's 0:01:17.900,0:01:18.000 all about shipping code and kind of getting[br]to 0:01:18.100,0:01:18.200 know their immediate team. So dev environment[br]setup is 0:01:18.300,0:01:18.400 critical for anyone joining an engineering[br]team. The last 0:01:18.500,0:01:18.600 person who joined the company is going to[br]be 0:01:18.700,0:01:18.800 the best person to get them up to speed 0:01:18.900,0:01:19.000 on their dev environment, because they are[br]the one 0:01:19.100,0:01:19.200 who knows the most about how to set up 0:01:19.300,0:01:19.400 a dev environment. Someone who started two[br]years ago 0:01:19.500,0:01:19.600 is probably not going to know the ins and 0:01:19.700,0:01:19.800 outs of getting started. 0:01:19.900,0:01:20.000 Additionally, you should have a goal about[br]how quickly 0:01:20.100,0:01:20.200 you want someone's dev environment to be set[br]up 0:01:20.300,0:01:20.400 so that they can reasonably ship code. So[br]like 0:01:20.500,0:01:20.600 a config file, for example, or something static.[br]A 0:01:20.700,0:01:20.800 great goal is the first week. An awesome goal 0:01:20.900,0:01:21.000 is the first day. And, if you want to 0:01:21.100,0:01:21.200 try to match, I think it's Debian in the 0:01:21.300,0:01:21.400 opensource world, their goal is five minutes,[br]which is 0:01:21.500,0:01:21.600 probably a little bit of a reach. But I'd 0:01:21.700,0:01:21.800 say the first day is a fantastic goal. If 0:01:21.900,0:01:22.000 someone can be set up with their dev environment 0:01:22.100,0:01:22.200 and able to ship a config file the first 0:01:22.300,0:01:22.400 day, that means that you have pretty great[br]automation 0:01:22.500,0:01:22.600 and a really great onboarding process. 0:01:22.700,0:01:22.800 The next thing is shipping code. You should[br]ship 0:01:22.900,0:01:23.000 small changes and you should teach junior[br]engineers to 0:01:23.100,0:01:23.200 ship small changes as early as possible. So,[br]give 0:01:23.300,0:01:23.400 them a task as soon as they've got their 0:01:23.500,0:01:23.600 dev environment set up and they're ready to[br]go. 0:01:23.700,0:01:23.800 Maybe have them fix a bug or rewrite tests 0:01:23.900,0:01:24.000 or a small feature that's really well-scoped,[br]so that 0:01:24.100,0:01:24.200 they can ship something and be productive[br]and part 0:01:24.300,0:01:24.400 of the team as soon as possible. This is 0:01:24.500,0:01:24.600 great both for your onboarding process, but[br]also it 0:01:24.700,0:01:24.800 helps them feel valuable, which, as we talked[br]about 0:01:24.900,0:01:25.000 earlier, is really key. 0:01:25.100,0:01:25.200 Journaling and note-taking. People will naturally[br]do this. We 0:01:25.300,0:01:25.400 don't memorize all of the commands that we[br]need 0:01:25.500,0:01:25.600 to know, and so we'll write them down. Just, 0:01:25.700,0:01:25.800 just give them a central place to do it. 0:01:25.900,0:01:26.000 Talk to them about it. Ask them about three 0:01:26.100,0:01:26.200 things they learned that day or that week.[br]Just 0:01:26.300,0:01:26.400 kind of put a communication structure around[br]the fact 0:01:26.500,0:01:26.600 that they're probably already taking notes.[br]It will help 0:01:26.700,0:01:26.800 you understand what's confusing for them and[br]it will 0:01:26.900,0:01:27.000 help them remember things. 0:01:27.100,0:01:27.200 And then, finally, have a social event. And[br]do 0:01:27.300,0:01:27.400 this for any engineer that joins your team.[br]No 0:01:27.500,0:01:27.600 one should join a company and sit off in 0:01:27.700,0:01:27.800 the corner alone, not knowing their immediate[br]team mates. 0:01:27.900,0:01:28.000 Have some sort of coffee. Have everyone sit[br]together 0:01:28.100,0:01:28.200 at lunch. Go out for dinner or drinks. It 0:01:28.300,0:01:28.400 doesn't matter what it is. They just need[br]to 0:01:28.500,0:01:28.600 put names to faces and feel comfortable asking[br]questions 0:01:28.700,0:01:28.800 of, at least, their immediate team. Like,[br]you know, 0:01:28.900,0:01:29.000 the five people that they work with. If they 0:01:29.100,0:01:29.200 want to ask someone where a pen is, or 0:01:29.300,0:01:29.400 the bathroom, or they don't know something[br]really simple 0:01:29.500,0:01:29.600 and they feel uncomfortable asking, that's[br]gonna be a 0:01:29.700,0:01:29.800 bad experience right off the bat. And this[br]one 0:01:29.900,0:01:30.000 is so easy. It's just a gimme. 0:01:30.100,0:01:30.200 All right. Week two. Week two is more about 0:01:30.300,0:01:30.400 the context of the company, and also starting[br]to 0:01:30.500,0:01:30.600 have them shadow and, and learn from more[br]senior 0:01:30.700,0:01:30.800 engineers. So, you should tell them the history[br]of 0:01:30.900,0:01:31.000 your company. The history of your company[br]hopefully is 0:01:31.100,0:01:31.200 a pretty interesting story. The history of[br]your company 0:01:31.300,0:01:31.400 is also something they're not really gonna[br]be able 0:01:31.500,0:01:31.600 to absorb the first week. They aren't gonna[br]know 0:01:31.700,0:01:31.800 the characters in, in the story as well as 0:01:31.900,0:01:32.000 they will the second week. So who are the 0:01:32.100,0:01:32.200 founders? Why did they make this company?[br]Who are 0:01:32.300,0:01:32.400 the people that were hired early on? It actually 0:01:32.500,0:01:32.600 is probably gonna tell you a lot about your 0:01:32.700,0:01:32.800 process and your culture as well. 0:01:32.900,0:01:33.000 Additionally, a team map is fantastic. So[br]if you 0:01:33.100,0:01:33.200 have some place where you can put everyone's[br]picture 0:01:33.300,0:01:33.400 and name, generally what they do and what[br]they 0:01:33.500,0:01:33.600 work on, if you can make it a seating 0:01:33.700,0:01:33.800 chart, even better, or put their names above[br]their 0:01:33.900,0:01:34.000 computers. People are gonna forget someone's[br]name. They're gonna 0:01:34.100,0:01:34.200 forget that that guy they talked to five times 0:01:34.300,0:01:34.400 is Andy. And they're gonna be embarrassed[br]to ask 0:01:34.500,0:01:34.600 just like I always am when I forget someone's 0:01:34.700,0:01:34.800 name after talking to them for five times. 0:01:34.900,0:01:35.000 Code labs and shadowing. So code labs are[br]something 0:01:35.100,0:01:35.200 that Eventbrite started doing, and this is[br]a really 0:01:35.300,0:01:35.400 awesome idea. It's basically a safe space[br]for an 0:01:35.500,0:01:35.600 hour once, twice, three times a week, however[br]many 0:01:35.700,0:01:35.800 times, where they can ask someone that's more[br]senior 0:01:35.900,0:01:36.000 any kind of question they want. So you can 0:01:36.100,0:01:36.200 have a code lab for an hour that's on 0:01:36.300,0:01:36.400 frontend development. Or a code lab for an[br]hour 0:01:36.500,0:01:36.600 on dev ops. And the most important thing about 0:01:36.700,0:01:36.800 these code labs is actually not the topic.[br]It's 0:01:36.900,0:01:37.000 that it's safe. So when you're thinking about[br]picking 0:01:37.100,0:01:37.200 engineers to run these code labs, think about[br]picking 0:01:37.300,0:01:37.400 engineers who are going to create a safe space 0:01:37.500,0:01:37.600 for these junior developers to ask questions.[br]Feeling stupid 0:01:37.700,0:01:37.800 when asking questions is pretty typical, especially[br]when you're 0:01:37.900,0:01:38.000 new. You want some place where they don't[br]feel 0:01:38.100,0:01:38.200 that way. 0:01:38.300,0:01:38.400 Shadowing is also a great way to get people 0:01:38.500,0:01:38.600 up to speed. This actually is a great thing 0:01:38.700,0:01:38.800 to do at any level. But pair them with 0:01:38.900,0:01:39.000 someone who's more senior. Have them sit with[br]them 0:01:39.100,0:01:39.200 for an hour a day or a week. And 0:01:39.300,0:01:39.400 just watch their process. How do they build[br]code? 0:01:39.500,0:01:39.600 How do they get things done? What tools do 0:01:39.700,0:01:39.800 they use? One of the things to think about, 0:01:39.900,0:01:40.000 though, when pairing people for shadowing,[br]is that we 0:01:40.100,0:01:40.200 will forgive a lot of bad habits in more 0:01:40.300,0:01:40.400 mid-level or senior engineers that we won't[br]forgive in 0:01:40.500,0:01:40.600 junior engineers. 0:01:40.700,0:01:40.800 So I've seen this happen a lot where junior 0:01:40.900,0:01:41.000 engineers are following someone who's more[br]senior, and they're 0:01:41.100,0:01:41.200 doing a great job, actually, of picking things[br]up. 0:01:41.300,0:01:41.400 They're learning a ton. And some of the things 0:01:41.500,0:01:41.600 they're learning are not so good. And so they 0:01:41.700,0:01:41.800 end up getting punished for these habits that[br]they 0:01:41.900,0:01:42.000 learned directly from a senior engineer. So[br]make sure 0:01:42.100,0:01:42.200 that you take a look, whenever you see someone 0:01:42.300,0:01:42.400 doing something, who's new or young, take[br]a look 0:01:42.500,0:01:42.600 at where they learned that from. If they learned 0:01:42.700,0:01:42.800 it from someone else, try to just encourage[br]them 0:01:42.900,0:01:43.000 to go in the right direction. 0:01:43.100,0:01:43.200 There's nothing worse, when you're new, than[br]spending all 0:01:43.300,0:01:43.400 this time following someone, learning something,[br]and then later 0:01:43.500,0:01:43.600 being told that you're doing it wrong. You're[br]like, 0:01:43.700,0:01:43.800 well then why did I follow this person around? 0:01:43.900,0:01:44.000 All right. Week three is a lot about communication. 0:01:44.100,0:01:44.200 Goal-setting. Feedback. Presentations. So[br]for a junior engineer, at 0:01:44.300,0:01:44.400 this, up to this point, you've probably been[br]doing 0:01:44.500,0:01:44.600 a lot of high-touch interactions. You've probably[br]been working 0:01:44.700,0:01:44.800 with them fairly constantly. By week three[br]you can 0:01:44.900,0:01:45.000 start scaling back. Give them more independence.[br]Give them 0:01:45.100,0:01:45.200 more free time. But set up weekly one-on-ones.[br]This 0:01:45.300,0:01:45.400 is a structured, expected thing where they[br]can give 0:01:45.500,0:01:45.600 you feedback. Maybe they can spend ten minutes[br]talking 0:01:45.700,0:01:45.800 about something they learned this week. You[br]can start 0:01:45.900,0:01:46.000 doing goal-setting. 0:01:46.100,0:01:46.200 Which, by week three, hopefully they have[br]a better 0:01:46.300,0:01:46.400 idea of what they want to do next. Maybe 0:01:46.500,0:01:46.600 not what they want to do with their whole 0:01:46.700,0:01:46.800 life, but maybe next they want to focus on 0:01:46.900,0:01:47.000 frontend. They want to get really, really[br]good at 0:01:47.100,0:01:47.200 implementing features for users. Or maybe[br]they absolutely love 0:01:47.300,0:01:47.400 dev ops and infrastructure and they want to[br]work 0:01:47.500,0:01:47.600 more on that. 0:01:47.700,0:01:47.800 So you can start setting these short and long-term 0:01:47.900,0:01:48.000 goals so that they feel like they're moving[br]forward. 0:01:48.100,0:01:48.200 Feedback is also really important. Give feedback[br]early. Give 0:01:48.300,0:01:48.400 feedback often. Some of the biggest complaints[br]that people 0:01:48.500,0:01:48.600 have about their managers is that they don't[br]get 0:01:48.700,0:01:48.800 any feedback from them. So, as engineers,[br]we tend 0:01:48.900,0:01:49.000 to be fairly critical and a little bit cynical, 0:01:49.100,0:01:49.200 which I think is healthy. But when you're[br]giving 0:01:49.300,0:01:49.400 feedback to someone, especially if they're[br]junior, remember, they 0:01:49.500,0:01:49.600 don't know what they're doing well, either.[br]They actually 0:01:49.700,0:01:49.800 don't, they don't really have a good idea[br]of 0:01:49.900,0:01:50.000 what they're doing that's good or bad. 0:01:50.100,0:01:50.200 And I'll give you another sports analogy.[br]When I 0:01:50.300,0:01:50.400 was coaching, so I'm coaching beginners. Absolute[br]beginners. And 0:01:50.500,0:01:50.600 I'm standing on the pool deck, kind of yelling 0:01:50.700,0:01:50.800 things at them. And they'd go to do, like, 0:01:50.900,0:01:51.000 they'd go to throw the ball, like they'd go 0:01:51.100,0:01:51.200 to shoot and they'd drop their elbow, and[br]I'd 0:01:51.300,0:01:51.400 yell don't drop your elbow! And it look like 0:01:51.500,0:01:51.600 these kids hit a brick wall. They would just 0:01:51.700,0:01:51.800 stop and sink in the water and look at 0:01:51.900,0:01:52.000 me. Which I realized was exactly not the behavior 0:01:52.100,0:01:52.200 that I wanted from them. What I wanted them 0:01:52.300,0:01:52.400 to do was I wanted them to keep their 0:01:52.500,0:01:52.600 elbow up. 0:01:52.700,0:01:52.800 So I thought about this for awhile, and then 0:01:52.900,0:01:53.000 I decided to just start yelling at them all 0:01:53.100,0:01:53.200 the things that I wanted them to do. So 0:01:53.300,0:01:53.400 I took the words no and don't out of 0:01:53.500,0:01:53.600 my vocabulary, which is a really, really fun[br]game, 0:01:53.700,0:01:53.800 if anyone wants a hobby. So I started yelling 0:01:53.900,0:01:54.000 things at them like, keep your elbow up. Keep 0:01:54.100,0:01:54.200 your hips up. And I saw the most amazing 0:01:54.300,0:01:54.400 thing happen. They all started doing exactly[br]what I 0:01:54.500,0:01:54.600 wanted. 0:01:54.700,0:01:54.800 They started, they started moving forward[br]faster. They were 0:01:54.900,0:01:55.000 excited. They felt confident. And there was[br]no, there 0:01:55.100,0:01:55.200 was nothing except that I just took all of 0:01:55.300,0:01:55.400 these negative words and negative phrases[br]out and told 0:01:55.500,0:01:55.600 them what I wanted and they did it. So, 0:01:55.700,0:01:55.800 when you're thinking about yelling things[br]at your junior 0:01:55.900,0:01:56.000 engineers, try yelling at them what you want[br]them 0:01:56.100,0:01:56.200 to do as opposed to what you don't want 0:01:56.300,0:01:56.400 them to do. 0:01:56.500,0:01:56.600 Presentations are also really great for communication.[br]We don't 0:01:56.700,0:01:56.800 program in vaccuums. We often work on teams.[br]We 0:01:56.900,0:01:57.000 need to be able to communicate technical concepts[br]to 0:01:57.100,0:01:57.200 other people in a really clear and concise[br]way. 0:01:57.300,0:01:57.400 So make them practice. Give them a topic once 0:01:57.500,0:01:57.600 a month, a technical topic, maybe it's regexes,[br]maybe 0:01:57.700,0:01:57.800 it's the ORM layer, and have them give a 0:01:57.900,0:01:58.000 five to ten minute presentation to the rest[br]of 0:01:58.100,0:01:58.200 the team on it. 0:01:58.300,0:01:58.400 Week four. Week four, you're gonna continue[br]scaling back. 0:01:58.500,0:01:58.600 You want them to be independent. You want[br]them 0:01:58.700,0:01:58.800 to be autonomous. So you're gonna continue[br]taking yourself 0:01:58.900,0:01:59.000 out. Review concepts. Check in regularly in[br]your one-on-ones. 0:01:59.100,0:01:59.200 You can start to tell them things like, if 0:01:59.300,0:01:59.400 you hit a bug, I want you to research 0:01:59.500,0:01:59.600 things for an hour before you come talk to 0:01:59.700,0:01:59.800 me. So set really clear expectations, but[br]have them 0:01:59.900,0:02:00.000 go off on their own. Have them do research 0:02:00.100,0:02:00.200 on their own. Have them get used to that 0:02:00.300,0:02:00.400 feeling of hitting your head up against a[br]wall 0:02:00.500,0:02:00.600 because you're super frustrated with a problem.[br]This is 0:02:00.700,0:02:00.800 good. They need to learn those things. 0:02:00.900,0:02:01.000 Also, make shadowing elective. Let them choose[br]who they 0:02:01.100,0:02:01.200 want to shadow and when. So start off-loading[br]decisions 0:02:01.300,0:02:01.400 about what they do to the engineer. Also,[br]have 0:02:01.500,0:02:01.600 them start co-piloting a larger project with[br]someone else. 0:02:01.700,0:02:01.800 The concept is kind of like drivers' ed in 0:02:01.900,0:02:02.000 the U.S. In drivers' ed in the U.S., you're 0:02:02.100,0:02:02.200 paired with an instructor who actually has[br]a break 0:02:02.300,0:02:02.400 on their side, so if you decide to careen 0:02:02.500,0:02:02.600 on a cliff or something, they can hit the 0:02:02.700,0:02:02.800 breaks and stop you. So pair them with someone 0:02:02.900,0:02:03.000 who still has enough control that they can[br]stop 0:02:03.100,0:02:03.200 them from doing anything that's really dangerous,[br]but they're 0:02:03.300,0:02:03.400 also working on bigger projects now and learning[br]from 0:02:03.500,0:02:03.600 someone who's more senior. 0:02:03.700,0:02:03.800 Beyond. So, keep checking in on goals. Keep[br]talking 0:02:03.900,0:02:04.000 to them. Make sure you have really structured[br]channels 0:02:04.100,0:02:04.200 for communication. Start tailoring their projects,[br]code labs, et 0:02:04.300,0:02:04.400 cetera to their progress. And this is the[br]part 0:02:04.500,0:02:04.600 where you can start doing things like informal[br]apprenticeships 0:02:04.700,0:02:04.800 and assessing their progress. Although you[br]should be assessing 0:02:04.900,0:02:05.000 it this whole time. 0:02:05.100,0:02:05.200 Apprenticeship is a concept that has worked[br]for many 0:02:05.300,0:02:05.400 thousands of years in many, many different[br]trade industries. 0:02:05.500,0:02:05.600 So, blacksmithing, roof-thatching, I don't[br]know. But at this 0:02:05.700,0:02:05.800 point, they should know more specifically[br]what they're gonna 0:02:05.900,0:02:06.000 want to work on long-term. So have them be 0:02:06.100,0:02:06.200 an apprentice to someone who's more senior[br]at this. 0:02:06.300,0:02:06.400 So if they want to do dev ops, they 0:02:06.500,0:02:06.600 can go work on the dev ops team with 0:02:06.700,0:02:06.800 a more senior engineer, and they might do[br]a 0:02:06.900,0:02:07.000 lot of grunt-work tasks. They might do a lot 0:02:07.100,0:02:07.200 of the things that no one else wants to 0:02:07.300,0:02:07.400 do at this point. But they're learning. And[br]as 0:02:07.500,0:02:07.600 they learn and they grow they get more involved 0:02:07.700,0:02:07.800 tasks, and they get to solve more exciting[br]problems. 0:02:07.900,0:02:08.000 Assessment. So you're gonna see wildly different[br]trajectories with 0:02:08.100,0:02:08.199 people. And hopefully the more systematic[br]your process gets, 0:02:08.300,0:02:08.400 the more you're able to deal with this. But 0:02:08.500,0:02:08.600 some people are just gonna take off running[br]and 0:02:08.699,0:02:08.800 they're gonna be fine. Other people are gonna[br]have 0:02:08.900,0:02:09.000 ups and downs. And so you're gonna want to 0:02:09.100,0:02:09.199 have some sort of way of assessing how they're 0:02:09.300,0:02:09.400 doing. And when someone's not doing the way[br]you 0:02:09.500,0:02:09.600 expect, the answer isn't always they're a[br]bad programmer. 0:02:09.699,0:02:09.800 In fact, we came up with five assessment categories. 0:02:09.900,0:02:10.000 Confidence, code quality, communication, judgement,[br]and technical knowledge. And 0:02:10.100,0:02:10.199 this is just a start. If someone is afraid 0:02:10.300,0:02:10.400 to ship code, they might lack confidence.[br]And so 0:02:10.500,0:02:10.600 helping to bolster their confidence will see[br]huge results. 0:02:10.699,0:02:10.800 Additionally, if they're building features[br]that don't make sense, 0:02:10.900,0:02:11.000 they might lack judgment. And in order to[br]have 0:02:11.100,0:02:11.200 good judgment, you need a lot of context about 0:02:11.300,0:02:11.400 who uses your product and why. So maybe they 0:02:11.500,0:02:11.600 should go spend more time working with customer[br]support 0:02:11.700,0:02:11.800 and answering support tickets so that they[br]can learn 0:02:11.900,0:02:12.000 how people use the product so they have better 0:02:12.100,0:02:12.200 judgement. Sometimes they just need to learn[br]more about 0:02:12.300,0:02:12.400 a particular tool, and that one's pretty easy. 0:02:12.500,0:02:12.600 OK. Hopefully you guys have had a fair number 0:02:12.700,0:02:12.800 of take-aways. Hopefully you now know about[br]the concept 0:02:12.900,0:02:13.000 of team debt. You're thinking about doing[br]an onboarding 0:02:13.100,0:02:13.200 plan now. But, if you take away only three 0:02:13.300,0:02:13.400 things, I hope you take away these three things. 0:02:13.500,0:02:13.600 First off, the goal of onboarding is to make 0:02:13.700,0:02:13.800 people confident, productive, and independent.[br]Reliably independent. And so 0:02:13.900,0:02:14.000 that can have to do with their level. But 0:02:14.100,0:02:14.200 it's not about making someone into a senior[br]engineer 0:02:14.300,0:02:14.400 overnight. 0:02:14.500,0:02:14.600 Second, onboarding benefits everyone in the[br]long run. It 0:02:14.700,0:02:14.800 benefits the individual joining, it benefits[br]your company's bottom-line, 0:02:14.900,0:02:15.000 it benefits the productivity of the team,[br]and it's 0:02:15.100,0:02:15.200 also great for diversity. 0:02:15.300,0:02:15.400 And finally, anyone at your company can be[br]involved 0:02:15.500,0:02:15.600 in onboarding. So, as I said before, some[br]of 0:02:15.700,0:02:15.800 your best onboarders are not gonna be senior[br]engineers. 0:02:15.900,0:02:16.000 They're gonna be the people who were just[br]junior 0:02:16.100,0:02:16.200 engineers themselves. 0:02:16.300,0:02:16.400 OK. So, start improving your onboarding process[br]now. There's 0:02:16.500,0:02:16.600 actually a code repository, or not code, but[br]just 0:02:16.700,0:02:16.800 a GitHub repository that has some assessment[br]rubrics. It 0:02:16.900,0:02:17.000 has the plan in a lot more detail. It 0:02:17.100,0:02:17.200 also has some tools for, for learning, like,[br]online 0:02:17.300,0:02:17.400 tools for learning Ruby and Rails. And if[br]you 0:02:17.500,0:02:17.600 have questions, feel free to ask them now.[br]If 0:02:17.700,0:02:17.800 you are terrified of yelling questions out[br]in a 0:02:17.900,0:02:18.000 pubilc forum, which I absolutely am, you can[br]come 0:02:18.100,0:02:18.200 find me later. I'll also be around for the 0:02:18.300,0:02:18.400 rest of the conference. So thank you.