- What most schools don’t teach
- Agario. Eat cells smaller than you and don’t get eaten by the bigger ones.
- Fishburners, the coolest Startup Breakout space in Sydney
I spent last week hanging out with a group of passionate kids. Building next generation apps. Teaching them how to write code. Tomorrow’s beautiful minds. Exploring the abstract world of software.
Readify gave me the time to help support this amazing community project. #BestPlaceToWork
At the end of our first week these kids had built fully functional mobile apps. They are eight years old. It was simply amazing to see.
“Hi! My name is Karen. My favourite game is Agario. Can we make that?”
Here are the sort of questions I had to field in amongst the various defects and unexpected exceptions.
- “What is code?”
- “Can we have in-app purchasing?”
- “What des ‘If’ mean?”
- “Are computers smarter than people?”
- “I want to be an astronomer one day. Why am I learning how to code?”
My head exploding at each one of these excellent questions.
Should young hearts and minds be encouraged to write code?
“Everyone in this country should learn how to program a computer… because it teaches you how to think.” -Steve Jobs
When I mentioned to a friend that I was going to be spending the week helping out at Codecamp I got an interesting reaction. “Are you sure you want to be teaching kids how to code?”
Yes. Teaching kids how to code is a great thing.
Here’s a few reasons why.
- They are good at it.
- It seems to fill their heads with new ideas. A completed new realm of imagination and possibility. A bridge to making a new idea real.
- It develops their ability to plan ahead and think strategically.
- Codecamp makes it lots of fun. Awesome games indoors and outdoors, with computers and without.
It’s very interesting to note that in many cases the kids were unable to spell but they were able to code.
Do young girls and boys think differently about code?
“If you’re a feminist and you believe in equal power then you really need to learn how to code. Information management is powerful.”
Girls are far more advanced than boys at this young age when it comes to writing code. They get the abstraction faster. Girls are more coordinated in their delivery, explain it better, waste less time, can follow instructions and organise their code better.
How do boys fair?
They are great at generating excitement, showing off and to some extent collaborating.
One thing I noticed is that boys are desperately impatient. They will try the same thing time and time again and expect a different result. Nothing changes…
Young girls are far better at writing code. They just get it.
What can these Codecamp kids teach us seasoned professionals about writing better code?
From observing children write code I noticed a few interesting similarities in the work place.
Kids are not so great at Talking about code, Sharing their code, Testing their code or sharing the Product Ownership.
Talking about code is hard. Really hard. Talking about code is akin to “dancing about architecture” or “painting music”. It just a completely different kind of abstract. You either create it or you don’t.
Kids struggle with the language of code because they haven’t been given the conceptual background on the sorts of common patterns and practices we see reoccurring. They sort of stumble and go quiet when they try to explain a Case statement or a Loop. It’s these sorts of ideas that they just don’t have the word for just yet.
Sharing a coded concept is really hard. It takes a lot of patience and maturity to develop that skill.
Kids hate sharing their code. They love to Own what they have written and they really don’t like anyone reviewing it or trying to improve it. My colleagues at work are often like that too! I won’t name names.
Allowing others to review code and doing a good job of reviewing code is another great challenge.
Kids basically don’t get the point of Testing. They forget the interconnected nature of code and the intricacy of change and dependency. They dislike testing and they laugh when I tell them about Automated Testing, and Continuous Delivery.
They all think Unit Testing is stupid.
“I don’t care about the names or design. If it works then great!”
Confidence and Leadership
Kids dislike it when you don’t give them a straight answer quick. Spending a week with kids made me realise that being concise and to the point helps them. I should remember that when people ask me questions at work.
If you can’t provide a concise answer within 30 seconds then a kid will just walk off and try to find their answer somewhere else.
I tend to live in an inherently complex world. I ponder and ramble by habit. I like to discover unanswerable questions.
Making friends with the other teachers at Codecamp was another highlight of the week.
The group of teachers were mostly friends of the Fishburner tech startup community. All of them were passionate about technology and teaching. They helped me learn the ropes. Thank you!
It was inspiring to hear about the innovative and successful startup businesses my fellow Codecamp teachers were launching.
I really look forward to working with you all again in the very near future. Thank you so much.
The kids are the best!