Maybe Not the Programmers They Deserved... by Jessica Deaton & Megan WIll

This video features Jessica Deaton and Megan WIll at DjangoCon US 2017 in Spokane, Washington, USA.

Maybe Not the Programmers They Deserved... by Jessica Deaton & Megan WIll
0:24:20
Published September 7, 2017
260 views

DjangoCon US 2017 - Maybe Not the Programmers They Deserved, but the Programmers They Needed by Jessica Deaton & Megan WIll

Is there something you would change in the world if you were a wizard?

Make vulnerability your cloak
Make determination your hat
Make code your wand

What do you care about?

We care about girls and women being enabled to choose their future
We care about increasing diversity in the trade we love
We care about arming children with the confidence that they can do anything

Why are we here?

We’re trying to use our programming skills to make that a reality. It’s a journey, one we invite you to join for whatever you feel strongly about. We were not the first, we were definitely not the best, and we won’t be the last. But sometimes, inspiring people to help is just as hard (or harder) than helping. We wanted to give this talk to show others that it CAN be done and YOU can make a difference - regardless of your skill level or experience.

Our Story

  1. The Use Case

Listening: “I’ve been wanting to teach Python for a while but we don’t have anyone.” - Girl Scout Leader

Acting: “I can do that!” - [Presenter 1] (even though she was pretty sure the ideal person was way more experienced than her)

Deliverable: The Hackathon - A Python challenge for both beginner and advanced coders. Two classes, 25 girls each, ages 10-18 years old.

  1. A Master Plan

Check out our options: We reviewed existing resources, but didn’t find anything to meet our needs (list some of the good resources we found and were inspired by)

Make a decision: “Let’s write our own!” - [Presenters] (because nothing that’s out there fits in two hours…)

Have a Cool Learning Experience: Coding the game and taking our first stabs at writing the tutorial were great learning opportunities for us!

  1. The Dream Team (AKA: Help!)

The Pair Programmers: Gaining perspective and tripling productivity, Megan and Jessica start figuring out what to teach and begin making the tutorial come to life

The Project Manager: Added for some very necessary skills - making things looking professional, doing a code freeze, checking our spelling, and making sure the presentation is consistent

The Coaching Team: With a common goal and united front, an all female team of software developers, engineers and IT managers unite to form a coaching group!

  1. Go Live

Hot Fixes:
The girls begin the tutorial and questions come rolling in. Confusion abounds. They don’t know what a Start button is! Nothing shows them their opinion matters like change, so we began live editing the tutorial! Being vulnerable, admitting imperfection, and not taking it personally evolved the tutorial in real time to fit our audience. It also gave the girls a sense of inclusion that was priceless; even though they weren’t writing the code to make the edits, their voice was heard and their suggestions were implemented in real time - a powerful way to build confidence!

Unexpected Popularity:
The girls were engaged! Among raised and waving hands and the din of voices, we kept our cool and took each issue one step at a time. Frankly, we were all a little in shock.

Better than we imagined:
We might have expected too little of ourselves, but when all was said and done - the girls felt successful, they were all engaged, and their parents were inspired to learn for themselves or keep their girls involved with code going forward!

  1. Refactoring

Simplification:
It was late and everyone was tired - make things simpler, have more milestones, include more affirmations

Organization:
Planning pre- and post- tutorial huddles to get to know each other and set expectations, figuring out how to guide/redirect parents who were doing the tutorial for their child, investigate letting the girls try pair programming

Keep Building:
We are still working to evolve our tutorial, make it more accessible, make it friendlier for our target age group, make it packaged to shared, and shopping it around to other tutorials as an expansion (we’re looking at you DjangoGirls ;) )

  1. An Ever Expanding Universe

Sharing is caring:
We did it and so can you! Expanding the number of contributors as well as the project scope will only make things better! So, we will share our code, share out tutorial, share our experiences, and share our enthusiasm with anyone who wants to make a change!

The Takeaways

You have a lot of power, in the you code help create, in the people you mentor

Don’t wait for someone else, endowed with imaginary super coding/people skills, to help create the change you want -do what needs to be done

Act.

