For the past several months, I have been on the road as part of the Rubrik Build road show to deliver hands-on experience around version control, RESTful and GraphQL APIs, programming concepts / languages, and automation. It’s entirely open source and has a set of hands-on labs to accompany each of the educational modules. The goal is to expose individuals to new ideas, technologies, and workflows so that they can see what’s possible and (hopefully) start iterating on their own environments using the new skills they have learned.
During these travels, one of my colleagues brought my attention to a program called Tech Girls are Superheroes. It focuses on STEM (Science, Technology, Engineering, and Math) for girls age 7-17 in Australia and New Zealand. Their vision is to “engage 10,000 girls directly in STEM Entrepreneurship by 2020.”
My team and I definitely wanted to support this vision. We worked with our colleagues to set up a workshop for a group of around 30 girls in the program during our time in Sydney, Australia. The workshop took place on a Saturday (15th June) at the University of Technology Sydney (UTS).
Our idea was to teach the girls about ChatBots and how to build them, including a workshop hosted in AWS where we let them use the Rubrik Technical Marketing lab to generate a version of Roxie, our digital persona, using AWS Lex and Lambda. You can see the open source code for this project here.
In this post, I’ll cover some of the challenges we faced, takeaways from the event, and my thoughts on the experience.
Tech Girls are Amazing
From the moment I saw these young students coming in I was stunned. Every girl came in with a dope looking laptop that had been customized with colors, stickers, keyboard overlays, custom cursors, and more. It was obvious at just a cursory glance that they were into their tech and were expressing their unique personalities through their gear.
Each student found a place at one of the six tables we had set up, introduced themselves to other girls at the tables, and quickly got squared away. We had wrote URLs for the lab instructions and AWS console on the white board; they were already logged in and poking around before any instructions were given.
Introductions to the class were made, my colleagues introduced themselves, and we began to talk about the idea behind a ChatBot. “Has anyone ever worked with a ChatBot before?” we asked – a healthy amount of students raised their hand. “We did that last year” said one group, while others talked about projects they were considering and wanted input on what programming language I liked the most. Apparently one student was an award winner of some sort and nationally ranked.
I have delivered presentations in front of thousands. And yet, this group had me more nervous than I can remember. Such talent!
With the opening introductions and such out of the way, we began the process of walking through the creation of AWS Lambda functions and feeding them into AWS Lex intents. This is when things went a little sideways.
It’s Not Failure Unless You Quit
I have zero experience with teaching children anything, so I figured something would go awry during the event. Plus, anything that involves a live system with code tends to have hiccups regardless of the audience. In this case, we hit a few snags:
- Multiple students triggering an AWS Lex build at the same time caused some really weird behaviors and terminated in an error.
- Because the walk-through screenshots showed only a single intent attached to the bot, students would clear the other intents that other teams were attaching to the bot. This required re-attaching those intents, which wasn’t possible during the terminating errors.
Woops! These were some fascinating conflicts to encounter and taught me a lot about how to deliver a ChatBot course to a large group of students.
Rather than throw up our hands in defeat, we pivoted to having everyone stop their work and create an intent in real-time as a class.
Students were asked to come up with a question that Roxie should answer and then we polled everyone to see what the answer should be! This proved to be really fun and engaging for the girls.
- What is the color of the sky? Apparently it’s sometimes white and sometimes neon green.
- What is your favorite place? The answer is, of course, Asgard!
- Who is the best soccer player? I will admit to having zero idea on this one (I don’t follow sports). However, it generated the most controversy and buzz in the room – the students picked Messi.
We now had a new working bot that could answer fun questions for the room. With each question, a student volunteered to come up to the front of the class and ask their question into the microphone so that Roxie would answer over the speaker system. I was blown away – these are some very brave girls! I never had the guts to do that when I was that young.
One of the girls at the workshop wasn’t content with the pivot. During an interview with a university (“uni” in local slang) student who is nearly ready to graduate with a degree centered around gaming / AR / VR design, she plugged back into AWS and go to troubleshooting the original bot.
Working with my colleague, she discovered a few things:
- Some students had used punctuation in their intents, such as ending a question with a “?”, which causes the intent to fail.
- There were a number of duplicated intents and functions that contained errors or malformed code. This probably stemmed from copying code that include web page elements instead of the raw code, which is something my team had not considered.
The two of them put their heads together and solved the problem. I was so impressed with the troubleshooting skills – a young mind unraveling the problem and discovering errors and fragments, the experienced mind showing how to connect the dots to the correct places that would result in fixing those same errors.
This is when I realized that I had it all wrong. Anyone can build a ChatBot given the proper instructions. But it takes real skill to tackle bumps in the road.
And that’s the real lesson, isn’t it? It’s not about delivering a working ChatBot and completing the tasks. It’s about learning a new technology and dealing with failures and setbacks, troubleshooting to find a new solution, and then trying new things until you get it right. Giving up would be the failure.
Finding My Place
As we wrapped up the day, the team wanted to assemble for group photos. At first, I stuck to the side of the room to give the girls room for a photo. And then I saw that the program manager and my colleagues were waving for me to join in the photo. I was kind of shocked and felt like I should not be in the photos.
I’m a white guy in tech. I don’t belong in a photo of these amazing tech girls and their amazing mentors. I felt I would ruin the photos.
They were insistent that I join, so I did. And then photo after photo was taken. Some with all of us. Some were requested by parents (Chris, get in the photo, join us!). I went with it. But I still felt really out of place. Why would they want me in these photos?
I was feeling pretty emotional about it.
Later, my colleague Rebecca came over and we had a chat. I expressed my concern over being in the photos. And you know what she said?
You should absolutely be in these photos. These girls need to see that there are men out there that support them and encourage them to learn about tech. You are doing the right thing.
I will admit that my eyes malfunctioned at that point and I had to find a tissue.
Thank You, Next
I am so lucky to have met these extremely talented young minds and spend a Saturday together. Thank you so much to the Tech Girls are Superheroes program for letting me spend a day with your students. I am a better person for having participated and am hopeful for the future of tech.