You know how I keep banging on about attracting different types of people into programming? You know how we say we need to get them young?
A little while back I decided to put my money where my mouth was, so I signed up to be a STEM Ambassador. STEMNET is an organisation that aims to inspire children to go into Science, Technology, Engineering and Maths careers, and it does this by creating a network of mentors (people like you and me) and schools. So schools can publicise the sorts of events they're running, and find mentors in an appropriate field for this event.
I was a STEM Ambassador years ago, when I worked at Ford STEMNET came there looking for people like the graduates to come and talk to kids - STEMNET likes to have a large proportion of their ambassadors close(ish) to the age of the kids, so they grab graduates working in large organisations and apprentices. Those just starting out in their careers often think they don't have a lot to offer as mentors, but they're wrong - making that transition from education to work is a worrying thing for kids, so speaking to people who have recently done this is dead useful.
I cheated when I was an ambassador the first time - I volunteered at my old school, where my parents were also teachers, and helped teach ICT to the boys in year 9. It was eye-opening for me - ICT is not programming. Tech-savvy kids were bored and the other kids didn't really know why they needed to learn Powerpoint/Word/Excel. Personally I thought the Powerpoint lessons were useful - I was working in a large organisation where we were expected to give internal presentations, and had never been taught how to use a presentation tool, despite having various NVQs in IT that taught me all I would ever need to know about Word and Excel (these were very useful qualifications and that knowledge was relevant for many years - and no, this is not sarcasm). But teaching kids Powerpoint when they're 13 is not useful. By the time they get to use it their knowledge is rusty and out of date.
We were taught BASIC programming in my primary school. And it was basic -
20 GOTO 10 stuff. It wasn't that hard. I mean, it wasn't for everyone, but it was fairly easy to get going, and you got the point of it - you told the computer what to do, and it did it. I think that's what has always appealed to me about programming (insert joke here about programmers preferring computers to people because they do what they're told - if you're not a programmer, then you really don't know how much the computer can rebel against you ever damn step of the way, like a child. A very stupid child). I was really struck by Jason Gorman's idea that learning programming was quite a lot like learning music, and he proposed a grading system for programmers similar to that of music. I can see the similarities between music and programming, certainly in my background - in primary school we were given introductory lessons in both music and programming as a whole class, and those who showed an interest or aptitude for either subject took up lessons at lunchtimes or evenings. With music, that's fairly straightforward, many schools have access to at least one music teacher for the usual instruments. For programming, this is much more difficult. It's usually a keen teacher who's self taught leading this class. Which is great, but many schools do not have this keen teacher. And this keen teacher, should he or she exist, is looking for someone to learn off as well, just like the rest of us.
We are the people the schools are looking for. We have the experience - years of it. We have the context for that awkward question "but when am I ever going to use this stuff?". We can show them why it's fun.
But what's in it for us? Well, it looks great on your CV, of course, and you'll get to network and meet with other professionals, including those in different but overlapping fields. Kids also have really interesting approaches to problems. It has been known for groups of children to provide novel answers to problems that have stumped professionals. And doing something like this is really great for your confidence - if you can speak about what you do in front of a group of children, all staring at you, then speaking in meetings or conferences becomes infinitely easier. I honestly believe that all the times I spent in a classroom helping out one or other of my parents is the reason I'm more relaxed speaking at conferences than I ever thought I would be.
Sadly, I let my Ambassador status lapse when I got a "real" job in London, it became so much more difficult to create the time to go into a school, since clearly it needs to be during work hours. But nearly ten years later, after talk of Devoxx4Kids and a bunch of other initiatives to get kids coding, I decided I needed at least to get my CRB (now DBS) checks done so I could work with children if the opportunity came up. If you sign up as an ambassador, STEMNET will sort this out for you for free, which is one of the main reasons I chose to sign up with them again.
Another great thing is the induction - they're not going to let you loose with the kids without providing a bit of help and guidance. It's only a couple of hours out of your day, and, if nothing else, gives you an opportunity to meet interesting people in other STEM jobs. On my induction there were surprisingly few IT people (maybe 3-4). There were various apprentices, structural engineers, dentists, ex-teachers, PhD students and... oh I've totally forgotten what everyone did, but it was interesting and sciencey. And about half of the inductees were women, which enormously surprised me. I couldn't help but wonder if programming is lagging well behind the other STEM jobs in terms of women doing the role, but I don't think you can draw a conclusion based on a group of people who either chose to be mentors or were pushed gently (or not so gently) in that direction.
The induction covers stuff that I've already talked about here - like why you should do this and what teachers, students and ambassadors get out of it - and some basic dos and don'ts for working with kids. Nothing too scary, and even though I've done this before I found it useful and made me more keen to be involved. The minimal commitment is one event a year, and this can even be something you've arranged yourself (like going into your own kids' school). And although I've signed up for the London area, it's not necessarily geographically constrained - one of the ideas I liked the most is taking kids for a Skype tour around your office, showing where you work, how you work, etc. I think that will help blow away some of the preconceptions around programmers anti-socially sitting in their own rooms hacking out lines of code, for example.
You'll notice the rather lovely drawings littering this post. The first exercise we did in the induction was to draw a stereotypical scientist, technologist, engineer, and mathematician. The point of being an ambassador is to help combat these stereotypes, giving kids real role models to look to, people who can help them see what's out there for them.
These kids don't necessarily want to be Bill Gates, Steve Jobs or Mark Zuckerberg.
Some of them want to be just like you.