This talk was presented at: https://2017.djangocon.us/talks/maybe-not-the-programmers-they-deserved-but-the-programmers-they-needed/

LINKS:
Follow Jessica Deaton 👇
On Twitter: https://twitter.com/__deatz__
Official homepage: https://github.com/deatonjm/

Follow DjangCon US 👇
https://twitter.com/djangocon

Follow DEFNA 👇
https://twitter.com/defnado
https://www.defna.org/

Transcript

4,656 words · auto-generated Show

Automatically transcribed, so expect mistakes in names and technical terms.

0:14

Uh

0:15

Speaker 1: okay. Megan, is your mic on? Oh please God, don't let me have to do this alone.

0:23

Speaker 2: It says it's on.

0:25

Speaker 1: Perfect, cool.

0:26

Speaker 2: All right. Hi everybody and welcome today to the presentation. Uh maybe not the programmers they deserved, but the programmers they needed. Um let's get straight into it.

0:35

Speaker 1: Maybe not. Maybe there won't be a presentation today.

0:38

Speaker 2: All right So it relates to what we're talking about. So um my name is Meg Inwell. I'm a senior software engineer at the University of Texas.

0:50

Speaker 1: I'm Jessica Deaton. I'm a senior Software developer at the University of Texas at Austin as well.

0:55

Speaker 2: Cool.

0:56

Speaker 1: We're the co-creators of Learning Python on Wars, which is a text-based adventure tutorial game we wrote for the girls. Scouts of Austin.

1:04

Speaker 2: Right, so maybe you're here today because you're like, I'd like to do things in the world, maybe make it better. Um, but I I don't have enough experience.

1:14

Speaker 1: Uh or maybe I'm just not an expert or a rock star, code ninja.

1:19

Speaker 2: Or maybe I'm not a great teacher.

1:21

Speaker 1: Uh maybe I just don't know how.

1:24

Speaker 2: Well, um we're kind of here today. because we'd like to see more people from all different representations in development. And we think part of that starts with people getting exposed to the younger age. So we got involved with teaching Python.

1:42

Speaker 1: Yeah, so uh first we wanted to start with a little metaphor and uh small disclaimer here. Uh I am I'm not a Batman aficionado. I do enjoy it, but I don't know a ton about him. Sorry about that. Also, for copyright infringement reasons, we've chosen than to use our own terrible bat. So, you know, bear with us, uh, first-time speakers. We didn't know what kind of trouble we might get into. Uh so uh yeah, so back to the metaphor. There's um approximately 10 million people living in Gotham City. Uh unfortunately there's only one Batman. So given the high number of crimes in Gotham City, higher than average, I would say, uh the amount of transit time between places in Gotham, uh supervillains, that's a whole nother issue that takes up a lot.

2:29

Speaker 1: lot of time. Uh and just the fact that Batman is not always Batman. He spends a lot of time being party boy Bruce Wayne. Uh so given all of those things, if I happen to be in distress, I'm wondering, Megan, how much of a chance do I have a uh Batman actually rescuing me.

2:44

Speaker 2: Yeah Jessica, I'm afraid the chances just aren't great.

2:47

Speaker 1: Not so great, yeah. Uh that's what I was afraid of. And uh we're not very great with math, so if any of you guys want to actually figure out the statistics and really scare me to death, please do so after this and let me know. Um but basically uh we need you to help. That's what it all comes down to. We can't just sit around and wait for Batman to show up. We need people like Commissioner Gordon and the police department we need firemen we need uh nurses doctors everyday people to step up and help their community and right now there's a lot of people that think they need to sit around around and wait for someone with more experience, more talent. And that's just not true. And we wanted to hopefully share with you guys today that you can also be a big help without being Batman.

3:30

Speaker 2: Yeah, so we're offering to let you learn from our experience if the whole bit with the clicker wasn't enough. So for me this all started. I was helping coordinate Django Girls tutorial in Austin, Texas, where we live. And I was talking to a local STEM leader for the Girl Scouts. And she mentioned that she'd been wanting to teach Python for a while. but she didn't have anybody to do it. And so I thought, oh, I can do that. And I was pretty sure that the ideal person was a lot cooler than me. But I was like, well something's better than nothing, right? So they had a hackathon coming up. They kind of wanted to do a basic and advanced class. There were going to be maybe like 25 people max in each class. They were going to be ages 10 to 18. And it was going to be

