You’re a parent of a brand new snuggly-size manifestation of humanity and you couldn’t be more excited! You’ve called friends, family, and even told the gas station attendant. There’s no greater moment, but when do you introduce the child to your way of life? When should you explain how awesome writing code can be? Is it slightly after the first diaper change? Do you wait until baby’s first steps? Is it too late once they’ve learned to crawl??? When you start the lesson how do you know if you’ve gone too far???
Hi, I’m Cliff. You’re here because you have young kids at home. You might be thinking, like I once did, how cool would it be to get them into this fantastic field of software engineering. I had the true life experience of schooling a 7 year old in the art of coding. I was using Scratch at the time. It’s an app that teaches young kids to code using colorful little puzzle pieces and a cat that you can animate. It was so much fun yet so limited. I found myself going into source to make modifications while I was teaching. I felt the need to support pointers, robust opcodes and other things. I was also frustrated with the lack of an interactive debugger. When making the cat play in the grass lead to my pulling up Smalltalk tutorials I knew I had crossed some line. I just didn’t know which. How do you know you’ve gone too far with your little one? Here are some of my examples. Some are contrived, many true. Others are slightly exaggerated.
You know you’ve gone too far when…
- Baby’s first “hello world” ends with a segfault.
- The keyboard and monitor are both angled away from her and toward your general direction.
- You start pondering how to check puzzle pieces into Subversion or Github.
- Bed time has come but you’re still explaining the significance of bit-masking.
- Stacking all those puzzle pieces together is a dumb way to do it, you need a callback!
- Your explanation of the merits of event based coding outweighs the kid’s desire make the kitty walk.
- A while loop is a stoopid way to do it, you need a callback!
- She should stop whining and focus on getting the unit test to turn green!
- If she would just stop recording her voice and let you show her how to actually code something…
- Using a “wait” is a stoopid way to do it, you need a callback!
- You could make the ball move left instead of right if the dumb IDE editor only had an interactive debugger!
- You just figured out how to step through source in Scratch
- Someone has to remind her that we just made a callback for that function…
- A Gradle plugin sounds like a good idea.
- She needs to stop copying silly audio clips in the project and work through the scoring algorithm!
- See, wasn’t that fun? Look at the multi-module masterpiece she just made (without setting a finger on the keyboard)!
- We just have 4 more levels to complete before the game is ready to ship. (After lesson 1)
- For the love of peanut butter!!! Why can’t she use the callback???
- “Yes dear, just 10 more minutes while we step through source…” becomes an unconscious reply.
- She asks you, “Daddy what’s a Jira and why do we have to file one?”
- A database just became an integral part of your app.
- You opened your first JDBC connection in Scratch.
- You’re celebrating because she just fixed the Jenkins build
- You explain to the wife how the tears only started when the address to the screen refresh routine became corrupted.
- Add some of your own in the comments below…