I'm a geek. I'm also a dad to 4 wonderful, geeky boys. I like to think that I'm raising my boys to be complete geeks, the kind that randomly quote Star Wars and Bladerunner and dream in code. One might think this would be easy, given how much technology is surrounding us, constantly buzzing and beeping and reminding us to Tweet. But I think the real thing that is needed is exposure to true engineering ideas and principles. How do you get a 10 year old to think the way a programmer would? How do you unleash in them the types of problem-solving skills needed to be a passionate engineer?
Over the past three and a half years at ReadyTalk, I've been involved in more than 250 interviews, and one thing that has been very interesting to learn throughout all of these interviews is what got people interested in pursuing a career in an engineering discipline. A common thread has been the rise of computer programming courses at the high school level (which was never really offered in my high school...I feel like I got robbed on that one). So I got to thinking, how do I encourage my boys to think about software engineering without feeling like it's being forced on them? Here's a few things I found and am encouraging in my home:
LEGO Mindstorms - This was an obvious one. LEGO's are a kids best friend, and I am not ashamed to admit that I intend to purchase every LoTR LEGO set for myself. Combine that with programming and you've got an instant recipe for "raising a geek". We've got the NXT 2.0 set at home and my boys love it, although the software for the Mac is less than ideal.
CodeCademy.com - I had read a few articles about the various online academies/schools opening up to help encourage and teach computer programming, so I thought I would check them out. CodeCademy even caught the attention of NYC Mayor Bloomberg, which I thought was really cool. The idea is to tear down the barrier of entry that might discourage people from exploring what computer programming is all about is a great thing that is happening. So, I introduced this to my kids and they are hooked. The fact that the site took the gamification approach is what I think is so appealing to younger kids. Every where you look you are able to earn badges and achievements and compare your progress with your friends, so why not apply that to learning programming? Pure genius awesome-sauce.
c-jump - This is a board game that a co-worker told me about. I haven't purchased it yet for my kids, but it is on my list. I love the premise of it, though. The game takes the approach of teaching basic programming fundamentals, such as loops and conditionals. It reminds me of Chutes & Ladders, except you're actually learning programming.
What this all comes down to is this; as the world's current geeks, it is our obligation to help encourage and inspire the next generation of geeks. These are the young people that are going to shape the future world that we live in, and I for one want to know that I did my part in helping the kids of today become the engineers of tomorrow. How are you helping in this endeavor, and do you have other experiences or ideas on this topic? I'd love to hear them!
Jason Collins (aka JC) is the VP of Engineering at ReadyTalk and the self-appointed Chief Happiness Officer. He's been either writing code or managing engineers for nearly 15 years and has a passion for technology and agile development practices. The happiness of the engineering team is his top priority and he can usually be found wearing a ReadyTalk cape and the infamous "idea helmet" around the office to help keep people entertained. When he's not hanging out with his work family, he's at home with his wife and four boys doing all sorts of geeky things, like playing video games and watching campy Sci-Fi and Action flicks.