4:17

Speaker 1: Almost a deal breaker. That Friday night thing. Ooh, I don't know.

4:20

Speaker 2: Yeah, it was fun.

4:22

Speaker 1: Yeah, so we're gonna give you some hints, but do keep in mind that this is based on our personal experience. We were very new to doing something like this, so your mileage may vary, but we think that there's some pretty good takeaways here. for you so go ahead Megan okay hint number one

4:37

Speaker 2: so our first hint is to do some research so before I got into this whole thing that I looked at you No tutorials that already existed, tried to figure out what would fit in two hours and what could cover both basic and more advanced Python. And I couldn't find anything that would fit quite Right, so I decided to make my own uh Python text adventure game. If you're not familiar with the Hitchhiker's Guide to the Galaxy text adventure game, you should check it out. It's sweet. Um so I thought If I was a Girl Scout, I would think that was fun. But I did a lot of research. I decided to level up because I had a moment where I was like, I'm not cool enough. That's the moment where you may have your own montage And there's cool music and you level up. So do a lot of reading, figure out what's already there, use it, talk to other people, don't create in a vacuum.

5:27

Speaker 2: If I had created this in a vacuum, it would have gone terribly because I created Tex Adventure game. It was fun to play. I was like, this is it. It's awesome. I took it to Jessica. I was like, what do you think, Jessica? And she was like Like um it's a fun game. But do you really think you should cover class-based inheritance in like a basic Python class? Yeah.

5:49

Speaker 1: For ten year olds is So uh hint two is to make a plan. So after you've done a lot of research, decided um where you think you're experience level kind of fits in and what uh how big of a risk you're willing to take uh with making the leap into helping your community. It's a good idea for you to decide who it is that you want to help. That's the first thing. We'll have some good suggestions for that for you guys later. Next you want to figure out how you want to help. And there's some things you might want to consider. Namely cost. You can do things for free. You can also go out all and find sponsors and try to do fancier things.

6:37

Speaker 1: You also kind of want to figure out your role by de facto Megan became the leader because it was his idea or her idea. She said yes. We all kind of got roofed in, but she was our leader, so and then also venue. Getting a venue can be challenging. There There are definitely people in the community that have already been working with mentorship and doing workshops, and I would reach out to them to try to get ideas about venue. But keep in mind too that it should be non-distracting and fit within your budget. You also want to think about supplies that you might need to buy or the medium you want to work in. So if you choose to do something with Raspberry Pis, you'll need to probably buy Some Raspberry Pis. If everyone's gonna be working on tablets or laptops, that's something else you need to figure out ahead of time and make sure that you've planned for. Power outlets, that was a direct

7:24

Speaker 1: um, that was a direct hint from The uh Barbara and Katie talk that they gave about the young coder, so stole that. Um and we have some more suggestions coming later, but uh basically figure out how you want to build or if you want to help someone that's already started or if you want to just use something that's already out there. It's a big decision to make and doing your research will help You make that decision. So our plan was to help the Girl Scouts. They came to us, so it was super easy. We didn't really have to make any big decisions there. We decided to build because it was difficult to do anything in two hours and nothing really existed. existed that would meet that timeline for us. We also didn't want to spend any extra time having them set up email accounts to get into things that already existed because it was just going to eat into the two hours that we did have.

8:10

Speaker 1: And we thought it would be a good learning experience for the two of us. And it totally was. So the other thing is be perfectly comfortable with being in Imperfect. This is so important because the first time around you're definitely not going to get it right, much like this talk right now. There are plenty of opportunities to be imperfect, but it doesn't mean that it's not helpful. So keep that in mind.

8:35

