Coding as a kid: Six tools, the opportunity of a lifetime
Remember 'graduating' 6th grade? Me either. But while getting dinner with my parents a few months ago, Mom pulled out an old momento she'd recently stumbled across — a pamphlet they handed us on our way out the door and into the summer before middle school.
It was only a few pages long, and there wasn't anything to write home about until I flipped to the back of the thing. The school had printed off a collection of what each of us said we wanted to be when we grow up.
As you might imagine, the responses from my childhood friends were pretty standard for that age — NBA player, NFL player, marine biologist, veterinarian, with a sprinkling of lawyers and doctors layered in here and there. Then you get to my name — "Joseph Castelli: Software Business Owner."
I pretty much wanted to be Bill Gates — I was already writing QBASIC, coding little text-based games on a Windows 3.1 machine sporting less storage space than the amount of RAM shipping with today's budget smartphones. I had no idea what I wanted to make and sell, but I knew this was what I wanted to do.
As one of the newest additions to the IDM family, I'm not 'owning a software business,' but I do get to partake in what's arguably the best part of one — even only weeks into my role here as Web engineer, I'm helping to shape and support rock-solid products that are already loved by millions across the world. And, for a kid like me, it doesn't get much cooler than that.
The thing is, without a nudge in the right direction, I'm not sure I'd be here at IDM writing this right now. While I'm not a parent just yet, I know first hand that even something as small as a role model (Dad, in my case) handing a kid a tool (a working computer) and a resource ("The QBASIC Bible") can have a profound effect on his or her future. I started at the front of this book typing each program line-by-line, compiling, playing, trying to change things without breaking them, and fixing them when I did. As a kid who had no video games growing up, playing a game I'd assembled and customized with my own two hands was a big deal!
Fortunately, the Internet has come a long way since then. In addition to the wealth of books available, many free online resources exist to help adults and children alike at least give coding a try. Sit down one of your young children in front of any of these resources just to see if anything clicks. I'm willing to bet they will astound you.
Codeacademy is my first recommendation to anyone who expresses an interest in learning to write code. Where some resources involve a lot of lecture, Codeacademy drops you right into the action. No special tools necessary. Code right in the browser, see what everything does instantly. It's a phenomenal learning tool.
Udacity offers courses from the Facebooks and Googles of the world. If you want the best of the best teaching you, without breaking the bank for a lengthy college career, Udacity is definitely worth a look.
As a guy who wants to learn iOS dev soon, Treehouse is one of the paid learn-to-code businesses I've had my eye on for some time now. I've seen it get nods from quite a few industry professionals, and it appears to sport a well-designed, organized platform and curriculum.
Code School offers a few lessons for free, but charges for many of them. If you're learning to code as an adult, this may be a great place for you to learn on a specific track.
Scratch allows kids to build interactive stories, games, animated digital cards and the like by dragging around commands, then share their creations with others. It's designed for younger kids (they say 8-16), and it's designed to teach the fundamentals and thought processes that go into writing code. Given its approachable nature, this may be the place for a young child to begin, but I wouldn't underestimate his or her ability to work with actual code.
I hope some of these Web apps will have a positive impact for some of you who may not have been aware of them. I know I'd have loved to have had any one of these growing up. This is just the first of many topics I'll be writing about — we'll talk code management, devops, and everything in between.
Questions? I'd be happy to answer them in the comments. I really believe every kid (and adult) out there deserves a shot at this!