You don’t have to be an expert to teach: my Django Girls adventure

On a whim, mostly due to peer pressure, I signed up to coach Django Girls. A friend of mine was organizing the event and roped me into it, despite my mild protests. I had no idea what Django Girls was, but quickly learned (it is a community that runs programming workshops to empower women by helping them create their first web application).
“But I don’t know Django! Or Python!”
“No problem,” she says, “you have two months to learn it.”
I agreed. Two months is plenty of time, right?
Next thing I knew it was a Thursday in August, two days before I was supposed to help coach people in something I had yet to learn. Oops.
Luckily, the Django Girls tutorial is made for beginners (like me!)
One of the first chapters is about the basics of the internet. I almost skipped it, because come on, I’m a web developer, I know how that works. Don’t skip it. The internet explanation is amazing. I actually understand how it works now, after spending the last 10 years only pretending I did.
Then it was time to learn Python. Coming from a C#/ JavaScript background, I found it pretty simple. At least, what the tutorial goes over is simple. I’ve heard Python can do some really cool stuff, like making a robot brain, but we didn’t go down those tunnels (Note to self: find these tunnels for the future). If you have done any form of programming before, your chances of understanding this part of the tutorial are good.
My only issue was my desire to end all statements with a semicolon. That C# training is strong. (I guess that wouldn’t actually break Python, but as I was trying to follow the tutorial to the letter, I kept having to delete those unnecessary semicolons). Relying on whitespace instead was a bit of a brain shift. It’s probably easier for other people, I’m just stubborn.
Now that I learned Python, it was Django time! I didn’t even read the Django page of the tutorial the first time. Everything worked fine. So as long as you stick to the instructions, it’ll be great! Or, you know, read it, so when your team asks you to explain Django you don’t have to awkwardly stare at them.
(If you are like I was, and have no clue what Django is, it is a web framework written in Python. It makes web development a lot easier and faster by making the basic components for you automatically like logins and forms, etc. This is a great option for Django Girls so the new programmers don’t have to worry about all that setup and can jump straight into customizing their website instead.)
From here, following the tutorial was relatively straight-forward. I was so excited to reach the end. Look at me: I just learned Python and Django!
Bright and early Saturday morning, I started stepping through the tutorial with my team. You know that saying that goes something like “Teaching is the best way to learn”? True story. My rough understanding of the tutorial became clearer every time I helped someone solve a problem.
Part of the Django Girls process is to teach your team how to solve errors themselves, instead of just telling them how to fix it. We were “coaches” not “teachers”. This is awesome, since I don’t know the answers!
I think I spent less time teaching Django and more time teaching how to Google (as all developers probably know, knowing how to use Google to find your answers is essential). Knowing how to read error messages is just as necessary.
For someone new to Django/Python/programming in general, error messages can be overwhelming. You run your script, expecting it to work and give you something like “Hello world” as a result. Instead it spits out 50 lines of angry-looking text into the console.
To a newbie, this looks like “omg, I broke everything!” Digging through the error message to find the key problem is a skill that can only be learned through practice. Luckily, the tutorial forces you into plenty of errors to learn from.
In the end, my whole team deployed a functioning blog and most made it all the way to the end of the tutorial. Most importantly, everyone seemed to have fun!
Woohoo! I just coached a team at Django Girls and we were all successful! Not bad for someone who had just learned Django two days before.
Moral of the story: you don’t have to be a Django or Python expert to coach Django Girls. All you need is a little bit of time to practice and a whole lot of helpful attitude. Oh, and mad Google skills.