Speaker 2: So three, ask for help. Batman isn't a one-man show. If you think that, you're wrong. He has Alfred, he has Bat Boy, Catwoman helps out, and depending upon what universe, right, Gotham or whatever, there are a lot of other people that help Batman. And secondly, like a lot of other people would probably like to help, you know? They'd like to help make the world a better place. And if you have an idea for it, let them in on it, you know? Share the glory. Um so I had a wonderful group of people. Jessica obviously came and helped make the tutorial not horrible and scary. And then we had Caroline Taylor, Rebecca Post, Maggie Pfeiffer, Monique. Murphy and Riddy Mankad who all came and helped at the actual hackathon. And they were maybe more important than the actual tutorial itself

9:24

Speaker 2: because they were real women who work in tech, who are able to be there for the girls scouts and show them what it was like to be a real person who does that and give them some interaction. Um and it's also harder to fail when there are more people that help you

9:38

Speaker 1: share the blame. I'm just kidding. Totally kidding, totally kidding. Uh okay, so uh another important thing is to figure out what it is that your audience wants to get out of whatever help you decide to get. give. So what interests them? What goals do they have? These are important things to figure out, you know, and do a little more research about or try to tailor the fit for whatever it is you're trying to accomplish to the actual goals of the people that you're trying to help. Also you want to consider experience levels of your attendees. Some people will be at a much higher level, some people will be complete novice and you need to be able to kind of adjust accordingly. Really, if you think that you're going to have people with different needs and different experience levels, you may consider doing completely different different solutions for those people.

10:25

Speaker 1: We we tried. We were told we would have two different classes, one of complete beginners, one with a little more experience. And it turned it out to be more of a giant blended class that slowly trickled in as they felt they were ready, which made it a little difficult to meet their needs. So in the future we may try to segregate that a little bit more. And also you want to keep in mind that no one is going to master concepts. They're going to master concept concepts at their own time and they're all gonna do it differently. So uh don't make assumptions. No one's gonna master everything. They probably won't master anything. They will maybe gain a knowledge of something to give them the concept confidence to move forward. But no one is going to sit down in two hours or eight hours and know all of Python or know all of Django

11:11

Speaker 1: or know all of web development. It's just not going to happen. still don't and I've been in the game for four years. And also keep in mind that not everybody enjoys coding. I definitely have days where I don't enjoy coding But for the most part, I really like it. Um, and you may have people come and say they are excited about coding and get there and decide this isn't for them, and that's totally Totally okay. Um we had girls show up uh that were super engaged. We also had girls show up that were deciding pizza and dancing in the aisles was much more their speed. And they got up and had a great time and it was great dancing, so we were fine with that too.

11:47

Speaker 2: It's awesome. So expect the unexpected. It's like the second law of therodoma. thermodynamics so it really shouldn't be unexpected. It should just be you know part of life that things don't always go exactly as you plan. Don't panic. Um it can actually be kind of fun, you know? have like a new challenge and you can just go for it. Um so as Jessica mentioned, sort of like you know, um two groups of twenty-five was not the case um at all. Uh we had like seven girls come at first. and it slowly turned into like 50. It was kind of crazy. And it was kind of awesome because it meant that many people wanted to learn Python and be introduced to it. And it was a good thing that we kind of had made the two tools So that it could scale up easily based on how much you already knew.

12:34

Speaker 2: So that way we had sort of a plan in place for you know what if somebody already knows about, you know, variable and data types, but maybe they don't know how to do loops. They could just skip forward to that. Another thing was that it was amazing. We had a lot of parents come that were really excited about coding. and learning to code themselves, which was awesome. But also sometimes it got in the way of the children themselves getting to think about the problems. And as we all know as developers, maybe more important than the code we write is how we think about the problem and design it. So something we ran into and weren't quite sure how to deal with was giving the children their space to think about the problem. And then lastly , they didn't really know what a start or a save button was, and that was really frightening.

13:21

Speaker 2: We were like, all of a sudden we're like, we're so old, we didn't realize We were that old already.

13:27

Speaker 1: It's a super bummer. So uh that kind of leads right into our next hint, which is just to be vulnerable. Um and this This is so super important. But we want to share this information with people. And so we're putting ourselves out there. Same thing with this tutorial. We had never written a tutorial before, we had never worked with this age group before. And being vulnerable meant that we were willing to expose the fact that we weren't super expert. This to them. And it ended up working out super well. Being human is super inspiring, and it's okay to be human, and it's okay to make mistakes. And so for us, you know, taking Feedback was also a huge part of being vulnerable.

