WEBVTT 00:00:16.990 --> 00:00:19.170 KATHERINE WU: OK. Cool. I'll guess I'll go ahead and get 00:00:19.170 --> 00:00:20.070 started, then. 00:00:20.920 --> 00:00:24.140 Hi. And, thank you all so much for coming 00:00:24.150 --> 00:00:27.830 to my talk here. I'm K Wu, and I 00:00:27.830 --> 00:00:30.930 started at New Relic just about eight months ago. 00:00:30.930 --> 00:00:34.220 And it's my first developer job there. And for 00:00:34.220 --> 00:00:36.680 my talk today, I'm going to first give a 00:00:36.680 --> 00:00:40.500 bit more context around where I'm coming from and 00:00:40.500 --> 00:00:42.580 my intentions for this talk. 00:00:42.580 --> 00:00:45.170 I'll then dive into what I see as the 00:00:45.170 --> 00:00:49.089 main challenges for being a junior developer, and I'll 00:00:49.089 --> 00:00:51.290 talk about my tactics for how to overcome these 00:00:51.290 --> 00:00:51.909 challenges. 00:00:51.909 --> 00:00:54.370 There is a lot that I want to cover, 00:00:54.370 --> 00:00:56.970 but if you're taking notes and happen to miss 00:00:56.970 --> 00:01:00.250 something, I have written a post for the New 00:01:00.250 --> 00:01:01.920 Relic blog that went up this morning that you 00:01:01.920 --> 00:01:04.750 can reference. And I also have a link to 00:01:04.750 --> 00:01:07.900 my slides at the end. 00:01:07.900 --> 00:01:13.700 So. How many people here are junior developers? OK. 00:01:13.700 --> 00:01:18.240 Awesome. Cool. And how many people did something else 00:01:18.240 --> 00:01:23.820 professionally before they worked as developers? Nice. OK. So 00:01:23.820 --> 00:01:27.000 we are like amongst our own people here, right. 00:01:27.000 --> 00:01:28.450 Very cool. 00:01:28.450 --> 00:01:31.750 For me, being a developer is probably, like, the 00:01:31.750 --> 00:01:35.340 fourth or fifth career I've had at this point. 00:01:35.340 --> 00:01:37.240 It's hard to keep track. Some of the other 00:01:37.240 --> 00:01:39.640 jobs I've had in the past are things like 00:01:39.640 --> 00:01:42.670 product specialist, tech support. I used to work in 00:01:42.670 --> 00:01:44.960 a biology research lab and I also did some 00:01:44.960 --> 00:01:46.670 copy editing on the side. 00:01:46.670 --> 00:01:49.759 So the thing is, compared to people who have 00:01:49.759 --> 00:01:53.780 been coding since they were kids, I am literally 00:01:53.780 --> 00:01:57.890 decades behind. This makes me just feel like I 00:01:57.890 --> 00:02:02.549 have so much to catch up on. However, something 00:02:02.549 --> 00:02:06.420 I've realized is that being a developer is essentially 00:02:06.420 --> 00:02:10.979 about constantly learning new things. And guess what? I'm 00:02:10.979 --> 00:02:14.069 pretty good at that. I'm really practiced at it 00:02:14.069 --> 00:02:16.620 with picking up a new career and starting over 00:02:16.620 --> 00:02:21.100 and over again. And so, despite what my parents 00:02:21.100 --> 00:02:24.090 think, I like to think that my previous lack 00:02:24.090 --> 00:02:27.630 of direction is now an asset. 00:02:27.630 --> 00:02:31.580 The other thing I've realized over the last few 00:02:31.580 --> 00:02:34.110 months is that a lot of it can actually 00:02:34.110 --> 00:02:37.640 have nothing to do with coding. If you spent 00:02:37.640 --> 00:02:41.610 a lot of time doing something besides computer science, 00:02:41.610 --> 00:02:44.340 that means you have more experience for all of 00:02:44.340 --> 00:02:47.860 the non-coding portions, and that means you can leverage 00:02:47.860 --> 00:02:51.200 those skills from that experience to help your team 00:02:51.200 --> 00:02:54.030 while you get better at the technical aspects. 00:02:54.030 --> 00:02:59.180 My thesis is that, just because you switch careers 00:02:59.180 --> 00:03:03.070 doesn't mean you're starting over entirely. And, in fact, 00:03:03.070 --> 00:03:06.040 you can still use those other skills that you 00:03:06.040 --> 00:03:10.160 have. You may already know the different tactics I'll 00:03:10.160 --> 00:03:12.410 be talking about today, so I hope I can 00:03:12.410 --> 00:03:16.080 prompt you to consider new angles and get excited 00:03:16.080 --> 00:03:18.260 to apply them as a junior developer. 00:03:18.260 --> 00:03:21.230 There will be sections that are actually more targeted 00:03:21.230 --> 00:03:24.520 towards mentors, but, if you have a mentor but 00:03:24.520 --> 00:03:27.200 he or she doesn't happen to be here today, 00:03:27.200 --> 00:03:28.960 maybe you can bring some of these ideas back 00:03:28.960 --> 00:03:31.160 to them and discuss it. 00:03:31.160 --> 00:03:33.320 For senior, any senior developers that might be in 00:03:33.320 --> 00:03:35.760 the audience, I hope to help you remember what 00:03:35.760 --> 00:03:38.930 it feels like to be on that junior side 00:03:38.930 --> 00:03:41.940 of the mentoring relationship, and think about ways that 00:03:41.940 --> 00:03:44.960 you can help your proteges feel valued in a 00:03:44.960 --> 00:03:49.430 very concrete kind of way. 00:03:49.430 --> 00:03:51.560 I think there are two big reasons for why 00:03:51.560 --> 00:03:57.310 it's hard to be a junior developer. First, there's 00:03:57.310 --> 00:03:59.590 a ridiculous amount to learn. How many people feel 00:03:59.590 --> 00:04:05.000 like that? Yeah. Like, pretty much everyone here. Cool. 00:04:05.000 --> 00:04:07.880 Second, I think it's also really hard to know 00:04:07.880 --> 00:04:10.870 how you can help your team and not just 00:04:10.870 --> 00:04:16.000 feel like this helpless little baby bird here. 00:04:16.000 --> 00:04:18.589 I'll talk a little bit about these challenges and 00:04:18.589 --> 00:04:21.529 how to handle each of them in turn. 00:04:21.529 --> 00:04:26.340 My three step, fool-proof plan to tackling the fact 00:04:26.340 --> 00:04:29.160 that there's a ridiculous amount to learn, is really 00:04:29.160 --> 00:04:31.789 all about not trying to do it all just 00:04:31.789 --> 00:04:34.650 on your own. 00:04:34.650 --> 00:04:36.300 Getting people to want to help you in the 00:04:36.300 --> 00:04:38.289 first place can be a little bit of a 00:04:38.289 --> 00:04:41.849 hurdle sometimes, depending on how supportive an environment you 00:04:41.849 --> 00:04:44.499 happen to be in. I've been really lucky at 00:04:44.499 --> 00:04:46.900 New Relic. But I think there are always things 00:04:46.900 --> 00:04:48.999 that you can do even if you feel a 00:04:48.999 --> 00:04:50.199 bit more isolated. 00:04:50.199 --> 00:04:53.550 People, fundamentally, just aren't all that different wherever you 00:04:53.550 --> 00:04:58.550 go. A lot of this boils down to so-called 00:04:58.550 --> 00:05:02.300 building relationships. But I prefer to think about it 00:05:02.300 --> 00:05:05.449 as really just getting to know people and making 00:05:05.449 --> 00:05:10.770 friends. Because, of course, friendship is magic. 00:05:10.770 --> 00:05:14.840 I personally find this pretty hard, because I'm actually 00:05:14.840 --> 00:05:18.840 a pretty strong introvert. I fully expect to spend 00:05:18.840 --> 00:05:21.900 most of tonight, like, huddled in a ball, like, 00:05:21.900 --> 00:05:26.050 trying to recover from today. But, you know, the 00:05:26.050 --> 00:05:27.919 thing is, a lot of developers, by and large, 00:05:27.919 --> 00:05:31.099 are also pretty introverted as well. And so sometimes 00:05:31.099 --> 00:05:32.770 it can be hard to try to get the 00:05:32.770 --> 00:05:36.240 conversation going. You know, even if you, you know, 00:05:36.240 --> 00:05:38.199 both really want to connect. 00:05:38.199 --> 00:05:41.469 Luckily, at my last job, I worked with PM 00:05:41.469 --> 00:05:46.129 and engineering and came up with a few hacks. 00:05:46.129 --> 00:05:48.849 What I do is I try and pay attention 00:05:48.849 --> 00:05:51.719 to, to try to remember small details that people 00:05:51.719 --> 00:05:55.129 have told me. Especially about their lives outside of 00:05:55.129 --> 00:05:58.180 work. Sometimes it's actually even easier for me to 00:05:58.180 --> 00:06:02.689 remember these details than peoples' names. But usually people 00:06:02.689 --> 00:06:05.659 are pretty forgiving once I tell them, I do 00:06:05.659 --> 00:06:09.240 actually remember talking to them for like two hours 00:06:09.240 --> 00:06:13.729 about their love for, like, antique banjo collecting or 00:06:13.729 --> 00:06:16.300 something like that. 00:06:16.300 --> 00:06:18.539 This makes for much better conversations than your typical 00:06:18.539 --> 00:06:24.099 small talk. Another really dorky thing that I do, 00:06:24.099 --> 00:06:28.349 is that I actually sometimes mentally prepare stories to 00:06:28.349 --> 00:06:32.199 get a conversation going. Like, right after a weekend, 00:06:32.199 --> 00:06:35.009 I'll try to think of something interesting or odd 00:06:35.009 --> 00:06:37.569 that I did, so that I'll have a non-generic 00:06:37.569 --> 00:06:40.849 answer ready for when someone asks, how was your 00:06:40.849 --> 00:06:42.110 weekend? 00:06:42.110 --> 00:06:44.759 Otherwise I just kind of freeze up and just 00:06:44.759 --> 00:06:47.370 say, oh, good, which is kind of a boring 00:06:47.370 --> 00:06:50.590 answer and doesn't really get conversations started. Does anybody 00:06:50.590 --> 00:06:55.249 else have that knee-jerk reaction sometimes? Yeah. Totally. 00:06:55.249 --> 00:06:58.689 Well, with a story to tell, what I find 00:06:58.689 --> 00:07:01.479 is that this can then prompt questions and get 00:07:01.479 --> 00:07:04.729 some back and forth started, which breaks through any 00:07:04.729 --> 00:07:06.430 awkwardness there might be. 00:07:06.430 --> 00:07:11.669 Helping break through awkwardness is also something that mentors 00:07:11.669 --> 00:07:14.240 can do a lot to help with. Mentors are 00:07:14.240 --> 00:07:18.050 really great for guiding newbies around team culture and 00:07:18.050 --> 00:07:22.610 history. They can help make introductions and give advice 00:07:22.610 --> 00:07:25.319 on how to approach other people. Like, what the 00:07:25.319 --> 00:07:27.919 two of you may have in common, or who's 00:07:27.919 --> 00:07:31.050 a good person to ask about what. 00:07:31.050 --> 00:07:34.479 Also, I think that if your company has a 00:07:34.479 --> 00:07:38.150 support team, you should definitely make some good friends 00:07:38.150 --> 00:07:41.909 there. Support tends to be a little bit chronically 00:07:41.909 --> 00:07:45.139 undervalued, but they probably know way more about the 00:07:45.139 --> 00:07:47.659 products than you do. And if you think about 00:07:47.659 --> 00:07:51.849 it, they're very practised at explaining the product to 00:07:51.849 --> 00:07:53.839 newbies like your fellow customers. 00:07:53.839 --> 00:07:56.620 When I worked in tech support, sometimes they would 00:07:56.620 --> 00:08:00.339 have engineers shadow us so that engineers could learn 00:08:00.339 --> 00:08:03.169 how the customers actually used our product, and use 00:08:03.169 --> 00:08:06.419 it to inform design decisions that they might have. 00:08:06.419 --> 00:08:09.669 And I definitely always really preferred the engineers that 00:08:09.669 --> 00:08:14.189 were really eager to learn from me. 00:08:14.189 --> 00:08:16.360 Another key component to getting people to want to 00:08:16.360 --> 00:08:20.249 help you is to demonstrate the time that they're 00:08:20.249 --> 00:08:23.710 taking. And so that you took a reasonable amount 00:08:23.710 --> 00:08:25.849 of time to get as far as you could 00:08:25.849 --> 00:08:29.770 on your own. Each time someone helps you, you'll 00:08:29.770 --> 00:08:32.349 be able to learn new tactics and push yourself 00:08:32.349 --> 00:08:35.039 just a little bit further before the next time 00:08:35.039 --> 00:08:37.820 you have to ask a question again. 00:08:37.820 --> 00:08:39.679 When you do ask for help, you can also 00:08:39.679 --> 00:08:43.080 ask questions like, if you're busy, who else could 00:08:43.080 --> 00:08:47.130 I talk to about this? When someone does help 00:08:47.130 --> 00:08:51.220 you, you can always end with asking something like, 00:08:51.220 --> 00:08:52.930 is there somewhere I could have found this answer 00:08:52.930 --> 00:08:56.240 on my own? And if the answer is no 00:08:56.240 --> 00:08:58.370 and there isn't any good reason it doesn't exist 00:08:58.370 --> 00:09:01.139 already, you should add it. 00:09:01.139 --> 00:09:04.970 When you do have someone's time, try and think 00:09:04.970 --> 00:09:08.040 of ways to sort of push out and extend 00:09:08.040 --> 00:09:10.490 what you're learning from them at that point in 00:09:10.490 --> 00:09:13.360 time. That way, you'll be equipped when a variation 00:09:13.360 --> 00:09:16.910 of that same question comes up again. 00:09:16.910 --> 00:09:20.370 Lastly, for getting people to want to help you, 00:09:20.370 --> 00:09:23.529 something just as simple as showing your appreciation really 00:09:23.529 --> 00:09:27.180 goes a long way. Great mentors and teachers would, 00:09:27.180 --> 00:09:30.690 of course, probably do it regardless, but I just 00:09:30.690 --> 00:09:34.259 think it never hurts to make people feel extra 00:09:34.259 --> 00:09:38.779 good about doing something that helps you. Making sure 00:09:38.779 --> 00:09:40.839 to notice when people have gone out of their 00:09:40.839 --> 00:09:44.750 way to help you encourages more of that to 00:09:44.750 --> 00:09:46.190 happen. 00:09:46.190 --> 00:09:48.620 If you're working somewhere that's big enough, where not 00:09:48.620 --> 00:09:51.750 everyone knows what everyone else is doing, you can 00:09:51.750 --> 00:09:54.459 also do things like, let peoples' managers know when 00:09:54.459 --> 00:09:58.720 they've been particularly helpful. Most managers like hearing good 00:09:58.720 --> 00:10:01.589 things about their reports, and most people like their 00:10:01.589 --> 00:10:03.610 managers to now the good things they've done for 00:10:03.610 --> 00:10:05.630 the team. So it's just a nice thing to 00:10:05.630 --> 00:10:10.459 do all around. We've covered step one now of 00:10:10.459 --> 00:10:17.459 getting people to want to help you. 00:10:17.649 --> 00:10:19.750 Step two is make it easy for them to 00:10:19.750 --> 00:10:25.290 help. Help them help you. There are a few 00:10:25.290 --> 00:10:29.560 different ways you can do this. I think actually 00:10:29.560 --> 00:10:32.230 that one of the hardest parts to learning is 00:10:32.230 --> 00:10:36.440 just letting people see inside your head and understand 00:10:36.440 --> 00:10:38.889 where you're at right now. But this can be 00:10:38.889 --> 00:10:42.089 really hard in a field like programming, where sometimes 00:10:42.089 --> 00:10:44.880 you might not even have the vocabulary to express 00:10:44.880 --> 00:10:47.899 what it is that you don't understand because you 00:10:47.899 --> 00:10:50.240 don't understand it. 00:10:50.240 --> 00:10:52.019 Great teachers can draw it out from you, even 00:10:52.019 --> 00:10:55.190 when you're asking pretty vague questions. But most people 00:10:55.190 --> 00:10:59.279 that you work with probably aren't highly trained teachers. 00:10:59.279 --> 00:11:00.709 So there are ways that you can make it 00:11:00.709 --> 00:11:03.370 easier for others to help you by articulating the 00:11:03.370 --> 00:11:06.380 premises that you're working off of and the logic 00:11:06.380 --> 00:11:09.560 that you're using, so that together, you can narrow 00:11:09.560 --> 00:11:12.399 down what it is that you don't understand or 00:11:12.399 --> 00:11:14.420 are missing. 00:11:14.420 --> 00:11:17.139 You can say things like, you had me up 00:11:17.139 --> 00:11:22.529 until such and such a point, or I'm confused, 00:11:22.529 --> 00:11:25.699 because I thought you said this and then this, 00:11:25.699 --> 00:11:28.589 but it doesn't seem to lead to this point. 00:11:28.589 --> 00:11:34.209 This is a good general format for describing problems 00:11:34.209 --> 00:11:36.769 that you might have. Say what you're trying to 00:11:36.769 --> 00:11:39.750 do and why, so that someone can jump in 00:11:39.750 --> 00:11:42.199 if that's not even actually the right goal to 00:11:42.199 --> 00:11:44.630 be aiming for in the first place. 00:11:44.630 --> 00:11:48.550 Also, describe your current problem and what you've tried 00:11:48.550 --> 00:11:52.050 already. Sometimes people might jump in quickly with their 00:11:52.050 --> 00:11:54.319 idea of what the answer to your question is 00:11:54.319 --> 00:11:57.110 already, but I think it's still good to be 00:11:57.110 --> 00:12:01.380 prepared regardless. And if you're a mentor, just consider 00:12:01.380 --> 00:12:03.250 that you should check to make sure that you 00:12:03.250 --> 00:12:06.259 understand the question before you go ahead and answer 00:12:06.259 --> 00:12:08.190 it. 00:12:08.190 --> 00:12:09.980 When I worked in tech support, the best clients 00:12:09.980 --> 00:12:12.740 actually put all of this information up front in 00:12:12.740 --> 00:12:15.310 their ticket, which saved us a ton of time 00:12:15.310 --> 00:12:17.759 on the back and forth from just trying to 00:12:17.759 --> 00:12:22.329 even figure out what the question was. 00:12:22.329 --> 00:12:25.500 Remember that just having the courage to say I 00:12:25.500 --> 00:12:30.100 don't know is a strength. Exposing your own ignorance 00:12:30.100 --> 00:12:34.319 feels really scary. So I'm always practicing actually saying 00:12:34.319 --> 00:12:38.420 things like, wait, I don't even know what that 00:12:38.420 --> 00:12:40.949 words means. I say this all the time. 00:12:40.949 --> 00:12:44.509 But if it's something that's vital to understanding what 00:12:44.509 --> 00:12:47.660 people are talking about, the sooner I tell people 00:12:47.660 --> 00:12:50.470 I don't actually know what's going on, the sooner 00:12:50.470 --> 00:12:53.920 I can get to actually learning and working. 00:12:53.920 --> 00:12:57.670 Of all the advice I got when I started 00:12:57.670 --> 00:13:01.110 at New Relic, this one is my very favorite. 00:13:01.110 --> 00:13:04.709 One of the best things that mentors can do 00:13:04.709 --> 00:13:08.519 when junior developers are confused is even just validating 00:13:08.519 --> 00:13:11.769 that feeling. Being honest, and saying, this is confusing 00:13:11.769 --> 00:13:16.199 for me too. It always, without fail, makes me 00:13:16.199 --> 00:13:18.829 feel better when someone I expect to know the 00:13:18.829 --> 00:13:23.790 answer actually says they don't know it either. 00:13:23.790 --> 00:13:26.199 And then it becomes this team effort to figure 00:13:26.199 --> 00:13:28.069 out how to get out of this hole of 00:13:28.069 --> 00:13:32.129 ignorance together. It's also cool because when you work 00:13:32.129 --> 00:13:34.899 with someone that also doesn't know the answer, you'll 00:13:34.899 --> 00:13:37.750 frequently learn new debugging techniques that you can apply 00:13:37.750 --> 00:13:39.899 yourself next time. 00:13:39.899 --> 00:13:43.670 Now, I want you to think back to the 00:13:43.670 --> 00:13:50.670 last few times you asked someone for help. OK. 00:13:54.279 --> 00:13:56.560 How many of you, after you got help from 00:13:56.560 --> 00:14:00.329 someone, heard something from them that was like, did 00:14:00.329 --> 00:14:05.470 that help? A few people. Yeah. I get this 00:14:05.470 --> 00:14:07.930 all the time. And I realized that this is 00:14:07.930 --> 00:14:11.620 because most of us are really needy and want 00:14:11.620 --> 00:14:15.560 validation. That's because, and so, my favorite feedback that 00:14:15.560 --> 00:14:18.870 I get from people is usually people telling me 00:14:18.870 --> 00:14:22.290 that they actually used any advice that I gave 00:14:22.290 --> 00:14:22.759 them. 00:14:22.759 --> 00:14:24.949 So when you tell people specifically what it is 00:14:24.949 --> 00:14:27.279 they did that helped you, they'll know what they 00:14:27.279 --> 00:14:32.029 can do more of. For example, it really helped 00:14:32.029 --> 00:14:34.829 me when you walked me through how to use 00:14:34.829 --> 00:14:39.310 these tools with this example. Or, it really helps 00:14:39.310 --> 00:14:42.230 me to be the driver when we pair program, 00:14:42.230 --> 00:14:45.360 because I absorb more than when I'm just shadowing. 00:14:45.360 --> 00:14:49.910 One way of looking at mentoring relationships that I 00:14:49.910 --> 00:14:52.079 really like is from the book club that we 00:14:52.079 --> 00:14:54.410 had at New Relic when I first started called 00:14:54.410 --> 00:14:59.680 Managers as Mentors. The idea there is that mentoring 00:14:59.680 --> 00:15:03.029 should not be about this traditional mindset of a 00:15:03.029 --> 00:15:08.500 one-way transmission of information. And instead, it's the mentor's 00:15:08.500 --> 00:15:12.670 responsibility to create a safe environment and remove any 00:15:12.670 --> 00:15:16.269 barriers to learning, so that their mentees can speak 00:15:16.269 --> 00:15:19.240 up about any fears they might have, and not 00:15:19.240 --> 00:15:22.329 be afraid of failing. 00:15:22.329 --> 00:15:25.000 This way, they can learn a lot more and 00:15:25.000 --> 00:15:26.430 a lot faster. 00:15:26.430 --> 00:15:31.199 I know, for me, making the move from just 00:15:31.199 --> 00:15:34.199 working on my own projects that no one was 00:15:34.199 --> 00:15:38.740 depending on to working on something that actual people 00:15:38.740 --> 00:15:43.899 were paying us actual money for was pretty terrifying. 00:15:43.899 --> 00:15:48.560 Sure, we have this idea of failing fast, but 00:15:48.560 --> 00:15:50.560 it's so hard to apply it when you don't 00:15:50.560 --> 00:15:52.620 feel secure. 00:15:52.620 --> 00:15:55.740 What helped me was all the support that I 00:15:55.740 --> 00:15:58.899 got from mentors sharing their stories about how they'd 00:15:58.899 --> 00:16:01.910 messed things up, too, and the idea that it's 00:16:01.910 --> 00:16:05.329 not a matter of if you break production, but 00:16:05.329 --> 00:16:07.810 when. 00:16:07.810 --> 00:16:10.980 And when you do make mistakes, your team should 00:16:10.980 --> 00:16:14.019 have processes set up in place to make it 00:16:14.019 --> 00:16:16.790 easy to recover quickly and ways to try to 00:16:16.790 --> 00:16:20.730 prevent that same mistake from happening again. If none 00:16:20.730 --> 00:16:23.529 of these processes exist already, you should try to 00:16:23.529 --> 00:16:27.680 help establish them. Because if just one person can 00:16:27.680 --> 00:16:31.680 ruin everything, that's a pretty big problem for the 00:16:31.680 --> 00:16:33.439 entire team. 00:16:33.439 --> 00:16:37.550 Something I'm a really big fan of, as well, 00:16:37.550 --> 00:16:41.110 is just having a direct conversation up front about 00:16:41.110 --> 00:16:44.439 someone's learning style along with the other person's teaching 00:16:44.439 --> 00:16:47.470 style. This way you can try to sync them 00:16:47.470 --> 00:16:51.060 up and talk through any mismatches ahead of time 00:16:51.060 --> 00:16:54.610 before there's any conflict. It's great when mentors show 00:16:54.610 --> 00:16:57.249 that they're open to feedback along the way as 00:16:57.249 --> 00:17:00.230 well, so that they can continue iterating and adapting 00:17:00.230 --> 00:17:03.839 their style to match whatever will help the junior 00:17:03.839 --> 00:17:05.250 learn best. 00:17:05.250 --> 00:17:08.819 It's also really important to talk about how you 00:17:08.819 --> 00:17:12.770 prefer to be interrupted. My mentor at New Relic, 00:17:12.770 --> 00:17:15.329 David, told me that I could interrupt him pretty 00:17:15.329 --> 00:17:19.140 much any time. And because he was really clear 00:17:19.140 --> 00:17:21.569 and direct with me when he couldn't help me 00:17:21.569 --> 00:17:23.929 right then, and still always gave me some other 00:17:23.929 --> 00:17:27.689 resource to try, I had that much more confidence 00:17:27.689 --> 00:17:31.220 in it being OK to interrupt rather than bottling 00:17:31.220 --> 00:17:33.409 it all up and just saving it for our 00:17:33.409 --> 00:17:37.470 designated weekly meetings. 00:17:37.470 --> 00:17:40.679 When I started, David's desk was right next to 00:17:40.679 --> 00:17:42.789 mine, so that even when I was talking to 00:17:42.789 --> 00:17:46.370 other people, he could sort of lightly listen in 00:17:46.370 --> 00:17:48.640 and jump in whenever it was clear to him 00:17:48.640 --> 00:17:52.980 that I was missing something fundamental. As my mentor, 00:17:52.980 --> 00:17:56.169 he had a better overall understanding of where my 00:17:56.169 --> 00:17:59.279 knowledge level was at, so he could help others 00:17:59.279 --> 00:18:02.559 help me, too. 00:18:02.559 --> 00:18:06.200 If, as a mentor, part of your philosophy is 00:18:06.200 --> 00:18:09.640 to let people struggle, this is also something that's 00:18:09.640 --> 00:18:12.440 good to make clear up front. It's really good 00:18:12.440 --> 00:18:15.190 to talk about this, because that way, you can 00:18:15.190 --> 00:18:17.710 let the juniors know that you are intentionally doing 00:18:17.710 --> 00:18:19.929 this. And it is out of a faith in 00:18:19.929 --> 00:18:23.100 them, rather than setting them up to fail or 00:18:23.100 --> 00:18:26.400 having misplaced expectations. 00:18:26.400 --> 00:18:29.279 Just being reminded that you expect this to be 00:18:29.279 --> 00:18:32.630 hard goes really far towards dispelling any sense of 00:18:32.630 --> 00:18:36.279 impostor syndrome, where you might have this sinking feeling 00:18:36.279 --> 00:18:39.480 that it should be easier. But that's wrong. It's 00:18:39.480 --> 00:18:41.750 supposed to be hard. 00:18:41.750 --> 00:18:45.299 Finally, I think it's ideal if you can push 00:18:45.299 --> 00:18:49.409 up responsibility for deadlines. The junior developer's job is 00:18:49.409 --> 00:18:51.600 to keep everyone up to date so that no 00:18:51.600 --> 00:18:53.970 one is surprised by how much work is left 00:18:53.970 --> 00:18:57.250 to do. On one project, a couple months ago, 00:18:57.250 --> 00:18:59.950 when I was freaking out because I felt like 00:18:59.950 --> 00:19:02.390 it was taking me forever to learn even just 00:19:02.390 --> 00:19:05.700 the basics of D3, one of our project managers 00:19:05.700 --> 00:19:08.809 came to me and said that shuffling resources is 00:19:08.809 --> 00:19:11.370 his job, so that I could go back to 00:19:11.370 --> 00:19:14.450 learning and struggling. And if at any point the 00:19:14.450 --> 00:19:17.880 project deadline was in danger, the burden wasn't entirely 00:19:17.880 --> 00:19:19.600 on my shoulders. 00:19:19.600 --> 00:19:25.809 Now we have covered these first two steps. 00:19:25.809 --> 00:19:27.529 We are just a little bit halfway through. So 00:19:27.529 --> 00:19:29.520 I just want to take a real quick break. 00:19:29.520 --> 00:19:31.890 Humor me. If you could all just sort of 00:19:31.890 --> 00:19:35.309 sit forward in your chairs a little bit. Thank 00:19:35.309 --> 00:19:37.480 you. And go ahead and just put your arms 00:19:37.480 --> 00:19:40.480 behind your back like this. And just try to 00:19:40.480 --> 00:19:43.140 stretch and pull your shoulders down and back a 00:19:43.140 --> 00:19:45.610 little bit. Just try to counteract a little bit 00:19:45.610 --> 00:19:48.890 of the terrible posture a lot of us probably 00:19:48.890 --> 00:19:52.419 have over a hunched over computer. OK. Cool. 00:19:52.419 --> 00:19:55.400 Feels better. I do this a lot when we 00:19:55.400 --> 00:19:57.529 do stand ups actually, because it's like a good 00:19:57.529 --> 00:20:00.350 time as any to stretch and be slightly more 00:20:00.350 --> 00:20:01.200 ergonomic. 00:20:01.200 --> 00:20:07.220 All right. Back to where we were. 00:20:07.220 --> 00:20:09.480 The final step in tackling how much there is 00:20:09.480 --> 00:20:12.340 to learn is much like how you'd approach any 00:20:12.340 --> 00:20:17.529 other gnarly technical problem. Narrow your scope. Mentors are 00:20:17.529 --> 00:20:21.130 highly helpful here, too, because they can help prioritize 00:20:21.130 --> 00:20:23.179 what to learn next. 00:20:23.179 --> 00:20:25.770 For example, one of my things is that I 00:20:25.770 --> 00:20:28.260 still actually need to build a Rails app from 00:20:28.260 --> 00:20:33.669 the beginning. Know that it's important to deliver recommendations 00:20:33.669 --> 00:20:36.919 at the right time. If a mentor gets really 00:20:36.919 --> 00:20:39.610 excited about yet another new thing to add to 00:20:39.610 --> 00:20:42.620 the junior developer's plate and just sort of blurts 00:20:42.620 --> 00:20:45.630 it out right then, this can sometimes be taken 00:20:45.630 --> 00:20:48.899 a little bit like, wow, it must be really 00:20:48.899 --> 00:20:51.090 important to be told right away that I need 00:20:51.090 --> 00:20:54.809 to know this. Maybe I should know this already? 00:20:54.809 --> 00:20:57.250 Which at least, for me, can sometimes lead to 00:20:57.250 --> 00:21:02.770 a little bit of a death spiral of self-doubt. 00:21:02.770 --> 00:21:05.010 You also have to match up learning style with 00:21:05.010 --> 00:21:09.570 the tutorial style. This is important, because a lot 00:21:09.570 --> 00:21:16.270 of programming tutorials, well, they're kind of like this. 00:21:16.270 --> 00:21:20.140 How to draw an owl. Step one, draw some 00:21:20.140 --> 00:21:23.750 circles. Step two, draw the rest of the owl. 00:21:23.750 --> 00:21:25.690 How many people have done tutorials that are like 00:21:25.690 --> 00:21:28.220 this? Yeah. 00:21:28.220 --> 00:21:34.510 Well, even on more detailed tutorials, there are differences, 00:21:34.510 --> 00:21:38.409 like whether the work is goal-oriented or not. For 00:21:38.409 --> 00:21:41.289 me, it's actually harder to stay motivated when I 00:21:41.289 --> 00:21:43.850 don't have a specific thing that I'm trying to 00:21:43.850 --> 00:21:48.860 accomplish. I like structure and being too free-form actually 00:21:48.860 --> 00:21:52.350 means that I'll get bored. For example, I took 00:21:52.350 --> 00:21:54.970 calculus in high school. And it was fun and 00:21:54.970 --> 00:21:55.360 interesting. 00:21:55.360 --> 00:21:58.750 But it wasn't until I took physics in college 00:21:58.750 --> 00:22:02.510 that I was like, oh, that's what calculus was 00:22:02.510 --> 00:22:06.860 invented for. But that's just me. And other people 00:22:06.860 --> 00:22:10.309 might be similar or very different. 00:22:10.309 --> 00:22:14.179 Also, in terms of content, my personal view is 00:22:14.179 --> 00:22:17.470 that the highest value areas are things like team 00:22:17.470 --> 00:22:21.230 processes for code review and version control like git. 00:22:21.230 --> 00:22:25.470 And specific product, product knowledge over more generalized programming 00:22:25.470 --> 00:22:28.159 knowledge. 00:22:28.159 --> 00:22:30.470 This might be a bit controversial, but I think 00:22:30.470 --> 00:22:34.010 less useful are actually things like getting too much 00:22:34.010 --> 00:22:37.669 into optimizing your tools and environment. Or even learning 00:22:37.669 --> 00:22:42.049 tons of keyboard short cuts. At least to start. 00:22:42.049 --> 00:22:45.419 Keyboard short cuts are fun and useful, but let's 00:22:45.419 --> 00:22:49.130 be honest. Right now, how fast I can type 00:22:49.130 --> 00:22:51.890 is not the limiting factor in how fast I 00:22:51.890 --> 00:22:53.700 can complete a feature. 00:22:53.700 --> 00:22:57.450 So that wraps up my ideas for how to 00:22:57.450 --> 00:22:59.840 tackle this first challenge of how there's so much 00:22:59.840 --> 00:23:03.570 to learn as a junior developer. Next, I'll talk 00:23:03.570 --> 00:23:05.990 about ways that even junior developers can help their 00:23:05.990 --> 00:23:08.340 team immediately. 00:23:08.340 --> 00:23:15.340 Knowing how to help your team is hard because 00:23:16.350 --> 00:23:18.669 maybe you feel like you're a drag on your 00:23:18.669 --> 00:23:21.669 team's productivity with how much help you need right 00:23:21.669 --> 00:23:24.559 then. How many people have felt like this? 00:23:24.559 --> 00:23:29.419 Well, in one of the first conversations that David 00:23:29.419 --> 00:23:31.809 and I had, I actually pretty much just straight 00:23:31.809 --> 00:23:35.279 up asked him, how did you get stuck with 00:23:35.279 --> 00:23:39.880 me? To his and New Relic's everlasting credit, he 00:23:39.880 --> 00:23:42.640 immediately reassured me that it wasn't that he got 00:23:42.640 --> 00:23:45.440 stuck with me, but that he wanted to learn 00:23:45.440 --> 00:23:48.240 to be a good mentor himself. So it was 00:23:48.240 --> 00:23:52.279 from there that I realized, ah, even my ignorance 00:23:52.279 --> 00:23:54.750 can be helpful for the team when it gives 00:23:54.750 --> 00:23:58.789 them opportunities to practice things like mentoring. 00:23:58.789 --> 00:24:02.720 Also, even if you are a junior developer, your 00:24:02.720 --> 00:24:07.919 technical contributions are still important. Yes, you may be 00:24:07.919 --> 00:24:11.890 working on features that someone else may make faster, 00:24:11.890 --> 00:24:14.429 but in a world where there is never enough 00:24:14.429 --> 00:24:16.510 junior developers for all of the, you know, or 00:24:16.510 --> 00:24:19.059 just developers in general, for all the developer jobs 00:24:19.059 --> 00:24:22.350 that are out there, it's not actually necessarily a 00:24:22.350 --> 00:24:26.679 choice between a junior developer building it slowly and 00:24:26.679 --> 00:24:29.549 a senior developer building it really quickly. It's a 00:24:29.549 --> 00:24:32.940 choice between having something built and not having it 00:24:32.940 --> 00:24:36.279 at all. 00:24:36.279 --> 00:24:38.909 Don't forget, either, that everyone started out at your 00:24:38.909 --> 00:24:41.510 point at some, at some point, and you won't 00:24:41.510 --> 00:24:44.710 be at your current stage forever. As my southern 00:24:44.710 --> 00:24:47.809 friend likes to drawl, no one comes out of 00:24:47.809 --> 00:24:51.460 their mama's womb knowing how to code. Just think 00:24:51.460 --> 00:24:55.159 about that for a minute. 00:24:55.159 --> 00:25:00.559 So onwards to some of the other non-technical ways 00:25:00.559 --> 00:25:03.820 you can help your team right away. First, I 00:25:03.820 --> 00:25:08.779 really strongly believe that questions are basically the junior 00:25:08.779 --> 00:25:12.179 developer's super power, and as we all know, with 00:25:12.179 --> 00:25:16.919 great power comes great responsibility. Fresh eyes are helpful, 00:25:16.919 --> 00:25:19.570 but you can specifically figure out how to be 00:25:19.570 --> 00:25:22.010 an extra helpful set of fresh eyes with the 00:25:22.010 --> 00:25:24.360 use of skillful questions. 00:25:24.360 --> 00:25:28.309 Good questions are invaluable for highlighting assumptions and helping 00:25:28.309 --> 00:25:31.409 the team avoid dead ends, which helps you all 00:25:31.409 --> 00:25:35.690 move faster. Questions like, are we working on the 00:25:35.690 --> 00:25:39.200 right thing? Or, is there a reason we're doing 00:25:39.200 --> 00:25:42.130 it this way? This is something that came up 00:25:42.130 --> 00:25:45.809 in my old job, too. Because sometimes this uncovered 00:25:45.809 --> 00:25:50.700 an actual misunderstanding about a feature's requirements, where, like 00:25:50.700 --> 00:25:54.090 an offhand comment from a comment email, got interpreted 00:25:54.090 --> 00:25:56.090 as a must-have item. 00:25:56.090 --> 00:25:59.210 Getting rid of these kinds of things saves everyone 00:25:59.210 --> 00:26:01.990 a lot of time and disappointment. 00:26:01.990 --> 00:26:04.850 Has anyone here ever worked as a consultant or 00:26:04.850 --> 00:26:08.840 product manager at all? So you probably have similar 00:26:08.840 --> 00:26:13.279 stories like that, too. Of course, you do want 00:26:13.279 --> 00:26:15.610 to ask your questions in a way that won't 00:26:15.610 --> 00:26:19.159 put people on the defensive. If someone hisses at 00:26:19.159 --> 00:26:22.960 you, that's probably not a good sign. 00:26:22.960 --> 00:26:25.960 Try to express humility, since you're asking these questions 00:26:25.960 --> 00:26:28.590 from a place where it's because you want to 00:26:28.590 --> 00:26:33.250 learn rather than assuming that you already know. You 00:26:33.250 --> 00:26:36.470 can also think about questions that other non-engineering people 00:26:36.470 --> 00:26:40.080 might ask, like your sales or support teams. Getting 00:26:40.080 --> 00:26:42.559 these answers earlier on gives your team a jump 00:26:42.559 --> 00:26:45.720 start on looping in other teams as needed. 00:26:45.720 --> 00:26:47.750 And if the only answers your team has are 00:26:47.750 --> 00:26:51.149 pretty vague, that's an opportunity to dig further for 00:26:51.149 --> 00:26:55.649 greater clarity. OK. We're two thirds of the way 00:26:55.649 --> 00:26:57.399 through the outline now. 00:26:57.399 --> 00:27:01.840 On the other side from asking questions, providing constructive 00:27:01.840 --> 00:27:05.590 feedback is really important, too. If you've had another 00:27:05.590 --> 00:27:07.130 career before now, this is a skill that I 00:27:07.130 --> 00:27:12.659 am sure you have already practiced. Giving useful feedback 00:27:12.659 --> 00:27:15.840 to the right person in the right venue at 00:27:15.840 --> 00:27:18.779 the right time is hard for a lot of 00:27:18.779 --> 00:27:19.960 people. 00:27:19.960 --> 00:27:21.970 For me, when I worked in tech support, we'd 00:27:21.970 --> 00:27:24.720 frequently do quality reviews of each others work to 00:27:24.720 --> 00:27:27.760 try to improve the customer support experience. And we'd 00:27:27.760 --> 00:27:31.820 also just do general peer feedback every few quarters. 00:27:31.820 --> 00:27:34.029 Which meant that I got a lot of practice 00:27:34.029 --> 00:27:36.789 at phrasing feedback in a way that wouldn't lose 00:27:36.789 --> 00:27:40.929 me any friends, hopefully. 00:27:40.929 --> 00:27:43.389 Before offering feedback, I like to spend some time 00:27:43.389 --> 00:27:45.490 thinking about what would be useful to the person 00:27:45.490 --> 00:27:49.919 receiving the feedback. What is it that they want? 00:27:49.919 --> 00:27:53.169 What are they trying to do? You always also 00:27:53.169 --> 00:27:56.399 get bonus points for bringing suggestions for solutions with 00:27:56.399 --> 00:27:58.019 you. 00:27:58.019 --> 00:28:01.010 It's hard, sometimes, to refrain from nitpicking just for 00:28:01.010 --> 00:28:03.649 the sake of having something to say, but it's 00:28:03.649 --> 00:28:06.299 worth it to increase the value that people get 00:28:06.299 --> 00:28:09.230 from listening to you. You just want to have 00:28:09.230 --> 00:28:13.600 a really high personal ratio of useful to not-useful 00:28:13.600 --> 00:28:15.090 things to say. 00:28:15.090 --> 00:28:19.059 Something else I've been trying lately is to give 00:28:19.059 --> 00:28:22.740 positive feedback whenever there is an opportunity. I don't 00:28:22.740 --> 00:28:25.899 mean, like, fake positive compliments or anything like that 00:28:25.899 --> 00:28:28.909 at all. But just that it's a lot easier 00:28:28.909 --> 00:28:32.120 in most cases to complain about something than to 00:28:32.120 --> 00:28:34.490 remember to speak up when there are good things 00:28:34.490 --> 00:28:35.659 to talk about. 00:28:35.659 --> 00:28:38.700 My hope is that this is helpful in the 00:28:38.700 --> 00:28:40.830 longer term, so that I can build up a 00:28:40.830 --> 00:28:44.559 general reputation for being a positive person. And any 00:28:44.559 --> 00:28:47.269 negative feedback I have will be taken more seriously. 00:28:47.269 --> 00:28:52.990 On the other hand, sometimes giving good feedback can 00:28:52.990 --> 00:28:55.740 also mean just stating, I don't have an opinion 00:28:55.740 --> 00:28:58.559 on this topic, so that you withdraw yourself from 00:28:58.559 --> 00:29:01.100 the pool of people weighing in. It makes life 00:29:01.100 --> 00:29:03.570 a lot easier for whoever's in charge of getting 00:29:03.570 --> 00:29:06.169 the group to a consensus. 00:29:06.169 --> 00:29:09.529 So now we've covered two strategies for helping your 00:29:09.529 --> 00:29:14.139 team. Lastly, there's a lot you can do to 00:29:14.139 --> 00:29:17.590 make your team look good to other teams. It 00:29:17.590 --> 00:29:20.419 isn't all that hard. It helps your team feel 00:29:20.419 --> 00:29:23.309 good and it helps other teams feel good, too, 00:29:23.309 --> 00:29:27.409 about working with your team. One of the common 00:29:27.409 --> 00:29:30.159 areas this can come up in is in any 00:29:30.159 --> 00:29:33.649 demo or review team, meetings your team might have. 00:29:33.649 --> 00:29:36.679 You can give awesome demos just by being thoughtful 00:29:36.679 --> 00:29:38.539 and prepared. 00:29:38.539 --> 00:29:40.799 Think about why this change matters to your audience. 00:29:40.799 --> 00:29:43.830 Why should they care? And think about how you 00:29:43.830 --> 00:29:46.490 can show the before and after, doing things like 00:29:46.490 --> 00:29:48.840 grabbing screen shots, so you can show new and 00:29:48.840 --> 00:29:52.500 old side by side. Or gathering metrics to show 00:29:52.500 --> 00:29:54.779 why the thing that your team did is actually 00:29:54.779 --> 00:29:56.169 a big deal. 00:29:56.169 --> 00:29:59.019 Demos are also good for getting full credit for 00:29:59.019 --> 00:30:01.809 your team, for everything that they've done. Even ones 00:30:01.809 --> 00:30:05.480 that aren't easily visible. You can do things like 00:30:05.480 --> 00:30:09.200 talk about corner cases and, you know, choices that 00:30:09.200 --> 00:30:12.019 you either decided to do something about right now 00:30:12.019 --> 00:30:15.830 or have consciously chosen to delay, so that it 00:30:15.830 --> 00:30:18.360 shows other teams, shows these other teams that you've 00:30:18.360 --> 00:30:21.320 been thoughtful about your impact to them, like the 00:30:21.320 --> 00:30:25.610 supportability of a new feature you've released. 00:30:25.610 --> 00:30:28.429 I like to over prepare. So I almost always 00:30:28.429 --> 00:30:32.169 write a script, which is sometimes a literal word-for-word 00:30:32.169 --> 00:30:34.809 script. But more often, it's just a list of 00:30:34.809 --> 00:30:37.850 what I want to show in a particular order 00:30:37.850 --> 00:30:40.350 so that it flows well and I don't end 00:30:40.350 --> 00:30:44.750 up having to backtrack because I've forgotten something. 00:30:44.750 --> 00:30:47.610 I also like to do a test run through, 00:30:47.610 --> 00:30:49.779 so that this way, I'll know everything I need 00:30:49.779 --> 00:30:52.809 to get preloaded onto my computer, which makes the 00:30:52.809 --> 00:30:57.429 demo really efficient and less prone to errors. 00:30:57.429 --> 00:31:02.269 In general, making an effort to be responsive, thorough, 00:31:02.269 --> 00:31:06.470 and empathetic really goes a long way. I'm really 00:31:06.470 --> 00:31:08.830 proud of the time that someone on our support 00:31:08.830 --> 00:31:10.700 team at New Relic told me I was her 00:31:10.700 --> 00:31:14.039 favorite engineer to work with, mostly just because I 00:31:14.039 --> 00:31:17.730 was being really responsive. All this just helps people 00:31:17.730 --> 00:31:21.789 feel heard, and knock down any stereotypes that engineers 00:31:21.789 --> 00:31:25.299 don't care about what other people care about. And 00:31:25.299 --> 00:31:28.639 so this way, when your team needs their help, 00:31:28.639 --> 00:31:30.380 they'll be there for you too. 00:31:30.380 --> 00:31:33.659 That wraps up my ideas for how to tackle 00:31:33.659 --> 00:31:35.399 the challenge of figuring out how you can help 00:31:35.399 --> 00:31:39.809 your team even when you're a junior developer. 00:31:39.809 --> 00:31:41.440 Before I finish up my talk, I do want 00:31:41.440 --> 00:31:45.169 to mention a few caveats and pitfalls to avoid. 00:31:45.169 --> 00:31:47.799 I'm hoping that mentors, in particular, will help out 00:31:47.799 --> 00:31:50.470 with watching out for these. 00:31:50.470 --> 00:31:52.840 Sometimes, I think there's a bit of an issue 00:31:52.840 --> 00:31:57.370 in the tech community of undervaluing non-technical skills, and 00:31:57.370 --> 00:31:59.710 a lot of what I've talked about is essentially 00:31:59.710 --> 00:32:04.600 using your non-technical skills to help yourself move forward. 00:32:04.600 --> 00:32:06.889 The thing is, you just don't want to be 00:32:06.889 --> 00:32:10.690 assumed to just be the secretary, which I don't 00:32:10.690 --> 00:32:13.210 mean as a diss on secretaries at all. It's 00:32:13.210 --> 00:32:17.610 just not the job that I'm working towards. 00:32:17.610 --> 00:32:21.529 There's also a phenomenon called the Girl Scout tax, 00:32:21.529 --> 00:32:23.970 which comes about because we have a stereotype and 00:32:23.970 --> 00:32:29.070 expectation that women are helpful. Unfortunately, this leads to 00:32:29.070 --> 00:32:30.980 a lot of women not getting credit for the 00:32:30.980 --> 00:32:35.259 help that they provide, because supposedly, that's just what 00:32:35.259 --> 00:32:39.149 women do. They're helpful. This is just one of 00:32:39.149 --> 00:32:41.919 those unconscious things that we probably all do from 00:32:41.919 --> 00:32:44.019 time to time, and so we should all try 00:32:44.019 --> 00:32:46.820 to watch out for it so that everyone gets 00:32:46.820 --> 00:32:51.730 recognized and appreciated for the work that they do. 00:32:51.730 --> 00:32:54.200 You just don't want to get sidelined or pushed 00:32:54.200 --> 00:32:57.539 into a role you're not interested in. Everything I've 00:32:57.539 --> 00:32:59.880 talked about today is from the stand point that 00:32:59.880 --> 00:33:02.480 you're willing to do whatever's best for your team 00:33:02.480 --> 00:33:04.500 in the short term, but you all need to 00:33:04.500 --> 00:33:06.950 be doing what's best for everyone longer term as 00:33:06.950 --> 00:33:10.850 well, which is to help you grow as a 00:33:10.850 --> 00:33:12.159 developer. 00:33:12.159 --> 00:33:16.630 Ultimately, keep focused on whatever your end goal is. 00:33:16.630 --> 00:33:19.980 Whether that's getting better at coding, working on bigger 00:33:19.980 --> 00:33:23.950 features, or learning about the market and industry. This 00:33:23.950 --> 00:33:27.559 way you can consciously choose what things you'll do 00:33:27.559 --> 00:33:29.940 that will bring you closer to the goal, and 00:33:29.940 --> 00:33:33.259 not do things that will move you further away 00:33:33.259 --> 00:33:35.159 from it. 00:33:35.159 --> 00:33:38.549 These are some recommendations for further reading. The first 00:33:38.549 --> 00:33:41.450 two are books that are actually pretty quick and 00:33:41.450 --> 00:33:44.639 easy reads. Teen Geek was written by a couple 00:33:44.639 --> 00:33:48.360 of Google engineering managers who actually co-founded the Google's 00:33:48.360 --> 00:33:52.350 engineering office here in Chicago. And that second book, 00:33:52.350 --> 00:33:55.299 the Upside of Down is a good book if 00:33:55.299 --> 00:33:57.169 you feel like you're being held back by a 00:33:57.169 --> 00:33:59.590 fear of failure. 00:33:59.590 --> 00:34:01.350 The other four are blog posts that I also 00:34:01.350 --> 00:34:04.210 found really interesting and full of good career advice 00:34:04.210 --> 00:34:07.070 for junior developers. 00:34:07.070 --> 00:34:09.880 So here's the full outline of everything I've talked 00:34:09.880 --> 00:34:12.850 about today. I think there are two main challenges 00:34:12.850 --> 00:34:16.820 in being a junior developer. For the problem of 00:34:16.820 --> 00:34:19.130 there being so much to learn, the three step 00:34:19.130 --> 00:34:21.889 plan is to get people to want to help 00:34:21.889 --> 00:34:24.870 you, make it easy for them to help, and 00:34:24.870 --> 00:34:28.040 narrow the scope of what you're trying to cover. 00:34:28.040 --> 00:34:29.829 For the problem of not knowing how to help 00:34:29.829 --> 00:34:33.810 your team, always remember that good questions are the 00:34:33.810 --> 00:34:37.290 junior developer's super power. You can also do a 00:34:37.290 --> 00:34:40.730 lot by giving good feedback and making your team 00:34:40.730 --> 00:34:44.129 look good in front of other teams. 00:34:44.129 --> 00:34:47.659 In conclusion, we talk a lot about the benefits 00:34:47.659 --> 00:34:50.349 of diversity, but if you're the one that's bringing 00:34:50.349 --> 00:34:54.159 diversity to your team, that can be hard, because 00:34:54.159 --> 00:34:57.560 the typical narrative won't use your particular strength set 00:34:57.560 --> 00:35:02.780 much, because by definition, they're different. As my first 00:35:02.780 --> 00:35:05.810 boss told me, we can and should work on 00:35:05.810 --> 00:35:09.410 our areas for development. But it's really your strengths 00:35:09.410 --> 00:35:11.710 that you can lean on most heavily to get 00:35:11.710 --> 00:35:13.200 you where you want to go. 00:35:13.200 --> 00:35:16.720 So to all the junior developers and career searchers 00:35:16.720 --> 00:35:19.490 out there, I just want to say, you deserve 00:35:19.490 --> 00:35:23.040 to feel confidence in yourself as a person. Place 00:35:23.040 --> 00:35:26.369 your confidence in your proven ability to learn over 00:35:26.369 --> 00:35:29.500 your current level of coding knowledge. It's only a 00:35:29.500 --> 00:35:31.970 matter of time, and I hope I've helped you 00:35:31.970 --> 00:35:34.970 shorten that amount of time as a junior developer, 00:35:34.970 --> 00:35:37.980 and so someday, when you'll be mentoring junior developers 00:35:37.980 --> 00:35:38.599 yourself. 00:35:38.599 --> 00:35:39.859 Thank you.