WEBVTT 00:00:16.529 --> 00:00:18.480 KINSEY ANN DURHAM: OK, I'm gonna go ahead and start. 00:00:18.480 --> 00:00:19.619 How's everybody doing today? 00:00:19.619 --> 00:00:20.939 AUDIENCE: We're good. 00:00:20.939 --> 00:00:24.739 K.A.D.: Good? Having a good conference? Thank you all 00:00:24.739 --> 00:00:28.559 for coming. I'm Kinsey. I'm an apprentice at ThoughtBot 00:00:28.559 --> 00:00:32.418 in the new Denver office, and today I'm going 00:00:32.418 --> 00:00:35.729 to be talking about becoming a software engineer: inspiring 00:00:35.729 --> 00:00:38.489 a new generation of developers. 00:00:38.489 --> 00:00:40.149 So if you were to tell me even a 00:00:40.149 --> 00:00:42.350 year ago that I would be standing up here 00:00:42.350 --> 00:00:45.570 speaking at RubyConf, I would have told you that 00:00:45.570 --> 00:00:48.949 you were crazy. I never dreamt or even thought 00:00:48.949 --> 00:00:51.710 it was possible to find such a yearning passion 00:00:51.710 --> 00:00:55.399 for writing code. I thought I wasn't smart enough, 00:00:55.399 --> 00:00:58.170 and I honestly build up building ba- grew up 00:00:58.170 --> 00:01:02.039 building Barbie's dreamhouse and not computers. 00:01:02.039 --> 00:01:04.319 I have been working in ad agencies since I 00:01:04.319 --> 00:01:06.860 was sixteen. I was an advertising major and I 00:01:06.860 --> 00:01:08.250 was good at it. And the thought of being 00:01:08.250 --> 00:01:11.670 a software engineer never crossed my mind. It honestly 00:01:11.670 --> 00:01:15.500 looked really boring and intimidating. My step-brother is a 00:01:15.500 --> 00:01:18.250 really awesome developer, and any time I heard him 00:01:18.250 --> 00:01:20.069 talk, it sounded like he was talking in an 00:01:20.069 --> 00:01:23.610 alien language. I never understood anything that he was 00:01:23.610 --> 00:01:24.130 saying. 00:01:24.130 --> 00:01:26.909 People are shocked and sometimes even blatantly negative when 00:01:26.909 --> 00:01:29.020 they hear about my new dreams of becoming a 00:01:29.020 --> 00:01:33.350 developer. Friends' jaws literally dropped when I told them 00:01:33.350 --> 00:01:35.860 that I was learning how to write code. I've 00:01:35.860 --> 00:01:38.340 also received comments that I'm too sociable and I'm 00:01:38.340 --> 00:01:40.750 the last person on Earth they thought would want 00:01:40.750 --> 00:01:43.640 to write code. That I should be in sales 00:01:43.640 --> 00:01:45.229 and also I don't think in a way that 00:01:45.229 --> 00:01:47.450 a developer should. 00:01:47.450 --> 00:01:49.680 I don't ever want to let these comments discourage 00:01:49.680 --> 00:01:53.020 me, although it's definitely easier said than done. There 00:01:53.020 --> 00:01:54.420 are definitely times when I want to give up 00:01:54.420 --> 00:01:56.880 and throw my computer out the door and go 00:01:56.880 --> 00:01:58.250 back to some of the mindless work I did 00:01:58.250 --> 00:02:00.750 in advertising. 00:02:00.750 --> 00:02:02.939 So the path to becoming a software engineer, in 00:02:02.939 --> 00:02:06.640 my mind, was straightforward and well-defined. You needed a 00:02:06.640 --> 00:02:10.060 computer, you needed a computer science degree, to have 00:02:10.060 --> 00:02:12.640 dropped out of your computer science degree to work 00:02:12.640 --> 00:02:15.850 for a company writing code, or have been a 00:02:15.850 --> 00:02:18.829 self-taught programmer who loon- learned to code at a 00:02:18.829 --> 00:02:20.540 very young age. 00:02:20.540 --> 00:02:23.480 Recently, the community has seen a rise in non-traditional 00:02:23.480 --> 00:02:26.959 paths to becoming a software engineer. These paths are 00:02:26.959 --> 00:02:30.430 the future to building a diverse community and training 00:02:30.430 --> 00:02:34.510 the next generation of developers. So today I'm here 00:02:34.510 --> 00:02:38.680 to argue that outreach programs, mentorship and apprentice programs 00:02:38.680 --> 00:02:41.040 are legitimate paths to becoming a software engineer. 00:02:41.040 --> 00:02:43.980 This path is begin, has been the beginning of 00:02:43.980 --> 00:02:46.420 my journey, making me see that what I thought 00:02:46.420 --> 00:02:50.629 was impossible was actually possible. So I first want 00:02:50.629 --> 00:02:54.040 to talk about outreach programs. Railsbridge is a great 00:02:54.040 --> 00:02:56.980 example of an outreach program that is working. 00:02:56.980 --> 00:03:00.569 So how many people have heard of Railsbridge? Wow. 00:03:00.569 --> 00:03:02.799 That's a lot. A lot. Awesome. How many people 00:03:02.799 --> 00:03:09.799 have volunteered, sponsored, or participated in a Railsbridge? Awesome. 00:03:12.209 --> 00:03:14.540 I can honestly tell you that a Railsbridge workshop 00:03:14.540 --> 00:03:17.220 changed my life. Railsbridge, for those of you who 00:03:17.220 --> 00:03:18.989 don't know even though most of you raised your 00:03:18.989 --> 00:03:20.810 hands, is an outreach program that puts on free 00:03:20.810 --> 00:03:25.890 weekend workshops where people learn from experienced Rails volunteers. 00:03:25.890 --> 00:03:28.810 So these workshop attract, workshops attract a lot of 00:03:28.810 --> 00:03:30.750 beginners, and in one day you get to build 00:03:30.750 --> 00:03:34.120 a basic Rails app and deploy it on Heroku. 00:03:34.120 --> 00:03:36.060 It planted a seed to a career that I 00:03:36.060 --> 00:03:38.909 had always dreamed of but hadn't yet realized. I 00:03:38.909 --> 00:03:41.150 not only met Jesse McAdam who would become one 00:03:41.150 --> 00:03:44.110 of my greatest mentors and influencers, but discovered a 00:03:44.110 --> 00:03:46.810 passion for writing Rails that I never would have 00:03:46.810 --> 00:03:47.879 discovered on my own. 00:03:47.879 --> 00:03:50.319 This is a Tweet that I Tweeted when I 00:03:50.319 --> 00:03:53.269 was at Railsbridge. I was so excited. 00:03:53.269 --> 00:03:55.569 Railsbridge taught me that writing code wasn't scary and 00:03:55.569 --> 00:03:58.000 in a few hours I deployed my first application 00:03:58.000 --> 00:04:00.849 to Heroku. I literally remember it like it was 00:04:00.849 --> 00:04:02.909 yesterday. I was yelling at my best friend who 00:04:02.909 --> 00:04:04.470 also was in the workshop at the top of 00:04:04.470 --> 00:04:06.459 my lungs that I was going to write code 00:04:06.459 --> 00:04:09.450 from now on. And Railsbridge was the beginning of 00:04:09.450 --> 00:04:11.329 my journey, where I learned that I could actually 00:04:11.329 --> 00:04:14.920 have a passion for writing code. 00:04:14.920 --> 00:04:17.839 So SarahMay and Sarah Allen started Railsbridge in 2009 00:04:17.839 --> 00:04:22.340 when the San Francisco Ruby community was 98% male 00:04:22.340 --> 00:04:25.500 and 2% female. Since the program lowered the barrier 00:04:25.500 --> 00:04:29.300 to entry, they saw an increase of women attending 00:04:29.300 --> 00:04:32.050 the workshops. In one year, the Sarahs saw the 00:04:32.050 --> 00:04:35.539 female ratio increase from 2 to 18% thanks to 00:04:35.539 --> 00:04:37.250 Railsbridge efforts. 00:04:37.250 --> 00:04:42.229 And I am - yeah. 00:04:42.229 --> 00:04:47.570 So I am definitely not the only one who 00:04:47.570 --> 00:04:49.800 has pursued a career in web development thanks to 00:04:49.800 --> 00:04:52.180 Railsbridge. I want to share with you guys a 00:04:52.180 --> 00:04:54.900 few of the testimonials from various women who have 00:04:54.900 --> 00:04:57.560 attended the workshop and who are now full-time software 00:04:57.560 --> 00:04:59.740 engineers. 00:04:59.740 --> 00:05:01.590 So Rachel Meyers who is now a developer at 00:05:01.590 --> 00:05:04.500 GitHub said this about her experience at Railsbridge. I'm 00:05:04.500 --> 00:05:06.740 gonna let you guys read this, cause I don't 00:05:06.740 --> 00:05:13.740 want to just read off the slide. 00:05:14.669 --> 00:05:19.460 Laura Steadman, who is now a developer at QuickLab, 00:05:19.460 --> 00:05:22.880 said that attending Railsbridge was inspiring because of what 00:05:22.880 --> 00:05:25.660 she built that day. Or not because of what 00:05:25.660 --> 00:05:28.590 she built that day, but rather the sincere enthusiasm 00:05:28.590 --> 00:05:31.300 of the volunteers. She was amazed that people were 00:05:31.300 --> 00:05:35.949 giving up their weekends to volunteer at a workshop. 00:05:35.949 --> 00:05:39.069 Rita Vatshi who is now a developer outright stated 00:05:39.069 --> 00:05:44.030 this. 00:05:44.030 --> 00:05:51.030 So Railsbridge is not the only outreach program that 00:05:51.970 --> 00:05:54.370 is out there that has been successful. Rails Girls, 00:05:54.370 --> 00:05:56.610 Women who Code, Black Girls who Code are other 00:05:56.610 --> 00:06:00.370 great programs, all of which need sponsors, teachers, and 00:06:00.370 --> 00:06:04.100 volunteers on an ongoing basis. I'm currently the coordinator 00:06:04.100 --> 00:06:05.940 for the Denver women who code group, and it 00:06:05.940 --> 00:06:08.729 is truly amazing to see the impact that the 00:06:08.729 --> 00:06:11.770 group has had in the community in one year. 00:06:11.770 --> 00:06:14.060 The most popular meetups are typically ones that are 00:06:14.060 --> 00:06:16.860 geared towards beginners, so in them we have more 00:06:16.860 --> 00:06:20.039 experienced females develop- female developers come in to speak 00:06:20.039 --> 00:06:23.289 about how they got into programming, what resources are 00:06:23.289 --> 00:06:27.729 out there and advice to becoming a developer. 00:06:27.729 --> 00:06:29.639 So now that I've talked about outreach programs, I 00:06:29.639 --> 00:06:33.250 want to talk about mentorship. Mentorship is another important 00:06:33.250 --> 00:06:37.349 aspect to train the next generation of developers. Mentorship 00:06:37.349 --> 00:06:39.819 is beneficial to me because I look to my 00:06:39.819 --> 00:06:42.669 mentors not only for technical skills but for soft 00:06:42.669 --> 00:06:45.610 skills and support. Because, to go from attending a 00:06:45.610 --> 00:06:49.050 Railsbridge workshop to becoming a full-time software engineer is 00:06:49.050 --> 00:06:52.199 way more work than I ever expected. 00:06:52.199 --> 00:06:53.660 There are days when I come home in tears 00:06:53.660 --> 00:06:56.470 and I feel stupid and frustrated for not understanding 00:06:56.470 --> 00:06:59.630 basic concepts still. I'm not only learning how to 00:06:59.630 --> 00:07:03.199 write Ruby, Rails, testing frameworks, use get, but a 00:07:03.199 --> 00:07:06.310 completely new way of thinking. 00:07:06.310 --> 00:07:08.020 So Jesse who I mentioned earlier is one of 00:07:08.020 --> 00:07:10.199 my greatest mentors has opened doors to me that 00:07:10.199 --> 00:07:14.060 I didn't even know existed. She's truly humble about 00:07:14.060 --> 00:07:16.520 all the work that she's doing and bringing diversity 00:07:16.520 --> 00:07:19.250 into the industry, but she really is making a 00:07:19.250 --> 00:07:21.610 difference. She works tirelessly on top of her job 00:07:21.610 --> 00:07:23.970 and managing her family to reach out through organizations. 00:07:23.970 --> 00:07:26.210 It's like Dev Chicks and Railsbridge. 00:07:26.210 --> 00:07:28.289 And I even hear her talking about how she 00:07:28.289 --> 00:07:30.139 wants to open a beginning to code school in 00:07:30.139 --> 00:07:33.580 her house on the weekend. Jesse and one other 00:07:33.580 --> 00:07:36.069 mentor in particular have been there for me, to 00:07:36.069 --> 00:07:38.289 pick me back up when I'm feeling frustrated and 00:07:38.289 --> 00:07:40.639 that I cannot continue, and they remind me of 00:07:40.639 --> 00:07:42.080 how far I've come in a year and how 00:07:42.080 --> 00:07:44.599 hard it truly is to understand this stuff. 00:07:44.599 --> 00:07:47.169 no matter how busy they are, they are always 00:07:47.169 --> 00:07:48.930 there to listen to me and help me when 00:07:48.930 --> 00:07:51.440 I get stuck on a problem and am floundering. 00:07:51.440 --> 00:07:53.379 So they give me the encouragement that I sometimes 00:07:53.379 --> 00:07:56.460 desperately need. 00:07:56.460 --> 00:07:59.300 So mentoring is also beneficial to my mentors. My 00:07:59.300 --> 00:08:02.440 mentors constantly tell me how mentoring ultimately makes them 00:08:02.440 --> 00:08:05.330 a better developer, because it solidifies an understanding of 00:08:05.330 --> 00:08:08.270 the content being taught. John Fully, who's a developer 00:08:08.270 --> 00:08:11.520 at Pivotal Labs told me that mentoring elevates you 00:08:11.520 --> 00:08:14.430 from thinking you know to actually knowing you know 00:08:14.430 --> 00:08:16.620 or not knowing at all. 00:08:16.620 --> 00:08:19.199 Mentoring not only provides countless and necessary benefits to 00:08:19.199 --> 00:08:22.319 the mentee, but to the mentor perspectively. So even 00:08:22.319 --> 00:08:24.930 advanced developers can learn new things by having to 00:08:24.930 --> 00:08:26.830 explain it in a way that a beginner can 00:08:26.830 --> 00:08:28.750 understand it. 00:08:28.750 --> 00:08:31.289 So I recently came for- full-circle in the Railsbridge 00:08:31.289 --> 00:08:32.919 community and was a TA for one of the 00:08:32.919 --> 00:08:37.000 workshops in Colorado, and teaching basic Ruby conference- concepts 00:08:37.000 --> 00:08:39.919 was really frightening because I kept questioning myself, and 00:08:39.919 --> 00:08:41.458 I went back, you know, and did more research 00:08:41.458 --> 00:08:44.059 and made sure that I actually understood what I 00:08:44.059 --> 00:08:45.550 was telling people. 00:08:45.550 --> 00:08:47.870 So I really did learn a lot that day. 00:08:47.870 --> 00:08:49.280 Maybe even more than when I was doing the 00:08:49.280 --> 00:08:52.650 Railsbridge workshop. 00:08:52.650 --> 00:08:54.530 So I really think that mentorship is worth your 00:08:54.530 --> 00:08:56.980 time. How many people here have been mentored by 00:08:56.980 --> 00:08:57.660 somebody? 00:08:57.660 --> 00:09:00.400 Quite a few. And did it help you in 00:09:00.400 --> 00:09:05.069 advancing your career? Yes. Cool. 00:09:05.069 --> 00:09:06.780 And how many people here have been a mentor 00:09:06.780 --> 00:09:10.280 to somebody? Wow. That's a lot of hands. That's 00:09:10.280 --> 00:09:12.549 awesome. I want to encourage everyone to be a 00:09:12.549 --> 00:09:16.220 mentor if you have time, resources, and the patience 00:09:16.220 --> 00:09:18.420 to do so. Mentoring is a really hard thing 00:09:18.420 --> 00:09:20.980 to do and it definitely isn't for everyone. It 00:09:20.980 --> 00:09:23.230 requires a lot of time and patience. 00:09:23.230 --> 00:09:25.880 I'm really inspired because I've met a lot of 00:09:25.880 --> 00:09:29.030 people here this weekend who are mentors and, or, 00:09:29.030 --> 00:09:31.309 or making the effort to become a great mentor. 00:09:31.309 --> 00:09:32.819 So thanks to all of you who I've talked 00:09:32.819 --> 00:09:34.959 to you about this and your efforts are truly 00:09:34.959 --> 00:09:36.530 making a difference. 00:09:36.530 --> 00:09:39.100 Now I want to switch gears and talk about 00:09:39.100 --> 00:09:40.980 what it means to be a great mentor. I've 00:09:40.980 --> 00:09:43.770 had so many great mentors this past year and 00:09:43.770 --> 00:09:45.010 would love to share with you some of the 00:09:45.010 --> 00:09:48.020 qualities that I thought they all shared. Ally talked 00:09:48.020 --> 00:09:49.920 about this in her lightning talk yesterday and she 00:09:49.920 --> 00:09:52.730 gave a lot of great advice as well. 00:09:52.730 --> 00:09:56.329 So if you were gifted in explaining concepts, complex 00:09:56.329 --> 00:09:59.829 concepts simply, you would be a great mentor. The 00:09:59.829 --> 00:10:01.900 greatest mentors that I have had were able to 00:10:01.900 --> 00:10:04.530 take an abstract concept and make it really concrete 00:10:04.530 --> 00:10:08.170 to me. Emily Saffo, who presented yesterday, she gave 00:10:08.170 --> 00:10:11.179 an awesome talk in Paris at a conference about 00:10:11.179 --> 00:10:13.730 concurrency in Ruby. And she gave a really simple 00:10:13.730 --> 00:10:17.339 analogy to explain threading, and it, she compared it 00:10:17.339 --> 00:10:18.799 with an orchestra, and I thought it was a 00:10:18.799 --> 00:10:21.939 really awesome metaphor, and she took this complex thing 00:10:21.939 --> 00:10:23.790 and really broke it down into something simple that 00:10:23.790 --> 00:10:25.150 I could understand. 00:10:25.150 --> 00:10:28.720 Last night, Steve Harms who presented here at RubyConf 00:10:28.720 --> 00:10:32.189 yesterday gave us a Star Wars example that was, 00:10:32.189 --> 00:10:33.650 that made it easy for us to understand the 00:10:33.650 --> 00:10:36.589 topic he was talking about in regards to object-oriented 00:10:36.589 --> 00:10:38.319 programming. 00:10:38.319 --> 00:10:40.420 It's really important to try and explain these things 00:10:40.420 --> 00:10:42.880 in a simple manner that anyone can understand, at 00:10:42.880 --> 00:10:44.799 least at first, to get the concept through. And 00:10:44.799 --> 00:10:47.850 you know some con- some concepts are complex and 00:10:47.850 --> 00:10:50.500 can't really be boiled down to something simple. 00:10:50.500 --> 00:10:52.880 But one technique that one of my mentors does 00:10:52.880 --> 00:10:54.799 with me is ask me, if I had no 00:10:54.799 --> 00:10:57.140 idea what any of this was, how would you 00:10:57.140 --> 00:10:59.350 explain to me what I was doing? It was 00:10:59.350 --> 00:11:02.640 really challenging and hard for me to do that. 00:11:02.640 --> 00:11:05.010 It is, once again, beneficial to the mentor to 00:11:05.010 --> 00:11:08.949 have to explain things in a simple way. 00:11:08.949 --> 00:11:14.470 Awareness. Awareness of both yourself and your mentee. Mentors 00:11:14.470 --> 00:11:15.920 who are unaware of the fact that they are 00:11:15.920 --> 00:11:19.949 coming off as discouraging could ruin or completely dissuade 00:11:19.949 --> 00:11:22.720 a beginners' passion for the craft. It is important 00:11:22.720 --> 00:11:25.380 to be aware of signs of frustration, language that 00:11:25.380 --> 00:11:28.079 is discouraging, and body language when mentoring an apprentice 00:11:28.079 --> 00:11:29.880 developer. 00:11:29.880 --> 00:11:32.780 Great mentors that I have had have also been 00:11:32.780 --> 00:11:35.819 very aware of my learning styles. The same mentor 00:11:35.819 --> 00:11:37.990 that would, that would ask me to explain things 00:11:37.990 --> 00:11:40.100 back to him asked me on the first day 00:11:40.100 --> 00:11:42.880 of being my mentor what my learning style was. 00:11:42.880 --> 00:11:44.689 I wasn't even aware of the best ways that 00:11:44.689 --> 00:11:46.929 I learned, but we were able to up, discover 00:11:46.929 --> 00:11:50.929 that together, and use those, and practice how I 00:11:50.929 --> 00:11:52.260 learned best. 00:11:52.260 --> 00:11:54.730 I really excelled during my apprenticeship with this mentor 00:11:54.730 --> 00:11:57.480 because we were both aware of my learning habits, 00:11:57.480 --> 00:12:01.209 my way of thinking and learning. I learned that 00:12:01.209 --> 00:12:03.290 drawing things on the white board, drawing them out 00:12:03.290 --> 00:12:06.400 was really helpful to me. And I also discovered 00:12:06.400 --> 00:12:07.819 a lot of the time I need to sle- 00:12:07.819 --> 00:12:09.549 I needed to sleep on what I had learned. 00:12:09.549 --> 00:12:11.329 Then the next day I was able to get 00:12:11.329 --> 00:12:13.329 it. 00:12:13.329 --> 00:12:15.169 Also on this note, getting to know your mentee 00:12:15.169 --> 00:12:18.010 is invaluable. Knowing what makes them tick, how they 00:12:18.010 --> 00:12:20.660 learn, how they think, and how they approach problems 00:12:20.660 --> 00:12:23.750 can make for a more productive mentorship. 00:12:23.750 --> 00:12:27.850 Patience is also very important. It's also, it's important 00:12:27.850 --> 00:12:30.559 for the mentor and the mentee. If you're an 00:12:30.559 --> 00:12:32.740 impatient person, it might not be best for you 00:12:32.740 --> 00:12:34.600 to be a mentor. When a beginner is learning 00:12:34.600 --> 00:12:37.199 to code, you may have to explain things multiple 00:12:37.199 --> 00:12:39.480 times until they get it. Things move at a 00:12:39.480 --> 00:12:41.610 slow pace, and it is important to make sure 00:12:41.610 --> 00:12:44.100 that you're being patient and understanding when working with 00:12:44.100 --> 00:12:46.020 your mentee. 00:12:46.020 --> 00:12:47.429 Patience is also a skill that I have to 00:12:47.429 --> 00:12:49.250 learn. One of the things that I struggle with 00:12:49.250 --> 00:12:50.829 is when I see an error message or there's 00:12:50.829 --> 00:12:53.809 a bug, I angrily switch from the failing test 00:12:53.809 --> 00:12:55.990 back to them without taking my time to read 00:12:55.990 --> 00:12:58.770 the error message. So writing code and mentoring are 00:12:58.770 --> 00:13:01.410 similar. Heh. I see people nodding. 00:13:01.410 --> 00:13:03.150 Writing code and mentoring are similar in that it 00:13:03.150 --> 00:13:05.140 ta- requires a lot of patience. So I've learned 00:13:05.140 --> 00:13:07.630 a lot in that aspect as well. 00:13:07.630 --> 00:13:10.370 Weekly retrospectives are also very important in a formal 00:13:10.370 --> 00:13:13.390 mentorship. Once a week, take time and sit down 00:13:13.390 --> 00:13:16.640 with your mentee. Discuss what went well, what didn't 00:13:16.640 --> 00:13:19.049 go well, and what to improve on. These meetings 00:13:19.049 --> 00:13:21.150 were invaluable to me because I was able to 00:13:21.150 --> 00:13:24.130 focus on softer skills as well, and overall skills. 00:13:24.130 --> 00:13:27.360 I became aware of my impatience habit and areas 00:13:27.360 --> 00:13:28.860 that I needed to focus on the most, so 00:13:28.860 --> 00:13:30.829 that really helped me out. 00:13:30.829 --> 00:13:34.280 Pairing. I think pairing with my mentors has been 00:13:34.280 --> 00:13:37.209 the best thing for me from a technical standpoint. 00:13:37.209 --> 00:13:40.049 So it was definitely where I learned the most. 00:13:40.049 --> 00:13:41.819 Pairing on actual client projects and even on my 00:13:41.819 --> 00:13:45.679 own breakable toy was extremely helpful. Pairing is also 00:13:45.679 --> 00:13:50.150 great because you can speak remotely with a mentor. 00:13:50.150 --> 00:13:52.799 I was able to learn so much fun, more 00:13:52.799 --> 00:13:54.990 in a pairing situation than when trying to read 00:13:54.990 --> 00:13:57.880 the Ruby pickaxe book. I was able to constantly 00:13:57.880 --> 00:14:01.069 ask questions, drive, and really dive into learning the 00:14:01.069 --> 00:14:03.169 Ruby language and Rails framework. 00:14:03.169 --> 00:14:06.299 But the most important piece of advice that I 00:14:06.299 --> 00:14:09.140 can give to mentors is to have empathy. It 00:14:09.140 --> 00:14:11.699 is extremely discouraging to be told that this is 00:14:11.699 --> 00:14:14.049 easy and you should be getting this. It's really 00:14:14.049 --> 00:14:16.429 not easy, especially for someone who has never done 00:14:16.429 --> 00:14:18.290 this before. You know, how long have you been 00:14:18.290 --> 00:14:20.959 writing code? Something that was easy, that is easy 00:14:20.959 --> 00:14:22.760 to you now, is not gonna be easy for 00:14:22.760 --> 00:14:23.760 a beginner. 00:14:23.760 --> 00:14:26.910 Also, remember that your mentee might have a completely 00:14:26.910 --> 00:14:29.650 different way of thinking. It's important to put yourself 00:14:29.650 --> 00:14:31.630 in their shoes and remember what it was like 00:14:31.630 --> 00:14:34.919 to learn how to write code. 00:14:34.919 --> 00:14:37.549 So my incredible mentors and my experience Railsbridge has 00:14:37.549 --> 00:14:40.309 not only changed my life, but changed others around 00:14:40.309 --> 00:14:42.910 me in an almost verbal effect. These are my 00:14:42.910 --> 00:14:45.140 two best friends at another Railsbridge event that we 00:14:45.140 --> 00:14:48.370 did in Denver. We were all three advertising majors 00:14:48.370 --> 00:14:49.270 at CU. 00:14:49.270 --> 00:14:52.449 Emma, the blond one, she's now doing front-end development 00:14:52.449 --> 00:14:56.290 in San Francisco, and Terra, just, got accepted into 00:14:56.290 --> 00:14:58.640 an intense Ruby on Rails program in New York 00:14:58.640 --> 00:15:01.030 City. So Terra had a really great job and 00:15:01.030 --> 00:15:04.699 decided to quit her career to pursue a career 00:15:04.699 --> 00:15:08.040 as a developer, which I think is really cool. 00:15:08.040 --> 00:15:11.100 So intense Ruby on Rails training programs like GSchool, 00:15:11.100 --> 00:15:14.579 Dev BootCamp, are other great examples of alternative education 00:15:14.579 --> 00:15:16.549 options that I unfortunately don't have a lot of 00:15:16.549 --> 00:15:18.760 time to discuss today. I get to spend a 00:15:18.760 --> 00:15:21.000 lot of time around the G Schoolers and Galvanized 00:15:21.000 --> 00:15:24.059 because we work in the same place. It's amazing 00:15:24.059 --> 00:15:25.699 to see the applications that they build in a 00:15:25.699 --> 00:15:27.130 short amount of time. 00:15:27.130 --> 00:15:29.419 We can also relate to the struggles of learning 00:15:29.419 --> 00:15:33.350 Ruby together. I've also gotten to meet a, so 00:15:33.350 --> 00:15:36.100 many wonderful developers this weekend, who have come out 00:15:36.100 --> 00:15:38.740 programs like Flat Iron School, Bit Maker and Dev 00:15:38.740 --> 00:15:40.150 Boot Camp. 00:15:40.150 --> 00:15:41.919 Talking with all of them about their experiences has 00:15:41.919 --> 00:15:45.470 made me realize how these programs can really open 00:15:45.470 --> 00:15:47.539 doors for people who never thought it was possible 00:15:47.539 --> 00:15:50.250 to become a developer. And it is truly inspiring 00:15:50.250 --> 00:15:52.319 to see how passionate they are about the community 00:15:52.319 --> 00:15:55.520 and the craft of writing code. 00:15:55.520 --> 00:15:57.130 So now that I've talked about outreach programs and 00:15:57.130 --> 00:16:00.530 mentorship I want to talk about apprentice programs. Apprentice 00:16:00.530 --> 00:16:03.130 programs are intense training that you would not receive 00:16:03.130 --> 00:16:05.770 at a university, and apprentice programs can take a 00:16:05.770 --> 00:16:09.299 passionate learner and turn them into competent, reliable software 00:16:09.299 --> 00:16:10.669 engineers. 00:16:10.669 --> 00:16:14.169 I'm really, really fortunate because ThoughtBot accepted me into 00:16:14.169 --> 00:16:17.669 their apprentice program this past year. It is one 00:16:17.669 --> 00:16:20.289 of the most challenging things that I've ever done, 00:16:20.289 --> 00:16:21.809 but the amount that I have learned during my 00:16:21.809 --> 00:16:24.860 apprenticeship has been incredible. 00:16:24.860 --> 00:16:26.000 For those of you who don't know what ThoughtBot 00:16:26.000 --> 00:16:29.179 is, it's a consulting company that builds and designs 00:16:29.179 --> 00:16:31.980 web and mobile application. And they have a program 00:16:31.980 --> 00:16:36.559 specifically for apprentices called apprentice io. ThoughtBot's really passionate 00:16:36.559 --> 00:16:38.600 about the learning space and has a learn program 00:16:38.600 --> 00:16:43.100 where workshops are frequently taught. And twenty-five percent of 00:16:43.100 --> 00:16:45.720 the employees at ThoughtBot were apprentices at one time 00:16:45.720 --> 00:16:48.120 in the company. So a quarter of the company 00:16:48.120 --> 00:16:49.939 actually came through the apprentice program. 00:16:49.939 --> 00:16:52.429 And it is proved to, to be a great 00:16:52.429 --> 00:16:57.660 way for ThoughtBot to train and maintain budding talent. 00:16:57.660 --> 00:17:00.669 So Dan the CMO describes why the program was 00:17:00.669 --> 00:17:02.610 created in this quote, and once again I'm gonna 00:17:02.610 --> 00:17:08.689 let you guys read this. 00:17:08.689 --> 00:17:15.689 Chad, the CEO, stated, that everyone in the program 00:17:16.369 --> 00:17:19.039 who has been eligible to get a job afterward 00:17:19.039 --> 00:17:22.449 has gotten a job, with ThoughtBot or another employer. 00:17:22.449 --> 00:17:27.500 That's pretty impressive. ThoughtBot's apprentice program has given me 00:17:27.500 --> 00:17:30.900 the biggest push in achieving my dream. They believe 00:17:30.900 --> 00:17:32.650 that I can do it, they support me, and 00:17:32.650 --> 00:17:34.760 even are taking the time and money that it 00:17:34.760 --> 00:17:36.360 takes to train me. 00:17:36.360 --> 00:17:39.850 ThoughtBot rewards and supports its employees for engaging in 00:17:39.850 --> 00:17:42.950 mentoring programs and for participating in programs like Railsbridge. 00:17:42.950 --> 00:17:45.760 This is something that I think all companies should 00:17:45.760 --> 00:17:47.100 be doing. 00:17:47.100 --> 00:17:48.770 So the U.S. Department of Labor did a study 00:17:48.770 --> 00:17:51.260 on apprentice programs in the U.S., and apprentice program 00:17:51.260 --> 00:17:54.640 graduates have much higher earnings than those who did 00:17:54.640 --> 00:17:57.790 not. The study also showed that the social and 00:17:57.790 --> 00:18:00.880 overall benefits to the company that maintain these programs 00:18:00.880 --> 00:18:03.430 appear to be much larger than the cost. So 00:18:03.430 --> 00:18:06.040 over the career of an apprentice, the estimated benefits 00:18:06.040 --> 00:18:08.500 to the company exceeded the initial cost by more 00:18:08.500 --> 00:18:10.920 than $49,000. 00:18:10.920 --> 00:18:13.380 So apprentice programs are not only a legitimate path 00:18:13.380 --> 00:18:15.940 to becoming a developer, but it's a bridge for 00:18:15.940 --> 00:18:18.240 people coming out of these outreach programs that I 00:18:18.240 --> 00:18:21.670 spoke about earlier. Even after doing multiple Railsbridges and 00:18:21.670 --> 00:18:24.980 working tirelessly with many mentors, I wasn't ready to 00:18:24.980 --> 00:18:28.110 become a full-time software engineer managing large web applications. 00:18:28.110 --> 00:18:30.650 I needed something like the apprentice program to really 00:18:30.650 --> 00:18:33.990 jump off the deep-end into writing code. And apprentice 00:18:33.990 --> 00:18:36.220 programs create a structured environment where I can continue 00:18:36.220 --> 00:18:38.630 to learn best practices and become a developer that 00:18:38.630 --> 00:18:42.980 produces reliable and maintainable software. 00:18:42.980 --> 00:18:45.230 So there are many benefits to companies creating a 00:18:45.230 --> 00:18:50.450 formal or mentorship, formal apprentice or mentorship program. So 00:18:50.450 --> 00:18:53.210 if companies invest in apprentice and mentorship programs, there 00:18:53.210 --> 00:18:56.480 will be more highly-trained and prepared candidates out there. 00:18:56.480 --> 00:18:59.890 These companies can help other companies find, et cetera, 00:18:59.890 --> 00:19:04.340 find highly, find high quality candidates. 00:19:04.340 --> 00:19:07.670 CSR is also really important in our society. A 00:19:07.670 --> 00:19:10.310 study showed that 94% of consumers would be more 00:19:10.310 --> 00:19:13.450 loyal to the company if they have CSR initiative. 00:19:13.450 --> 00:19:15.900 96% of people said that they would have a 00:19:15.900 --> 00:19:18.870 more positive image of the company. So CSR is 00:19:18.870 --> 00:19:21.530 clearly important and an all-around great way to give 00:19:21.530 --> 00:19:24.080 back to the community. 00:19:24.080 --> 00:19:26.240 So this is more specific to consulting companies, but 00:19:26.240 --> 00:19:28.250 a lot of times projects are lost due to 00:19:28.250 --> 00:19:30.330 a large price tag, and if companies take in 00:19:30.330 --> 00:19:32.500 an apprentices, they will be able to bill them 00:19:32.500 --> 00:19:34.890 at lower rates to projects that have a strict 00:19:34.890 --> 00:19:38.270 budget and not so much of a strict timeline. 00:19:38.270 --> 00:19:40.270 So there are also a lot of engineers that 00:19:40.270 --> 00:19:41.760 I have met that are out there who would 00:19:41.760 --> 00:19:44.060 love the opportunity to become a mentor and are 00:19:44.060 --> 00:19:47.300 not sure the right way to get involved. This 00:19:47.300 --> 00:19:50.030 would create an opportunity for interested parties to teach 00:19:50.030 --> 00:19:52.820 and mentor in a more formal environment. 00:19:52.820 --> 00:19:55.280 So, I mean, look at me. I'm up here 00:19:55.280 --> 00:19:58.090 genuinely talking about ThoughtBot and, because they took a 00:19:58.090 --> 00:19:59.940 risk on me. SO the message and good will 00:19:59.940 --> 00:20:02.540 of your company will spread throughout the students that 00:20:02.540 --> 00:20:05.870 you take risks on and train. 00:20:05.870 --> 00:20:07.410 But why is all of this important? Why is 00:20:07.410 --> 00:20:11.200 it important to have educational alternatives to training the 00:20:11.200 --> 00:20:15.170 next generation of developers? I have three reasons. 00:20:15.170 --> 00:20:20.380 Diversity, a massive lack of, of supply of engineer, 00:20:20.380 --> 00:20:23.800 and traditional education that isn't providing with the amount 00:20:23.800 --> 00:20:28.910 of people that we need. So mentorship Railsbridge programs 00:20:28.910 --> 00:20:31.550 and apprentice programs are absolutely key in getting more 00:20:31.550 --> 00:20:34.660 diversity into not only the web development world but 00:20:34.660 --> 00:20:36.490 the tech world as a whole. 00:20:36.490 --> 00:20:39.480 As you can see, NCWiT thinks it's crucial for 00:20:39.480 --> 00:20:41.800 advancing underrepresented employees. 00:20:41.800 --> 00:20:46.480 So access to the internet is a privilege. White 00:20:46.480 --> 00:20:48.970 males specifically have access at an earlier age and 00:20:48.970 --> 00:20:51.880 a much higher rate than females. And people of 00:20:51.880 --> 00:20:55.120 different ethnic backgrounds. Statistics show that boys get their 00:20:55.120 --> 00:20:58.770 first computers at fourteen, while girls at age eleven. 00:20:58.770 --> 00:21:00.980 It's even later for people of color, who tend 00:21:00.980 --> 00:21:03.100 to have a much higher adoption rate of smart 00:21:03.100 --> 00:21:06.000 phones, and I can't imagine trying to write code 00:21:06.000 --> 00:21:08.250 in a smart phone. 00:21:08.250 --> 00:21:10.490 So females make up more than half of undergrad 00:21:10.490 --> 00:21:13.910 graduates but only 18% of computer science graduates. There's 00:21:13.910 --> 00:21:17.550 a really high barrier via the traditional computer science 00:21:17.550 --> 00:21:21.770 route in university. 00:21:21.770 --> 00:21:25.440 Financial access, discrimination, lack of role models, lack of 00:21:25.440 --> 00:21:29.040 encouragement in general are creating this large gap of 00:21:29.040 --> 00:21:31.730 the lack of diversity. These are all barriers that 00:21:31.730 --> 00:21:34.100 are hard to overcome. So we want to create 00:21:34.100 --> 00:21:36.800 diversity within the industry, education has to come from 00:21:36.800 --> 00:21:38.540 elsewhere. 00:21:38.540 --> 00:21:41.670 outreach programs, mentorship and apprentice programs are all alternatives 00:21:41.670 --> 00:21:44.970 to a traditional education that lower these barriers. This 00:21:44.970 --> 00:21:47.770 is key in creating a diverse community. And I 00:21:47.770 --> 00:21:49.590 really want to emphasize that this is lowering the 00:21:49.590 --> 00:21:52.610 barriers and not the standards. 00:21:52.610 --> 00:21:55.390 Alternative education needs to be high quality in caliber 00:21:55.390 --> 00:21:58.680 in order to maintain the standard in the industry. 00:21:58.680 --> 00:22:01.270 So we all know that diversity is important. Not 00:22:01.270 --> 00:22:04.060 only does it drive economic growth, it's been scientifically 00:22:04.060 --> 00:22:07.360 proven that diversity fosters innovation and enhances abilities to 00:22:07.360 --> 00:22:10.990 solve problems. And approaching tricky programming problems from many 00:22:10.990 --> 00:22:15.120 perspectives proves to be successful in this industry. 00:22:15.120 --> 00:22:16.400 So another thing to be aware of is a 00:22:16.400 --> 00:22:18.730 lot of these outreach programs and alternative paths are 00:22:18.730 --> 00:22:21.970 in predominately white areas for people of average or 00:22:21.970 --> 00:22:25.800 even high socioeconomic statuses. So it would be awesome 00:22:25.800 --> 00:22:29.210 to see mentorship apprentice programs and outreach programs happening 00:22:29.210 --> 00:22:32.450 in rural areas that have a low socioeconomic status 00:22:32.450 --> 00:22:34.520 and ethnic diversity. 00:22:34.520 --> 00:22:38.620 So secondly, there's a massive lack of quality engineers. 00:22:38.620 --> 00:22:40.850 How many people here, or their company, is hiring 00:22:40.850 --> 00:22:44.490 on an ongoing basis? Yeah, and is it hard 00:22:44.490 --> 00:22:48.250 to find quality engineers? Yeah. 00:22:48.250 --> 00:22:52.630 So companies continually struggle with this. According to NCWIT 00:22:52.630 --> 00:22:56.250 research, if current trends continue by 2018, the information 00:22:56.250 --> 00:22:59.030 technology industry will only be able to fill half 00:22:59.030 --> 00:23:01.850 of its available jobs. There are people who never 00:23:01.850 --> 00:23:05.720 considered software engineering as a viable career option because 00:23:05.720 --> 00:23:07.780 they were discouraged from it, never thought they were 00:23:07.780 --> 00:23:10.450 smart enough, never grew up with a computer or 00:23:10.450 --> 00:23:12.680 were intimidated by people who had been programming for 00:23:12.680 --> 00:23:14.530 most of their lives. 00:23:14.530 --> 00:23:16.440 These people can discover their passion and take an 00:23:16.440 --> 00:23:19.740 alternative approach such as the ones I discussed earlier 00:23:19.740 --> 00:23:24.350 and programs like GSchool and Flat Iron School. 00:23:24.350 --> 00:23:27.270 So thirdly, the traditional science, computer science degree isn't 00:23:27.270 --> 00:23:30.550 providing the industry with the developers that it needs. 00:23:30.550 --> 00:23:32.400 Most people coming out of college are not ready 00:23:32.400 --> 00:23:35.730 for full-time engineering jobs. It takes four or more 00:23:35.730 --> 00:23:38.150 years to recieve a degree and not to mention 00:23:38.150 --> 00:23:41.670 the hefty price tag. 00:23:41.670 --> 00:23:44.790 So thanks to programs like Railsbridge, my amazing mentors, 00:23:44.790 --> 00:23:47.650 and ThoughtBot's apprentice program, I am here today to 00:23:47.650 --> 00:23:50.850 speak about the importance of alternative education paths in 00:23:50.850 --> 00:23:53.670 software development. I am almost done with my apprenticeship 00:23:53.670 --> 00:23:55.400 and I'm excited for what my next step will 00:23:55.400 --> 00:23:57.880 be on this path, and I would be lying 00:23:57.880 --> 00:24:00.120 if I told you that the path, my path 00:24:00.120 --> 00:24:02.580 to becoming a software engineer has been easy and 00:24:02.580 --> 00:24:04.000 constantly rewarding. 00:24:04.000 --> 00:24:06.380 There are times when I'm really close to quitting 00:24:06.380 --> 00:24:08.450 and there are times when I cry from feeling 00:24:08.450 --> 00:24:11.630 so frustrated and incompetent when the test suite won't 00:24:11.630 --> 00:24:14.260 turn green. But I know that I love what 00:24:14.260 --> 00:24:16.040 I'm doing and I won't quit and I know 00:24:16.040 --> 00:24:19.070 that it's because sometimes I literally get chills when 00:24:19.070 --> 00:24:21.100 I manage to get through it, refactor it, and 00:24:21.100 --> 00:24:22.510 produce some beautiful code. 00:24:22.510 --> 00:24:25.140 It literally moves me and makes me feel like 00:24:25.140 --> 00:24:28.230 I can do anything. My goal is that other 00:24:28.230 --> 00:24:30.670 people who never thought that becoming a software engineer 00:24:30.670 --> 00:24:33.670 was possible will become inspired by one of these 00:24:33.670 --> 00:24:38.190 alternative education programs or by an influential mentor and 00:24:38.190 --> 00:24:40.400 discover that they not only can be a great 00:24:40.400 --> 00:24:43.420 developer but find a passion for it. 00:24:43.420 --> 00:24:46.780 Thank you for your time today and you can 00:24:46.780 --> 00:24:48.670 contact me through email or Twitter if you have 00:24:48.670 --> 00:24:50.520 any questions. And here are some of my works' 00:24:50.520 --> 00:24:50.770 cited.