14:14

Speaker 1: It means that people are going to be critiquing your work, stuff that you've put your heart and soul into and a lot of time into. And you think, oh, I've got to this level it's super great and then someone's like, oh not so much. And that's okay. Like that's how you get better. So being able to take that feedback graciously, uh regardless if it's a critic or a coworker, a friend, a colleague, or a 10-year-old girl. So our real human moment during this, remember those start buttons and save buttons? That was pretty much the beginning of the tutorial. So one Once they didn't know what those things were, we were like, oh no. So we decided to do live editing on the tutorial as it was taking place. Your mileage might vary with that, and I don't necessarily recommend it.

14:59

Speaker 1: But it actually turned out to be a good experience for us. As the girls started making suggestions. And asking questions, we got right in there and started implementing that stuff as they were rolling in. And I think it ended up being really inspiring for the girls that were working in the tutorial because they became part of making this thing. They could see that their stuff was being implemented at the same time that they were asking it. So uh it also let them know that they were kind of de facto coding. Like even though they weren't writing the code, they were actively manipulating code base uh with with very beginner skills and that was super inspiring to them and uh inspiring to us and boosting their confidence in that way was was a really awesome thing. So being vulnerable Very hard, very worthwhile.

15:47

Speaker 2: So the next hint is to go ahead and set improvements. So we finished the hackathon and we're like they 're Enjoyed it, it was successful, they went away, and I think we definitely had girls who were like, how do I learn more? So from our perspective, it was, you know, we got done what we needed to get done. Uh but you know, we went home, we crashed on my porch and all of us and we started talking about the fact that we'd like to do it again and we'd like to do it even better. Um so that is to say, you know, if If you're not feeling like you're where you should be, make it like your code, a continuous refactoring cycle. And the refactoring cycle starts with figuring out what's wrong. So you know, uh try and make it specific to you and your project. For us we needed to make it more accessible.

16:33

Speaker 2: It was even as simplified as we had made it, it could have been simpler. It was really late at night. It was like, you know, it was ten o'clock at night and there were ten year olds and there was pizza and dancing. And it you know, it could get simpler. So, um but they did the command line, which is also really cool. I wish I could say I did the command line at 10. But um yeah, and then redirecting parents, um maybe experimenting more with pair programming. The younger ones did this on their own anyways and we thought it was great. Um another thing is we realize that, you know, uh we at the University of Texas have like a little perspective on the world, but you all have all different perspectives. So if you are looking for something to do you could help us make the tutorial better. Anyway , yep.

17:22

Speaker 1: Okay, so uh hint eight is to react refactor. This is a part of natural coding. It would obviously be a part of whatever whatever it is that you decide to build, make, or implement for your community. So we decided that we need to practice more. Everybody should practice more. We also know that you should always be looking to simplify. That's the same as coding. Keep it simple, keep making it simple. And again, feedback, get as much feedback as you can and implement it as often as you can. Our takeaways were basically more milestones and more affirmations. I think this is is a good lesson at any level. Keeping people engaged means letting them have lots of small wins and not just one big win because you don't know if they will have time to get to the big payoff. So

18:07

Speaker 1: simple's good, simpler is better. Simplest is always best. And even when you think you have it at the most simple level, there is always room for for improvement in that arena. And lastly, just set their expectations. What should they accomplish? What should they expect out of what you're trying to do? We should have set better expectations in a lot of ways, but we mainly should have have probably started by introducing ourselves. We didn't do that. So we put a slide right at the beginning of this talk to make sure that we uh introduced ourselves this time around.

18:39

Speaker 2: Yep. So hit number nine, uh go ahead and jump in for it. And I would say that like this is something that I'm good at. Say yes, say it responsibly. Um but maybe like, you know, you're working on a project at work and you're not, you know, they're like, hey, I think you can do this thing, you know, they probably have a good reason to trust you for it. Trust yourself. Trust that you can, you know, level yourself up to get where you need to be. for that project. Start small. We didn't say we're going to teach every kid in Austin how to program. We just had a group of people who needed our help and we made ourselves available to them to them. And then people generally want you to succeed. I mean, you know, yeah, basic comedy is based on unexpected failure and, you know, they're a house of cards and everybody's trying to hurt each other.

