Recently my wife started going back to school with the intent of getting a computer science degree and becoming a programmer. Now when she originally went to high school she loved playing around with the pc and programming in basic but she didn’t know that you could get a job programming. So she went to college for a degree in English and ended up not being able to find a decent job in the real world. (Her guidance councillor deserves to be shot.)
After finding out about all this I was beginning to wonder if one of the reasons we have so few programmers in this country is that we just don’t push it as something you can find a job in.
So a few months ago I took a day off from work and went to speak at my son’s career day. Originally I’d wanted to to speak to my son’s grade level, 4th grade, but due to some miscommunication I ended up speaking to the 2nd graders at his school and eventually to his class. Now explaining programming to 2nd graders was probably one of the harder things that I’ve done in my life. I still don’t think I got the main point across, but at least they now know that there are people who create video games for a living. :-). One thing that helped a lot more though was a video of my son working with his Lego robotics team, which thrilled them to no end.
Anyway as a community I think we developers need to stand up and and start working with our local schools to help students understand what programming is and how it can help them out in the future.
While working on this article I ran into a podcast on .net rocks which basically covers the same idea. If you can, check it out.
Here are a few links to organizations to support if you want to promote programming to kids. Also feel free to add your own in the comments.