1 00:00:16,990 --> 00:00:19,170 KATHERINE WU: OK. Cool. I'll guess I'll go ahead and get 2 00:00:19,170 --> 00:00:20,070 started, then. 3 00:00:20,920 --> 00:00:24,140 Hi. And, thank you all so much for coming 4 00:00:24,150 --> 00:00:27,830 to my talk here. I'm K Wu, and I 5 00:00:27,830 --> 00:00:30,930 started at New Relic just about eight months ago. 6 00:00:30,930 --> 00:00:34,220 And it's my first developer job there. And for 7 00:00:34,220 --> 00:00:36,680 my talk today, I'm going to first give a 8 00:00:36,680 --> 00:00:40,500 bit more context around where I'm coming from and 9 00:00:40,500 --> 00:00:42,580 my intentions for this talk. 10 00:00:42,580 --> 00:00:45,170 I'll then dive into what I see as the 11 00:00:45,170 --> 00:00:49,089 main challenges for being a junior developer, and I'll 12 00:00:49,089 --> 00:00:51,290 talk about my tactics for how to overcome these 13 00:00:51,290 --> 00:00:51,909 challenges. 14 00:00:51,909 --> 00:00:54,370 There is a lot that I want to cover, 15 00:00:54,370 --> 00:00:56,970 but if you're taking notes and happen to miss 16 00:00:56,970 --> 00:01:00,250 something, I have written a post for the New 17 00:01:00,250 --> 00:01:01,920 Relic blog that went up this morning that you 18 00:01:01,920 --> 00:01:04,750 can reference. And I also have a link to 19 00:01:04,750 --> 00:01:07,900 my slides at the end. 20 00:01:07,900 --> 00:01:13,700 So. How many people here are junior developers? OK. 21 00:01:13,700 --> 00:01:18,240 Awesome. Cool. And how many people did something else 22 00:01:18,240 --> 00:01:23,820 professionally before they worked as developers? Nice. OK. So 23 00:01:23,820 --> 00:01:27,000 we are like amongst our own people here, right. 24 00:01:27,000 --> 00:01:28,450 Very cool. 25 00:01:28,450 --> 00:01:31,750 For me, being a developer is probably, like, the 26 00:01:31,750 --> 00:01:35,340 fourth or fifth career I've had at this point. 27 00:01:35,340 --> 00:01:37,240 It's hard to keep track. Some of the other 28 00:01:37,240 --> 00:01:39,640 jobs I've had in the past are things like 29 00:01:39,640 --> 00:01:42,670 product specialist, tech support. I used to work in 30 00:01:42,670 --> 00:01:44,960 a biology research lab and I also did some 31 00:01:44,960 --> 00:01:46,670 copy editing on the side. 32 00:01:46,670 --> 00:01:49,759 So the thing is, compared to people who have 33 00:01:49,759 --> 00:01:53,780 been coding since they were kids, I am literally 34 00:01:53,780 --> 00:01:57,890 decades behind. This makes me just feel like I 35 00:01:57,890 --> 00:02:02,549 have so much to catch up on. However, something 36 00:02:02,549 --> 00:02:06,420 I've realized is that being a developer is essentially 37 00:02:06,420 --> 00:02:10,979 about constantly learning new things. And guess what? I'm 38 00:02:10,979 --> 00:02:14,069 pretty good at that. I'm really practiced at it 39 00:02:14,069 --> 00:02:16,620 with picking up a new career and starting over 40 00:02:16,620 --> 00:02:21,100 and over again. And so, despite what my parents 41 00:02:21,100 --> 00:02:24,090 think, I like to think that my previous lack 42 00:02:24,090 --> 00:02:27,630 of direction is now an asset. 43 00:02:27,630 --> 00:02:31,580 The other thing I've realized over the last few 44 00:02:31,580 --> 00:02:34,110 months is that a lot of it can actually 45 00:02:34,110 --> 00:02:37,640 have nothing to do with coding. If you spent 46 00:02:37,640 --> 00:02:41,610 a lot of time doing something besides computer science, 47 00:02:41,610 --> 00:02:44,340 that means you have more experience for all of 48 00:02:44,340 --> 00:02:47,860 the non-coding portions, and that means you can leverage 49 00:02:47,860 --> 00:02:51,200 those skills from that experience to help your team 50 00:02:51,200 --> 00:02:54,030 while you get better at the technical aspects. 51 00:02:54,030 --> 00:02:59,180 My thesis is that, just because you switch careers 52 00:02:59,180 --> 00:03:03,070 doesn't mean you're starting over entirely. And, in fact, 53 00:03:03,070 --> 00:03:06,040 you can still use those other skills that you 54 00:03:06,040 --> 00:03:10,160 have. You may already know the different tactics I'll 55 00:03:10,160 --> 00:03:12,410 be talking about today, so I hope I can 56 00:03:12,410 --> 00:03:16,080 prompt you to consider new angles and get excited 57 00:03:16,080 --> 00:03:18,260 to apply them as a junior developer. 58 00:03:18,260 --> 00:03:21,230 There will be sections that are actually more targeted 59 00:03:21,230 --> 00:03:24,520 towards mentors, but, if you have a mentor but 60 00:03:24,520 --> 00:03:27,200 he or she doesn't happen to be here today, 61 00:03:27,200 --> 00:03:28,960 maybe you can bring some of these ideas back 62 00:03:28,960 --> 00:03:31,160 to them and discuss it. 63 00:03:31,160 --> 00:03:33,320 For senior, any senior developers that might be in 64 00:03:33,320 --> 00:03:35,760 the audience, I hope to help you remember what 65 00:03:35,760 --> 00:03:38,930 it feels like to be on that junior side 66 00:03:38,930 --> 00:03:41,940 of the mentoring relationship, and think about ways that 67 00:03:41,940 --> 00:03:44,960 you can help your proteges feel valued in a 68 00:03:44,960 --> 00:03:49,430 very concrete kind of way. 69 00:03:49,430 --> 00:03:51,560 I think there are two big reasons for why 70 00:03:51,560 --> 00:03:57,310 it's hard to be a junior developer. First, there's 71 00:03:57,310 --> 00:03:59,590 a ridiculous amount to learn. How many people feel 72 00:03:59,590 --> 00:04:05,000 like that? Yeah. Like, pretty much everyone here. Cool. 73 00:04:05,000 --> 00:04:07,880 Second, I think it's also really hard to know 74 00:04:07,880 --> 00:04:10,870 how you can help your team and not just 75 00:04:10,870 --> 00:04:16,000 feel like this helpless little baby bird here. 76 00:04:16,000 --> 00:04:18,589 I'll talk a little bit about these challenges and 77 00:04:18,589 --> 00:04:21,529 how to handle each of them in turn. 78 00:04:21,529 --> 00:04:26,340 My three step, fool-proof plan to tackling the fact 79 00:04:26,340 --> 00:04:29,160 that there's a ridiculous amount to learn, is really 80 00:04:29,160 --> 00:04:31,789 all about not trying to do it all just 81 00:04:31,789 --> 00:04:34,650 on your own. 82 00:04:34,650 --> 00:04:36,300 Getting people to want to help you in the 83 00:04:36,300 --> 00:04:38,289 first place can be a little bit of a 84 00:04:38,289 --> 00:04:41,849 hurdle sometimes, depending on how supportive an environment you 85 00:04:41,849 --> 00:04:44,499 happen to be in. I've been really lucky at 86 00:04:44,499 --> 00:04:46,900 New Relic. But I think there are always things 87 00:04:46,900 --> 00:04:48,999 that you can do even if you feel a 88 00:04:48,999 --> 00:04:50,199 bit more isolated. 89 00:04:50,199 --> 00:04:53,550 People, fundamentally, just aren't all that different wherever you 90 00:04:53,550 --> 00:04:58,550 go. A lot of this boils down to so-called 91 00:04:58,550 --> 00:05:02,300 building relationships. But I prefer to think about it 92 00:05:02,300 --> 00:05:05,449 as really just getting to know people and making 93 00:05:05,449 --> 00:05:10,770 friends. Because, of course, friendship is magic. 94 00:05:10,770 --> 00:05:14,840 I personally find this pretty hard, because I'm actually 95 00:05:14,840 --> 00:05:18,840 a pretty strong introvert. I fully expect to spend 96 00:05:18,840 --> 00:05:21,900 most of tonight, like, huddled in a ball, like, 97 00:05:21,900 --> 00:05:26,050 trying to recover from today. But, you know, the 98 00:05:26,050 --> 00:05:27,919 thing is, a lot of developers, by and large, 99 00:05:27,919 --> 00:05:31,099 are also pretty introverted as well. And so sometimes 100 00:05:31,099 --> 00:05:32,770 it can be hard to try to get the 101 00:05:32,770 --> 00:05:36,240 conversation going. You know, even if you, you know, 102 00:05:36,240 --> 00:05:38,199 both really want to connect. 103 00:05:38,199 --> 00:05:41,469 Luckily, at my last job, I worked with PM 104 00:05:41,469 --> 00:05:46,129 and engineering and came up with a few hacks. 105 00:05:46,129 --> 00:05:48,849 What I do is I try and pay attention 106 00:05:48,849 --> 00:05:51,719 to, to try to remember small details that people 107 00:05:51,719 --> 00:05:55,129 have told me. Especially about their lives outside of 108 00:05:55,129 --> 00:05:58,180 work. Sometimes it's actually even easier for me to 109 00:05:58,180 --> 00:06:02,689 remember these details than peoples' names. But usually people 110 00:06:02,689 --> 00:06:05,659 are pretty forgiving once I tell them, I do 111 00:06:05,659 --> 00:06:09,240 actually remember talking to them for like two hours 112 00:06:09,240 --> 00:06:13,729 about their love for, like, antique banjo collecting or 113 00:06:13,729 --> 00:06:16,300 something like that. 114 00:06:16,300 --> 00:06:18,539 This makes for much better conversations than your typical 115 00:06:18,539 --> 00:06:24,099 small talk. Another really dorky thing that I do, 116 00:06:24,099 --> 00:06:28,349 is that I actually sometimes mentally prepare stories to 117 00:06:28,349 --> 00:06:32,199 get a conversation going. Like, right after a weekend, 118 00:06:32,199 --> 00:06:35,009 I'll try to think of something interesting or odd 119 00:06:35,009 --> 00:06:37,569 that I did, so that I'll have a non-generic 120 00:06:37,569 --> 00:06:40,849 answer ready for when someone asks, how was your 121 00:06:40,849 --> 00:06:42,110 weekend? 122 00:06:42,110 --> 00:06:44,759 Otherwise I just kind of freeze up and just 123 00:06:44,759 --> 00:06:47,370 say, oh, good, which is kind of a boring 124 00:06:47,370 --> 00:06:50,590 answer and doesn't really get conversations started. Does anybody 125 00:06:50,590 --> 00:06:55,249 else have that knee-jerk reaction sometimes? Yeah. Totally. 126 00:06:55,249 --> 00:06:58,689 Well, with a story to tell, what I find 127 00:06:58,689 --> 00:07:01,479 is that this can then prompt questions and get 128 00:07:01,479 --> 00:07:04,729 some back and forth started, which breaks through any 129 00:07:04,729 --> 00:07:06,430 awkwardness there might be. 130 00:07:06,430 --> 00:07:11,669 Helping break through awkwardness is also something that mentors 131 00:07:11,669 --> 00:07:14,240 can do a lot to help with. Mentors are 132 00:07:14,240 --> 00:07:18,050 really great for guiding newbies around team culture and 133 00:07:18,050 --> 00:07:22,610 history. They can help make introductions and give advice 134 00:07:22,610 --> 00:07:25,319 on how to approach other people. Like, what the 135 00:07:25,319 --> 00:07:27,919 two of you may have in common, or who's 136 00:07:27,919 --> 00:07:31,050 a good person to ask about what. 137 00:07:31,050 --> 00:07:34,479 Also, I think that if your company has a 138 00:07:34,479 --> 00:07:38,150 support team, you should definitely make some good friends 139 00:07:38,150 --> 00:07:41,909 there. Support tends to be a little bit chronically 140 00:07:41,909 --> 00:07:45,139 undervalued, but they probably know way more about the 141 00:07:45,139 --> 00:07:47,659 products than you do. And if you think about 142 00:07:47,659 --> 00:07:51,849 it, they're very practised at explaining the product to 143 00:07:51,849 --> 00:07:53,839 newbies like your fellow customers. 144 00:07:53,839 --> 00:07:56,620 When I worked in tech support, sometimes they would 145 00:07:56,620 --> 00:08:00,339 have engineers shadow us so that engineers could learn 146 00:08:00,339 --> 00:08:03,169 how the customers actually used our product, and use 147 00:08:03,169 --> 00:08:06,419 it to inform design decisions that they might have. 148 00:08:06,419 --> 00:08:09,669 And I definitely always really preferred the engineers that 149 00:08:09,669 --> 00:08:14,189 were really eager to learn from me. 150 00:08:14,189 --> 00:08:16,360 Another key component to getting people to want to 151 00:08:16,360 --> 00:08:20,249 help you is to demonstrate the time that they're 152 00:08:20,249 --> 00:08:23,710 taking. And so that you took a reasonable amount 153 00:08:23,710 --> 00:08:25,849 of time to get as far as you could 154 00:08:25,849 --> 00:08:29,770 on your own. Each time someone helps you, you'll 155 00:08:29,770 --> 00:08:32,349 be able to learn new tactics and push yourself 156 00:08:32,349 --> 00:08:35,039 just a little bit further before the next time 157 00:08:35,039 --> 00:08:37,820 you have to ask a question again. 158 00:08:37,820 --> 00:08:39,679 When you do ask for help, you can also 159 00:08:39,679 --> 00:08:43,080 ask questions like, if you're busy, who else could 160 00:08:43,080 --> 00:08:47,130 I talk to about this? When someone does help 161 00:08:47,130 --> 00:08:51,220 you, you can always end with asking something like, 162 00:08:51,220 --> 00:08:52,930 is there somewhere I could have found this answer 163 00:08:52,930 --> 00:08:56,240 on my own? And if the answer is no 164 00:08:56,240 --> 00:08:58,370 and there isn't any good reason it doesn't exist 165 00:08:58,370 --> 00:09:01,139 already, you should add it. 166 00:09:01,139 --> 00:09:04,970 When you do have someone's time, try and think 167 00:09:04,970 --> 00:09:08,040 of ways to sort of push out and extend 168 00:09:08,040 --> 00:09:10,490 what you're learning from them at that point in 169 00:09:10,490 --> 00:09:13,360 time. That way, you'll be equipped when a variation 170 00:09:13,360 --> 00:09:16,910 of that same question comes up again. 171 00:09:16,910 --> 00:09:20,370 Lastly, for getting people to want to help you, 172 00:09:20,370 --> 00:09:23,529 something just as simple as showing your appreciation really 173 00:09:23,529 --> 00:09:27,180 goes a long way. Great mentors and teachers would, 174 00:09:27,180 --> 00:09:30,690 of course, probably do it regardless, but I just 175 00:09:30,690 --> 00:09:34,259 think it never hurts to make people feel extra 176 00:09:34,259 --> 00:09:38,779 good about doing something that helps you. Making sure 177 00:09:38,779 --> 00:09:40,839 to notice when people have gone out of their 178 00:09:40,839 --> 00:09:44,750 way to help you encourages more of that to 179 00:09:44,750 --> 00:09:46,190 happen. 180 00:09:46,190 --> 00:09:48,620 If you're working somewhere that's big enough, where not 181 00:09:48,620 --> 00:09:51,750 everyone knows what everyone else is doing, you can 182 00:09:51,750 --> 00:09:54,459 also do things like, let peoples' managers know when 183 00:09:54,459 --> 00:09:58,720 they've been particularly helpful. Most managers like hearing good 184 00:09:58,720 --> 00:10:01,589 things about their reports, and most people like their 185 00:10:01,589 --> 00:10:03,610 managers to now the good things they've done for 186 00:10:03,610 --> 00:10:05,630 the team. So it's just a nice thing to 187 00:10:05,630 --> 00:10:10,459 do all around. We've covered step one now of 188 00:10:10,459 --> 00:10:17,459 getting people to want to help you. 189 00:10:17,649 --> 00:10:19,750 Step two is make it easy for them to 190 00:10:19,750 --> 00:10:25,290 help. Help them help you. There are a few 191 00:10:25,290 --> 00:10:29,560 different ways you can do this. I think actually 192 00:10:29,560 --> 00:10:32,230 that one of the hardest parts to learning is 193 00:10:32,230 --> 00:10:36,440 just letting people see inside your head and understand 194 00:10:36,440 --> 00:10:38,889 where you're at right now. But this can be 195 00:10:38,889 --> 00:10:42,089 really hard in a field like programming, where sometimes 196 00:10:42,089 --> 00:10:44,880 you might not even have the vocabulary to express 197 00:10:44,880 --> 00:10:47,899 what it is that you don't understand because you 198 00:10:47,899 --> 00:10:50,240 don't understand it. 199 00:10:50,240 --> 00:10:52,019 Great teachers can draw it out from you, even 200 00:10:52,019 --> 00:10:55,190 when you're asking pretty vague questions. But most people 201 00:10:55,190 --> 00:10:59,279 that you work with probably aren't highly trained teachers. 202 00:10:59,279 --> 00:11:00,709 So there are ways that you can make it 203 00:11:00,709 --> 00:11:03,370 easier for others to help you by articulating the 204 00:11:03,370 --> 00:11:06,380 premises that you're working off of and the logic 205 00:11:06,380 --> 00:11:09,560 that you're using, so that together, you can narrow 206 00:11:09,560 --> 00:11:12,399 down what it is that you don't understand or 207 00:11:12,399 --> 00:11:14,420 are missing. 208 00:11:14,420 --> 00:11:17,139 You can say things like, you had me up 209 00:11:17,139 --> 00:11:22,529 until such and such a point, or I'm confused, 210 00:11:22,529 --> 00:11:25,699 because I thought you said this and then this, 211 00:11:25,699 --> 00:11:28,589 but it doesn't seem to lead to this point. 212 00:11:28,589 --> 00:11:34,209 This is a good general format for describing problems 213 00:11:34,209 --> 00:11:36,769 that you might have. Say what you're trying to 214 00:11:36,769 --> 00:11:39,750 do and why, so that someone can jump in 215 00:11:39,750 --> 00:11:42,199 if that's not even actually the right goal to 216 00:11:42,199 --> 00:11:44,630 be aiming for in the first place. 217 00:11:44,630 --> 00:11:48,550 Also, describe your current problem and what you've tried 218 00:11:48,550 --> 00:11:52,050 already. Sometimes people might jump in quickly with their 219 00:11:52,050 --> 00:11:54,319 idea of what the answer to your question is 220 00:11:54,319 --> 00:11:57,110 already, but I think it's still good to be 221 00:11:57,110 --> 00:12:01,380 prepared regardless. And if you're a mentor, just consider 222 00:12:01,380 --> 00:12:03,250 that you should check to make sure that you 223 00:12:03,250 --> 00:12:06,259 understand the question before you go ahead and answer 224 00:12:06,259 --> 00:12:08,190 it. 225 00:12:08,190 --> 00:12:09,980 When I worked in tech support, the best clients 226 00:12:09,980 --> 00:12:12,740 actually put all of this information up front in 227 00:12:12,740 --> 00:12:15,310 their ticket, which saved us a ton of time 228 00:12:15,310 --> 00:12:17,759 on the back and forth from just trying to 229 00:12:17,759 --> 00:12:22,329 even figure out what the question was. 230 00:12:22,329 --> 00:12:25,500 Remember that just having the courage to say I 231 00:12:25,500 --> 00:12:30,100 don't know is a strength. Exposing your own ignorance 232 00:12:30,100 --> 00:12:34,319 feels really scary. So I'm always practicing actually saying 233 00:12:34,319 --> 00:12:38,420 things like, wait, I don't even know what that 234 00:12:38,420 --> 00:12:40,949 words means. I say this all the time. 235 00:12:40,949 --> 00:12:44,509 But if it's something that's vital to understanding what 236 00:12:44,509 --> 00:12:47,660 people are talking about, the sooner I tell people 237 00:12:47,660 --> 00:12:50,470 I don't actually know what's going on, the sooner 238 00:12:50,470 --> 00:12:53,920 I can get to actually learning and working. 239 00:12:53,920 --> 00:12:57,670 Of all the advice I got when I started 240 00:12:57,670 --> 00:13:01,110 at New Relic, this one is my very favorite. 241 00:13:01,110 --> 00:13:04,709 One of the best things that mentors can do 242 00:13:04,709 --> 00:13:08,519 when junior developers are confused is even just validating 243 00:13:08,519 --> 00:13:11,769 that feeling. Being honest, and saying, this is confusing 244 00:13:11,769 --> 00:13:16,199 for me too. It always, without fail, makes me 245 00:13:16,199 --> 00:13:18,829 feel better when someone I expect to know the 246 00:13:18,829 --> 00:13:23,790 answer actually says they don't know it either. 247 00:13:23,790 --> 00:13:26,199 And then it becomes this team effort to figure 248 00:13:26,199 --> 00:13:28,069 out how to get out of this hole of 249 00:13:28,069 --> 00:13:32,129 ignorance together. It's also cool because when you work 250 00:13:32,129 --> 00:13:34,899 with someone that also doesn't know the answer, you'll 251 00:13:34,899 --> 00:13:37,750 frequently learn new debugging techniques that you can apply 252 00:13:37,750 --> 00:13:39,899 yourself next time. 253 00:13:39,899 --> 00:13:43,670 Now, I want you to think back to the 254 00:13:43,670 --> 00:13:50,670 last few times you asked someone for help. OK. 255 00:13:54,279 --> 00:13:56,560 How many of you, after you got help from 256 00:13:56,560 --> 00:14:00,329 someone, heard something from them that was like, did 257 00:14:00,329 --> 00:14:05,470 that help? A few people. Yeah. I get this 258 00:14:05,470 --> 00:14:07,930 all the time. And I realized that this is 259 00:14:07,930 --> 00:14:11,620 because most of us are really needy and want 260 00:14:11,620 --> 00:14:15,560 validation. That's because, and so, my favorite feedback that 261 00:14:15,560 --> 00:14:18,870 I get from people is usually people telling me 262 00:14:18,870 --> 00:14:22,290 that they actually used any advice that I gave 263 00:14:22,290 --> 00:14:22,759 them. 264 00:14:22,759 --> 00:14:24,949 So when you tell people specifically what it is 265 00:14:24,949 --> 00:14:27,279 they did that helped you, they'll know what they 266 00:14:27,279 --> 00:14:32,029 can do more of. For example, it really helped 267 00:14:32,029 --> 00:14:34,829 me when you walked me through how to use 268 00:14:34,829 --> 00:14:39,310 these tools with this example. Or, it really helps 269 00:14:39,310 --> 00:14:42,230 me to be the driver when we pair program, 270 00:14:42,230 --> 00:14:45,360 because I absorb more than when I'm just shadowing. 271 00:14:45,360 --> 00:14:49,910 One way of looking at mentoring relationships that I 272 00:14:49,910 --> 00:14:52,079 really like is from the book club that we 273 00:14:52,079 --> 00:14:54,410 had at New Relic when I first started called 274 00:14:54,410 --> 00:14:59,680 Managers as Mentors. The idea there is that mentoring 275 00:14:59,680 --> 00:15:03,029 should not be about this traditional mindset of a 276 00:15:03,029 --> 00:15:08,500 one-way transmission of information. And instead, it's the mentor's 277 00:15:08,500 --> 00:15:12,670 responsibility to create a safe environment and remove any 278 00:15:12,670 --> 00:15:16,269 barriers to learning, so that their mentees can speak 279 00:15:16,269 --> 00:15:19,240 up about any fears they might have, and not 280 00:15:19,240 --> 00:15:22,329 be afraid of failing. 281 00:15:22,329 --> 00:15:25,000 This way, they can learn a lot more and 282 00:15:25,000 --> 00:15:26,430 a lot faster. 283 00:15:26,430 --> 00:15:31,199 I know, for me, making the move from just 284 00:15:31,199 --> 00:15:34,199 working on my own projects that no one was 285 00:15:34,199 --> 00:15:38,740 depending on to working on something that actual people 286 00:15:38,740 --> 00:15:43,899 were paying us actual money for was pretty terrifying. 287 00:15:43,899 --> 00:15:48,560 Sure, we have this idea of failing fast, but 288 00:15:48,560 --> 00:15:50,560 it's so hard to apply it when you don't 289 00:15:50,560 --> 00:15:52,620 feel secure. 290 00:15:52,620 --> 00:15:55,740 What helped me was all the support that I 291 00:15:55,740 --> 00:15:58,899 got from mentors sharing their stories about how they'd 292 00:15:58,899 --> 00:16:01,910 messed things up, too, and the idea that it's 293 00:16:01,910 --> 00:16:05,329 not a matter of if you break production, but 294 00:16:05,329 --> 00:16:07,810 when. 295 00:16:07,810 --> 00:16:10,980 And when you do make mistakes, your team should 296 00:16:10,980 --> 00:16:14,019 have processes set up in place to make it 297 00:16:14,019 --> 00:16:16,790 easy to recover quickly and ways to try to 298 00:16:16,790 --> 00:16:20,730 prevent that same mistake from happening again. If none 299 00:16:20,730 --> 00:16:23,529 of these processes exist already, you should try to 300 00:16:23,529 --> 00:16:27,680 help establish them. Because if just one person can 301 00:16:27,680 --> 00:16:31,680 ruin everything, that's a pretty big problem for the 302 00:16:31,680 --> 00:16:33,439 entire team. 303 00:16:33,439 --> 00:16:37,550 Something I'm a really big fan of, as well, 304 00:16:37,550 --> 00:16:41,110 is just having a direct conversation up front about 305 00:16:41,110 --> 00:16:44,439 someone's learning style along with the other person's teaching 306 00:16:44,439 --> 00:16:47,470 style. This way you can try to sync them 307 00:16:47,470 --> 00:16:51,060 up and talk through any mismatches ahead of time 308 00:16:51,060 --> 00:16:54,610 before there's any conflict. It's great when mentors show 309 00:16:54,610 --> 00:16:57,249 that they're open to feedback along the way as 310 00:16:57,249 --> 00:17:00,230 well, so that they can continue iterating and adapting 311 00:17:00,230 --> 00:17:03,839 their style to match whatever will help the junior 312 00:17:03,839 --> 00:17:05,250 learn best. 313 00:17:05,250 --> 00:17:08,819 It's also really important to talk about how you 314 00:17:08,819 --> 00:17:12,770 prefer to be interrupted. My mentor at New Relic, 315 00:17:12,770 --> 00:17:15,329 David, told me that I could interrupt him pretty 316 00:17:15,329 --> 00:17:19,140 much any time. And because he was really clear 317 00:17:19,140 --> 00:17:21,569 and direct with me when he couldn't help me 318 00:17:21,569 --> 00:17:23,929 right then, and still always gave me some other 319 00:17:23,929 --> 00:17:27,689 resource to try, I had that much more confidence 320 00:17:27,689 --> 00:17:31,220 in it being OK to interrupt rather than bottling 321 00:17:31,220 --> 00:17:33,409 it all up and just saving it for our 322 00:17:33,409 --> 00:17:37,470 designated weekly meetings. 323 00:17:37,470 --> 00:17:40,679 When I started, David's desk was right next to 324 00:17:40,679 --> 00:17:42,789 mine, so that even when I was talking to 325 00:17:42,789 --> 00:17:46,370 other people, he could sort of lightly listen in 326 00:17:46,370 --> 00:17:48,640 and jump in whenever it was clear to him 327 00:17:48,640 --> 00:17:52,980 that I was missing something fundamental. As my mentor, 328 00:17:52,980 --> 00:17:56,169 he had a better overall understanding of where my 329 00:17:56,169 --> 00:17:59,279 knowledge level was at, so he could help others 330 00:17:59,279 --> 00:18:02,559 help me, too. 331 00:18:02,559 --> 00:18:06,200 If, as a mentor, part of your philosophy is 332 00:18:06,200 --> 00:18:09,640 to let people struggle, this is also something that's 333 00:18:09,640 --> 00:18:12,440 good to make clear up front. It's really good 334 00:18:12,440 --> 00:18:15,190 to talk about this, because that way, you can 335 00:18:15,190 --> 00:18:17,710 let the juniors know that you are intentionally doing 336 00:18:17,710 --> 00:18:19,929 this. And it is out of a faith in 337 00:18:19,929 --> 00:18:23,100 them, rather than setting them up to fail or 338 00:18:23,100 --> 00:18:26,400 having misplaced expectations. 339 00:18:26,400 --> 00:18:29,279 Just being reminded that you expect this to be 340 00:18:29,279 --> 00:18:32,630 hard goes really far towards dispelling any sense of 341 00:18:32,630 --> 00:18:36,279 impostor syndrome, where you might have this sinking feeling 342 00:18:36,279 --> 00:18:39,480 that it should be easier. But that's wrong. It's 343 00:18:39,480 --> 00:18:41,750 supposed to be hard. 344 00:18:41,750 --> 00:18:45,299 Finally, I think it's ideal if you can push 345 00:18:45,299 --> 00:18:49,409 up responsibility for deadlines. The junior developer's job is 346 00:18:49,409 --> 00:18:51,600 to keep everyone up to date so that no 347 00:18:51,600 --> 00:18:53,970 one is surprised by how much work is left 348 00:18:53,970 --> 00:18:57,250 to do. On one project, a couple months ago, 349 00:18:57,250 --> 00:18:59,950 when I was freaking out because I felt like 350 00:18:59,950 --> 00:19:02,390 it was taking me forever to learn even just 351 00:19:02,390 --> 00:19:05,700 the basics of D3, one of our project managers 352 00:19:05,700 --> 00:19:08,809 came to me and said that shuffling resources is 353 00:19:08,809 --> 00:19:11,370 his job, so that I could go back to 354 00:19:11,370 --> 00:19:14,450 learning and struggling. And if at any point the 355 00:19:14,450 --> 00:19:17,880 project deadline was in danger, the burden wasn't entirely 356 00:19:17,880 --> 00:19:19,600 on my shoulders. 357 00:19:19,600 --> 00:19:25,809 Now we have covered these first two steps. 358 00:19:25,809 --> 00:19:27,529 We are just a little bit halfway through. So 359 00:19:27,529 --> 00:19:29,520 I just want to take a real quick break. 360 00:19:29,520 --> 00:19:31,890 Humor me. If you could all just sort of 361 00:19:31,890 --> 00:19:35,309 sit forward in your chairs a little bit. Thank 362 00:19:35,309 --> 00:19:37,480 you. And go ahead and just put your arms 363 00:19:37,480 --> 00:19:40,480 behind your back like this. And just try to 364 00:19:40,480 --> 00:19:43,140 stretch and pull your shoulders down and back a 365 00:19:43,140 --> 00:19:45,610 little bit. Just try to counteract a little bit 366 00:19:45,610 --> 00:19:48,890 of the terrible posture a lot of us probably 367 00:19:48,890 --> 00:19:52,419 have over a hunched over computer. OK. Cool. 368 00:19:52,419 --> 00:19:55,400 Feels better. I do this a lot when we 369 00:19:55,400 --> 00:19:57,529 do stand ups actually, because it's like a good 370 00:19:57,529 --> 00:20:00,350 time as any to stretch and be slightly more 371 00:20:00,350 --> 00:20:01,200 ergonomic. 372 00:20:01,200 --> 00:20:07,220 All right. Back to where we were. 373 00:20:07,220 --> 00:20:09,480 The final step in tackling how much there is 374 00:20:09,480 --> 00:20:12,340 to learn is much like how you'd approach any 375 00:20:12,340 --> 00:20:17,529 other gnarly technical problem. Narrow your scope. Mentors are 376 00:20:17,529 --> 00:20:21,130 highly helpful here, too, because they can help prioritize 377 00:20:21,130 --> 00:20:23,179 what to learn next. 378 00:20:23,179 --> 00:20:25,770 For example, one of my things is that I 379 00:20:25,770 --> 00:20:28,260 still actually need to build a Rails app from 380 00:20:28,260 --> 00:20:33,669 the beginning. Know that it's important to deliver recommendations 381 00:20:33,669 --> 00:20:36,919 at the right time. If a mentor gets really 382 00:20:36,919 --> 00:20:39,610 excited about yet another new thing to add to 383 00:20:39,610 --> 00:20:42,620 the junior developer's plate and just sort of blurts 384 00:20:42,620 --> 00:20:45,630 it out right then, this can sometimes be taken 385 00:20:45,630 --> 00:20:48,899 a little bit like, wow, it must be really 386 00:20:48,899 --> 00:20:51,090 important to be told right away that I need 387 00:20:51,090 --> 00:20:54,809 to know this. Maybe I should know this already? 388 00:20:54,809 --> 00:20:57,250 Which at least, for me, can sometimes lead to 389 00:20:57,250 --> 00:21:02,770 a little bit of a death spiral of self-doubt. 390 00:21:02,770 --> 00:21:05,010 You also have to match up learning style with 391 00:21:05,010 --> 00:21:09,570 the tutorial style. This is important, because a lot 392 00:21:09,570 --> 00:21:16,270 of programming tutorials, well, they're kind of like this. 393 00:21:16,270 --> 00:21:20,140 How to draw an owl. Step one, draw some 394 00:21:20,140 --> 00:21:23,750 circles. Step two, draw the rest of the owl. 395 00:21:23,750 --> 00:21:25,690 How many people have done tutorials that are like 396 00:21:25,690 --> 00:21:28,220 this? Yeah. 397 00:21:28,220 --> 00:21:34,510 Well, even on more detailed tutorials, there are differences, 398 00:21:34,510 --> 00:21:38,409 like whether the work is goal-oriented or not. For 399 00:21:38,409 --> 00:21:41,289 me, it's actually harder to stay motivated when I 400 00:21:41,289 --> 00:21:43,850 don't have a specific thing that I'm trying to 401 00:21:43,850 --> 00:21:48,860 accomplish. I like structure and being too free-form actually 402 00:21:48,860 --> 00:21:52,350 means that I'll get bored. For example, I took 403 00:21:52,350 --> 00:21:54,970 calculus in high school. And it was fun and 404 00:21:54,970 --> 00:21:55,360 interesting. 405 00:21:55,360 --> 00:21:58,750 But it wasn't until I took physics in college 406 00:21:58,750 --> 00:22:02,510 that I was like, oh, that's what calculus was 407 00:22:02,510 --> 00:22:06,860 invented for. But that's just me. And other people 408 00:22:06,860 --> 00:22:10,309 might be similar or very different. 409 00:22:10,309 --> 00:22:14,179 Also, in terms of content, my personal view is 410 00:22:14,179 --> 00:22:17,470 that the highest value areas are things like team 411 00:22:17,470 --> 00:22:21,230 processes for code review and version control like git. 412 00:22:21,230 --> 00:22:25,470 And specific product, product knowledge over more generalized programming 413 00:22:25,470 --> 00:22:28,159 knowledge. 414 00:22:28,159 --> 00:22:30,470 This might be a bit controversial, but I think 415 00:22:30,470 --> 00:22:34,010 less useful are actually things like getting too much 416 00:22:34,010 --> 00:22:37,669 into optimizing your tools and environment. Or even learning 417 00:22:37,669 --> 00:22:42,049 tons of keyboard short cuts. At least to start. 418 00:22:42,049 --> 00:22:45,419 Keyboard short cuts are fun and useful, but let's 419 00:22:45,419 --> 00:22:49,130 be honest. Right now, how fast I can type 420 00:22:49,130 --> 00:22:51,890 is not the limiting factor in how fast I 421 00:22:51,890 --> 00:22:53,700 can complete a feature. 422 00:22:53,700 --> 00:22:57,450 So that wraps up my ideas for how to 423 00:22:57,450 --> 00:22:59,840 tackle this first challenge of how there's so much 424 00:22:59,840 --> 00:23:03,570 to learn as a junior developer. Next, I'll talk 425 00:23:03,570 --> 00:23:05,990 about ways that even junior developers can help their 426 00:23:05,990 --> 00:23:08,340 team immediately. 427 00:23:08,340 --> 00:23:15,340 Knowing how to help your team is hard because 428 00:23:16,350 --> 00:23:18,669 maybe you feel like you're a drag on your 429 00:23:18,669 --> 00:23:21,669 team's productivity with how much help you need right 430 00:23:21,669 --> 00:23:24,559 then. How many people have felt like this? 431 00:23:24,559 --> 00:23:29,419 Well, in one of the first conversations that David 432 00:23:29,419 --> 00:23:31,809 and I had, I actually pretty much just straight 433 00:23:31,809 --> 00:23:35,279 up asked him, how did you get stuck with 434 00:23:35,279 --> 00:23:39,880 me? To his and New Relic's everlasting credit, he 435 00:23:39,880 --> 00:23:42,640 immediately reassured me that it wasn't that he got 436 00:23:42,640 --> 00:23:45,440 stuck with me, but that he wanted to learn 437 00:23:45,440 --> 00:23:48,240 to be a good mentor himself. So it was 438 00:23:48,240 --> 00:23:52,279 from there that I realized, ah, even my ignorance 439 00:23:52,279 --> 00:23:54,750 can be helpful for the team when it gives 440 00:23:54,750 --> 00:23:58,789 them opportunities to practice things like mentoring. 441 00:23:58,789 --> 00:24:02,720 Also, even if you are a junior developer, your 442 00:24:02,720 --> 00:24:07,919 technical contributions are still important. Yes, you may be 443 00:24:07,919 --> 00:24:11,890 working on features that someone else may make faster, 444 00:24:11,890 --> 00:24:14,429 but in a world where there is never enough 445 00:24:14,429 --> 00:24:16,510 junior developers for all of the, you know, or 446 00:24:16,510 --> 00:24:19,059 just developers in general, for all the developer jobs 447 00:24:19,059 --> 00:24:22,350 that are out there, it's not actually necessarily a 448 00:24:22,350 --> 00:24:26,679 choice between a junior developer building it slowly and 449 00:24:26,679 --> 00:24:29,549 a senior developer building it really quickly. It's a 450 00:24:29,549 --> 00:24:32,940 choice between having something built and not having it 451 00:24:32,940 --> 00:24:36,279 at all. 452 00:24:36,279 --> 00:24:38,909 Don't forget, either, that everyone started out at your 453 00:24:38,909 --> 00:24:41,510 point at some, at some point, and you won't 454 00:24:41,510 --> 00:24:44,710 be at your current stage forever. As my southern 455 00:24:44,710 --> 00:24:47,809 friend likes to drawl, no one comes out of 456 00:24:47,809 --> 00:24:51,460 their mama's womb knowing how to code. Just think 457 00:24:51,460 --> 00:24:55,159 about that for a minute. 458 00:24:55,159 --> 00:25:00,559 So onwards to some of the other non-technical ways 459 00:25:00,559 --> 00:25:03,820 you can help your team right away. First, I 460 00:25:03,820 --> 00:25:08,779 really strongly believe that questions are basically the junior 461 00:25:08,779 --> 00:25:12,179 developer's super power, and as we all know, with 462 00:25:12,179 --> 00:25:16,919 great power comes great responsibility. Fresh eyes are helpful, 463 00:25:16,919 --> 00:25:19,570 but you can specifically figure out how to be 464 00:25:19,570 --> 00:25:22,010 an extra helpful set of fresh eyes with the 465 00:25:22,010 --> 00:25:24,360 use of skillful questions. 466 00:25:24,360 --> 00:25:28,309 Good questions are invaluable for highlighting assumptions and helping 467 00:25:28,309 --> 00:25:31,409 the team avoid dead ends, which helps you all 468 00:25:31,409 --> 00:25:35,690 move faster. Questions like, are we working on the 469 00:25:35,690 --> 00:25:39,200 right thing? Or, is there a reason we're doing 470 00:25:39,200 --> 00:25:42,130 it this way? This is something that came up 471 00:25:42,130 --> 00:25:45,809 in my old job, too. Because sometimes this uncovered 472 00:25:45,809 --> 00:25:50,700 an actual misunderstanding about a feature's requirements, where, like 473 00:25:50,700 --> 00:25:54,090 an offhand comment from a comment email, got interpreted 474 00:25:54,090 --> 00:25:56,090 as a must-have item. 475 00:25:56,090 --> 00:25:59,210 Getting rid of these kinds of things saves everyone 476 00:25:59,210 --> 00:26:01,990 a lot of time and disappointment. 477 00:26:01,990 --> 00:26:04,850 Has anyone here ever worked as a consultant or 478 00:26:04,850 --> 00:26:08,840 product manager at all? So you probably have similar 479 00:26:08,840 --> 00:26:13,279 stories like that, too. Of course, you do want 480 00:26:13,279 --> 00:26:15,610 to ask your questions in a way that won't 481 00:26:15,610 --> 00:26:19,159 put people on the defensive. If someone hisses at 482 00:26:19,159 --> 00:26:22,960 you, that's probably not a good sign. 483 00:26:22,960 --> 00:26:25,960 Try to express humility, since you're asking these questions 484 00:26:25,960 --> 00:26:28,590 from a place where it's because you want to 485 00:26:28,590 --> 00:26:33,250 learn rather than assuming that you already know. You 486 00:26:33,250 --> 00:26:36,470 can also think about questions that other non-engineering people 487 00:26:36,470 --> 00:26:40,080 might ask, like your sales or support teams. Getting 488 00:26:40,080 --> 00:26:42,559 these answers earlier on gives your team a jump 489 00:26:42,559 --> 00:26:45,720 start on looping in other teams as needed. 490 00:26:45,720 --> 00:26:47,750 And if the only answers your team has are 491 00:26:47,750 --> 00:26:51,149 pretty vague, that's an opportunity to dig further for 492 00:26:51,149 --> 00:26:55,649 greater clarity. OK. We're two thirds of the way 493 00:26:55,649 --> 00:26:57,399 through the outline now. 494 00:26:57,399 --> 00:27:01,840 On the other side from asking questions, providing constructive 495 00:27:01,840 --> 00:27:05,590 feedback is really important, too. If you've had another 496 00:27:05,590 --> 00:27:07,130 career before now, this is a skill that I 497 00:27:07,130 --> 00:27:12,659 am sure you have already practiced. Giving useful feedback 498 00:27:12,659 --> 00:27:15,840 to the right person in the right venue at 499 00:27:15,840 --> 00:27:18,779 the right time is hard for a lot of 500 00:27:18,779 --> 00:27:19,960 people. 501 00:27:19,960 --> 00:27:21,970 For me, when I worked in tech support, we'd 502 00:27:21,970 --> 00:27:24,720 frequently do quality reviews of each others work to 503 00:27:24,720 --> 00:27:27,760 try to improve the customer support experience. And we'd 504 00:27:27,760 --> 00:27:31,820 also just do general peer feedback every few quarters. 505 00:27:31,820 --> 00:27:34,029 Which meant that I got a lot of practice 506 00:27:34,029 --> 00:27:36,789 at phrasing feedback in a way that wouldn't lose 507 00:27:36,789 --> 00:27:40,929 me any friends, hopefully. 508 00:27:40,929 --> 00:27:43,389 Before offering feedback, I like to spend some time 509 00:27:43,389 --> 00:27:45,490 thinking about what would be useful to the person 510 00:27:45,490 --> 00:27:49,919 receiving the feedback. What is it that they want? 511 00:27:49,919 --> 00:27:53,169 What are they trying to do? You always also 512 00:27:53,169 --> 00:27:56,399 get bonus points for bringing suggestions for solutions with 513 00:27:56,399 --> 00:27:58,019 you. 514 00:27:58,019 --> 00:28:01,010 It's hard, sometimes, to refrain from nitpicking just for 515 00:28:01,010 --> 00:28:03,649 the sake of having something to say, but it's 516 00:28:03,649 --> 00:28:06,299 worth it to increase the value that people get 517 00:28:06,299 --> 00:28:09,230 from listening to you. You just want to have 518 00:28:09,230 --> 00:28:13,600 a really high personal ratio of useful to not-useful 519 00:28:13,600 --> 00:28:15,090 things to say. 520 00:28:15,090 --> 00:28:19,059 Something else I've been trying lately is to give 521 00:28:19,059 --> 00:28:22,740 positive feedback whenever there is an opportunity. I don't 522 00:28:22,740 --> 00:28:25,899 mean, like, fake positive compliments or anything like that 523 00:28:25,899 --> 00:28:28,909 at all. But just that it's a lot easier 524 00:28:28,909 --> 00:28:32,120 in most cases to complain about something than to 525 00:28:32,120 --> 00:28:34,490 remember to speak up when there are good things 526 00:28:34,490 --> 00:28:35,659 to talk about. 527 00:28:35,659 --> 00:28:38,700 My hope is that this is helpful in the 528 00:28:38,700 --> 00:28:40,830 longer term, so that I can build up a 529 00:28:40,830 --> 00:28:44,559 general reputation for being a positive person. And any 530 00:28:44,559 --> 00:28:47,269 negative feedback I have will be taken more seriously. 531 00:28:47,269 --> 00:28:52,990 On the other hand, sometimes giving good feedback can 532 00:28:52,990 --> 00:28:55,740 also mean just stating, I don't have an opinion 533 00:28:55,740 --> 00:28:58,559 on this topic, so that you withdraw yourself from 534 00:28:58,559 --> 00:29:01,100 the pool of people weighing in. It makes life 535 00:29:01,100 --> 00:29:03,570 a lot easier for whoever's in charge of getting 536 00:29:03,570 --> 00:29:06,169 the group to a consensus. 537 00:29:06,169 --> 00:29:09,529 So now we've covered two strategies for helping your 538 00:29:09,529 --> 00:29:14,139 team. Lastly, there's a lot you can do to 539 00:29:14,139 --> 00:29:17,590 make your team look good to other teams. It 540 00:29:17,590 --> 00:29:20,419 isn't all that hard. It helps your team feel 541 00:29:20,419 --> 00:29:23,309 good and it helps other teams feel good, too, 542 00:29:23,309 --> 00:29:27,409 about working with your team. One of the common 543 00:29:27,409 --> 00:29:30,159 areas this can come up in is in any 544 00:29:30,159 --> 00:29:33,649 demo or review team, meetings your team might have. 545 00:29:33,649 --> 00:29:36,679 You can give awesome demos just by being thoughtful 546 00:29:36,679 --> 00:29:38,539 and prepared. 547 00:29:38,539 --> 00:29:40,799 Think about why this change matters to your audience. 548 00:29:40,799 --> 00:29:43,830 Why should they care? And think about how you 549 00:29:43,830 --> 00:29:46,490 can show the before and after, doing things like 550 00:29:46,490 --> 00:29:48,840 grabbing screen shots, so you can show new and 551 00:29:48,840 --> 00:29:52,500 old side by side. Or gathering metrics to show 552 00:29:52,500 --> 00:29:54,779 why the thing that your team did is actually 553 00:29:54,779 --> 00:29:56,169 a big deal. 554 00:29:56,169 --> 00:29:59,019 Demos are also good for getting full credit for 555 00:29:59,019 --> 00:30:01,809 your team, for everything that they've done. Even ones 556 00:30:01,809 --> 00:30:05,480 that aren't easily visible. You can do things like 557 00:30:05,480 --> 00:30:09,200 talk about corner cases and, you know, choices that 558 00:30:09,200 --> 00:30:12,019 you either decided to do something about right now 559 00:30:12,019 --> 00:30:15,830 or have consciously chosen to delay, so that it 560 00:30:15,830 --> 00:30:18,360 shows other teams, shows these other teams that you've 561 00:30:18,360 --> 00:30:21,320 been thoughtful about your impact to them, like the 562 00:30:21,320 --> 00:30:25,610 supportability of a new feature you've released. 563 00:30:25,610 --> 00:30:28,429 I like to over prepare. So I almost always 564 00:30:28,429 --> 00:30:32,169 write a script, which is sometimes a literal word-for-word 565 00:30:32,169 --> 00:30:34,809 script. But more often, it's just a list of 566 00:30:34,809 --> 00:30:37,850 what I want to show in a particular order 567 00:30:37,850 --> 00:30:40,350 so that it flows well and I don't end 568 00:30:40,350 --> 00:30:44,750 up having to backtrack because I've forgotten something. 569 00:30:44,750 --> 00:30:47,610 I also like to do a test run through, 570 00:30:47,610 --> 00:30:49,779 so that this way, I'll know everything I need 571 00:30:49,779 --> 00:30:52,809 to get preloaded onto my computer, which makes the 572 00:30:52,809 --> 00:30:57,429 demo really efficient and less prone to errors. 573 00:30:57,429 --> 00:31:02,269 In general, making an effort to be responsive, thorough, 574 00:31:02,269 --> 00:31:06,470 and empathetic really goes a long way. I'm really 575 00:31:06,470 --> 00:31:08,830 proud of the time that someone on our support 576 00:31:08,830 --> 00:31:10,700 team at New Relic told me I was her 577 00:31:10,700 --> 00:31:14,039 favorite engineer to work with, mostly just because I 578 00:31:14,039 --> 00:31:17,730 was being really responsive. All this just helps people 579 00:31:17,730 --> 00:31:21,789 feel heard, and knock down any stereotypes that engineers 580 00:31:21,789 --> 00:31:25,299 don't care about what other people care about. And 581 00:31:25,299 --> 00:31:28,639 so this way, when your team needs their help, 582 00:31:28,639 --> 00:31:30,380 they'll be there for you too. 583 00:31:30,380 --> 00:31:33,659 That wraps up my ideas for how to tackle 584 00:31:33,659 --> 00:31:35,399 the challenge of figuring out how you can help 585 00:31:35,399 --> 00:31:39,809 your team even when you're a junior developer. 586 00:31:39,809 --> 00:31:41,440 Before I finish up my talk, I do want 587 00:31:41,440 --> 00:31:45,169 to mention a few caveats and pitfalls to avoid. 588 00:31:45,169 --> 00:31:47,799 I'm hoping that mentors, in particular, will help out 589 00:31:47,799 --> 00:31:50,470 with watching out for these. 590 00:31:50,470 --> 00:31:52,840 Sometimes, I think there's a bit of an issue 591 00:31:52,840 --> 00:31:57,370 in the tech community of undervaluing non-technical skills, and 592 00:31:57,370 --> 00:31:59,710 a lot of what I've talked about is essentially 593 00:31:59,710 --> 00:32:04,600 using your non-technical skills to help yourself move forward. 594 00:32:04,600 --> 00:32:06,889 The thing is, you just don't want to be 595 00:32:06,889 --> 00:32:10,690 assumed to just be the secretary, which I don't 596 00:32:10,690 --> 00:32:13,210 mean as a diss on secretaries at all. It's 597 00:32:13,210 --> 00:32:17,610 just not the job that I'm working towards. 598 00:32:17,610 --> 00:32:21,529 There's also a phenomenon called the Girl Scout tax, 599 00:32:21,529 --> 00:32:23,970 which comes about because we have a stereotype and 600 00:32:23,970 --> 00:32:29,070 expectation that women are helpful. Unfortunately, this leads to 601 00:32:29,070 --> 00:32:30,980 a lot of women not getting credit for the 602 00:32:30,980 --> 00:32:35,259 help that they provide, because supposedly, that's just what 603 00:32:35,259 --> 00:32:39,149 women do. They're helpful. This is just one of 604 00:32:39,149 --> 00:32:41,919 those unconscious things that we probably all do from 605 00:32:41,919 --> 00:32:44,019 time to time, and so we should all try 606 00:32:44,019 --> 00:32:46,820 to watch out for it so that everyone gets 607 00:32:46,820 --> 00:32:51,730 recognized and appreciated for the work that they do. 608 00:32:51,730 --> 00:32:54,200 You just don't want to get sidelined or pushed 609 00:32:54,200 --> 00:32:57,539 into a role you're not interested in. Everything I've 610 00:32:57,539 --> 00:32:59,880 talked about today is from the stand point that 611 00:32:59,880 --> 00:33:02,480 you're willing to do whatever's best for your team 612 00:33:02,480 --> 00:33:04,500 in the short term, but you all need to 613 00:33:04,500 --> 00:33:06,950 be doing what's best for everyone longer term as 614 00:33:06,950 --> 00:33:10,850 well, which is to help you grow as a 615 00:33:10,850 --> 00:33:12,159 developer. 616 00:33:12,159 --> 00:33:16,630 Ultimately, keep focused on whatever your end goal is. 617 00:33:16,630 --> 00:33:19,980 Whether that's getting better at coding, working on bigger 618 00:33:19,980 --> 00:33:23,950 features, or learning about the market and industry. This 619 00:33:23,950 --> 00:33:27,559 way you can consciously choose what things you'll do 620 00:33:27,559 --> 00:33:29,940 that will bring you closer to the goal, and 621 00:33:29,940 --> 00:33:33,259 not do things that will move you further away 622 00:33:33,259 --> 00:33:35,159 from it. 623 00:33:35,159 --> 00:33:38,549 These are some recommendations for further reading. The first 624 00:33:38,549 --> 00:33:41,450 two are books that are actually pretty quick and 625 00:33:41,450 --> 00:33:44,639 easy reads. Teen Geek was written by a couple 626 00:33:44,639 --> 00:33:48,360 of Google engineering managers who actually co-founded the Google's 627 00:33:48,360 --> 00:33:52,350 engineering office here in Chicago. And that second book, 628 00:33:52,350 --> 00:33:55,299 the Upside of Down is a good book if 629 00:33:55,299 --> 00:33:57,169 you feel like you're being held back by a 630 00:33:57,169 --> 00:33:59,590 fear of failure. 631 00:33:59,590 --> 00:34:01,350 The other four are blog posts that I also 632 00:34:01,350 --> 00:34:04,210 found really interesting and full of good career advice 633 00:34:04,210 --> 00:34:07,070 for junior developers. 634 00:34:07,070 --> 00:34:09,880 So here's the full outline of everything I've talked 635 00:34:09,880 --> 00:34:12,850 about today. I think there are two main challenges 636 00:34:12,850 --> 00:34:16,820 in being a junior developer. For the problem of 637 00:34:16,820 --> 00:34:19,130 there being so much to learn, the three step 638 00:34:19,130 --> 00:34:21,889 plan is to get people to want to help 639 00:34:21,889 --> 00:34:24,870 you, make it easy for them to help, and 640 00:34:24,870 --> 00:34:28,040 narrow the scope of what you're trying to cover. 641 00:34:28,040 --> 00:34:29,829 For the problem of not knowing how to help 642 00:34:29,829 --> 00:34:33,810 your team, always remember that good questions are the 643 00:34:33,810 --> 00:34:37,290 junior developer's super power. You can also do a 644 00:34:37,290 --> 00:34:40,730 lot by giving good feedback and making your team 645 00:34:40,730 --> 00:34:44,129 look good in front of other teams. 646 00:34:44,129 --> 00:34:47,659 In conclusion, we talk a lot about the benefits 647 00:34:47,659 --> 00:34:50,349 of diversity, but if you're the one that's bringing 648 00:34:50,349 --> 00:34:54,159 diversity to your team, that can be hard, because 649 00:34:54,159 --> 00:34:57,560 the typical narrative won't use your particular strength set 650 00:34:57,560 --> 00:35:02,780 much, because by definition, they're different. As my first 651 00:35:02,780 --> 00:35:05,810 boss told me, we can and should work on 652 00:35:05,810 --> 00:35:09,410 our areas for development. But it's really your strengths 653 00:35:09,410 --> 00:35:11,710 that you can lean on most heavily to get 654 00:35:11,710 --> 00:35:13,200 you where you want to go. 655 00:35:13,200 --> 00:35:16,720 So to all the junior developers and career searchers 656 00:35:16,720 --> 00:35:19,490 out there, I just want to say, you deserve 657 00:35:19,490 --> 00:35:23,040 to feel confidence in yourself as a person. Place 658 00:35:23,040 --> 00:35:26,369 your confidence in your proven ability to learn over 659 00:35:26,369 --> 00:35:29,500 your current level of coding knowledge. It's only a 660 00:35:29,500 --> 00:35:31,970 matter of time, and I hope I've helped you 661 00:35:31,970 --> 00:35:34,970 shorten that amount of time as a junior developer, 662 00:35:34,970 --> 00:35:37,980 and so someday, when you'll be mentoring junior developers 663 00:35:37,980 --> 00:35:38,599 yourself. 664 00:35:38,599 --> 00:35:39,859 Thank you.