19:24

Speaker 2: But that's not real life. Most people that you work with want you to succeed at your project. They want that piece of programming to get finished on time. So, you know, uh have faith in yourself. Um and then the other thing is is that you know um there is no failure. I mean there is failure, but um there is. It's a fact of life. But beyond that, uh at least for us in our situation, there are good moments where it's okay to fail. Um for them, you know, there's this idea in movies. that there's gonna be this hacker and there's like five seconds and the you know and the rocket's gonna come crashing down and so you have the hacker and he's like got five seconds to like get into the mainframe and make it work and have you ever I've never noticed that they never hit like a null Java point

20:11

Speaker 2: exception or anything. It always works. But like I spent most of my day debugging, and I bet a lot of you spend a lot of your days dealing with code bugs and I think it was helpful to the girls to realize that like debugging's part of it and there's no shame or nothing wrong with that as long as it's controlled and well thought out

20:32

Speaker 1: Uh so to kind of start coming back full circle, we did mention earlier uh that there were some ways that you could help. And maybe if you don't know who it is you want to help. This is a small non-exhaustive list. It's just all we could fit on the slide that might still be readable to the people in the back. So there are a lot of other people. It's just important that you find something you're passionate about. Or curious about, and then go out there and ask them and talk to them about see what they need, see how you can help, and see if it aligns with where you feel like your expertise is or where you want to go so that you kind of force yourself to level up. And we'll put our slides online later so you can read these if you didn't get a chance.

21:12

Speaker 2: So our last hint is that not all helping or you know getting involved means coding. In fact, I would say that probably more of helping involves not coding. Might have to fight each other for the coding options. But for us, uh there's somebody called Caroline and And she was really helpful for us in thinking about all those things that surround getting this tutorial ready that we wouldn't necessarily have thought of, like code freezes and you know, um spelling. Well, just

21:40

Speaker 1: spelling.

21:41

Speaker 2: I know, right? But the point is is there are a lot of ways to get involved that don't involve writing code. You have open source projects and they need people to, you know help figure out how we're gonna design things, documentation, um, you know, uh there's going to a soup kitchen and actually being the person that's going to help feed people. So regardless of like where you live in the coding lifecycle or if you live in it at all, I would just encourage you to stop waiting for somebody else to be the person.

22:14

Speaker 1: Yeah, so once more with feeling, uh, and to bring it all the way all the way around. Uh so we definitely weren't the programmers these We would love if the people who wrote Django Girls could come down and teach this class for them, but things like that just aren't realistic and they can't happen everybody and there's much more of a need than there are people to fill the need. So even if you don't feel like you're an expert, you know something. As long as you are willing to put it out there, you can help somebody. So we ended up being the programmers these girls needed and you guys are also really needed. So we hope that we've inspired you to get out there regardless of whether or not you think you might be ready or the right person for the job. And And help bring people into this community.

22:57

Speaker 2: Yep. So I know you were wondering this the whole time, but we're not androids, despite the complete lack of uh mistakes. So once again here's our contact information. We're real people. Thank you for coming.

23:17

Speaker 3: I have a quick question. I have a 10-year-old girl in my life and her mother has asked me a couple of times to teach her coding and get her interested. And I've been able to get her interested in like some like CSS. She likes to make things Pretty, but you're talking about a text adventure game where it's it's going to be a little bit less visual. So do you have any advice on how to um up the enthusiasm for things that um you know don't involve sparkles? How about

23:42

Speaker 2: Yeah, um so we found it helped that they got to play the by context adventure game first. Um and then the other thing is that um we allowed them to change like the story like we allowed them to change components of the story so they were like actively creating part of what that game meant. So there was a lot of the logic there, but like you were landing a rover on Mars and then you go out and do different little missions so you could have like the aliens say Different things and yeah.

Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.

More videos from DjangoCon US