How the kids stole the show: Young Coders tutorial at PyCon
pycon.blogspot.com
pycon.blogspot.com
I really think, more than anything, this is why we should be teaching kids to code and so on in school. Most of the good coders I know have been doing it from a young age, and I think a lot of it comes from the fearlessness of youth.
Personally, I know I owe a lot to this. I "broke" the computer more times than I can count, by just experimenting, playing and otherwise doing stuff that I now know to be "reckless". There was a guy in the IT department and my dad's work who gave me an absurd number of hours of free tech support and teaching, because I couldn't figure out how to undo some of those mistakes, and would patiently walk me through getting things put right before my folks came home from work. (In retrospect, I don't think they would have minded, but I didn't want to get in trouble for breaking the expensive toy!)
As someone who started programming when I was 21, I sometimes feel like I don't stand a chance.
If you have the same passion, then starting late shouldn't hold you back that much.
Having said that, I am one of the lucky ones who started young.
But that's fine. Use your cross-functional skills to your advantage... whatever you did from ages 8-21 when combined with the coding you did from 21-present is likely just as (if not more) valuable than the skills a person who's been coding since childhood.
I enjoyed the lax pace of doing it over ages 5 to 28 though.
I'd argue if you're willing to embrace a complex new skill in adulthood, you're probably going to be more willing to learn new stuff as your career progresses. This will give you an edge when your peers start getting set in their ways.
Another thing: I learned to code when I was 13, and was fortunate enough to have some friends in grades 7-12 who did the same, but ultimately the stuff we did was simplistic and hacky. It was totally undisciplined, and wasn't exactly production quality stuff. We were juvenile, and our code was juvenile. In a good way.
And in reality years of coding doesn't matter. Learning to code early doesn't matter. What matters is with how many people you've collaborated. And how many releases of different products you've shipped.
You can code you whole life, but if it is the same damn piece of code, you wouldn't learn a thing. And if you don't actually release stuff, you also wouldn't learn a thing.
Last point (releasing stuff) is very important. If a kid 'learns' to code, but doesn't release his stuff - it is not real. Most of that learning is far from reality and wasted.
It all comes down to your ability for self inflection, a strong desire to always be better and, of course, a love of programming.
I guess this probably isn't as bad now with actual privilege separation (non-admin accounts) in Windows and Macs these days, but some memories are hard to forget.
There's something to be said for a box which is going to be just fine if you power-cycle it.
Presuming a Windows environment, have you ever tried DeepFreeze? Every school environment I've worked IT for that hasn't gone diskless seems to have started using it in the last decade. A lot of demo computers on display in stores, too (I think my local Apple Store is now using the OSX version; not sure how widespread that is.)
If you're running a Linux setup, of course, you can just do the equivalent with a tmpfs overlay on /.
Fortunately I only had to witness it and never had to run a whole fleet of Windows boxes.
We just had Boise Code Camp 2 weeks ago. We had one talk on Kid Programming, which was given by two 11 year olds (using Scratch) and a 6 year old (using LOGO) -- and two of them were girls. We put the talk in one of our larger rooms and we packed it. People standing in the back and sitting on the floor.
As an aside, just about every year we have had a large number of parents attending who would bring one or two kids with them. Out of 400 people I could usually 15-20 people younger than 18. We have not had any trouble because of it.
I think there is a lot of interest, both from kids and parents, to learn about programming. A our code camp, I'm hoping to open up multiple sessions for kids (I'd like to have a multiple hour block). Some of those kids already have good resumes going. One I saw in particular was able to talk on Java and C without any difficulty (and he preferred vi as his editor) -- he was maybe 12.
For other conference organizers, (if you have room) please consider having talks aimed at kids. But also just encourage parents to bring their tech interested kids with them.
It was largely a disaster due to classroom management issues, though 3 students did complete a game. I definitely think the 1:3 teacher-student ratio mentioned in the article is necessary to making this kind of thing successful.
I think we would have had a disaster of our own, if we had done this without volunteers. Kids are notorious for not speaking up if they're having issues, and from the front, a kid that is 'getting' it looks the same as a kid that's completely lost.
I was surprised at how many people wanted to volunteer, as well! We already have a list of eager people for next year.
I told him to give it time...
Anyone remember MySpace? LiveJournal? Xanga? ConnectU?
I'm pretty sure they all predated Facebook, were quite similar to Facebook, and Facebook just outmaneuvered them with execution.
Or think about Blizzard in the mid-to-late '90s. Warcraft/Starcraft weren't the first RTS games -- Blizzard wasn't an innovation leader -- but they were extremely polished products. Flawless execution beat first mover advantage; have you heard anything about the Dune series lately from someone who's not a hardcore retrogamer?