Last weekend, I attended a Girl Develop It (ATX) meeting called Intro to NodeJS. I have a list of Node tutorials and am making my way through them. They are all helpful, but nothing beats having a human there to immediately notice a furrowed brow or a raised hand. Oh, but wait. There is something just as great: Glitch. Glitch is a Fog Creek baby, so it’s the baby sibling of Trello, FogBugz. (Trello is now part of Atlassian, so I still consider it a sibling, but an older one who got married into another family.) They have a look and style to their projects that is inherently playful. It is no surprise to me that the people behind those other projects came up with Glitch.
I come to software development from teaching. I still do teach. I hope never to fully leave it. I do not think kids or adults will learn as fast if you do not encourage copying, playing, breaking, and tweaking.
Copying? Heck yeah. Copying and saying it’s your own? No. However, you are foolish not to take something finished and excellent (for the most part) and copy it. Feel it being created with your own hands. For art, a child trying to imitate daVinci will probably not recreate the master, but she will look at how proportion is used. Maybe even realise that the eyes are not at the top of the head. In a forward to a collection of his favourite short stories, David Sedaris said that he used to type his favourite paragraphs to get the feel. There is a difference between copying to learn and copying to take credit. If you don’t know that difference, I don’t know how to talk to you.
In our tutorial, we used Glitch. We could see our changes immediately, remix (think fork) our own, add npm packages easily and not bother with installing, … When I’ve thought about trying something for Node as I learn, I kept thinking that everything had to be huge. It seemed daunting. All I want to do is practice with require, extends, Express, etc. I love my tutorials and can code with a parallel project, but what if I want to start from nothing. Where can I see it happen? Do I have to create a file structure I may or may not want to keep around? Glitch allows me to copy others by remixing and then from there I can adjust the code to see what breaks it or what changes where. What happens when I do this? Or that? I can even get code from GitHub that I like to play with on Glitch. (Full disclosure: I have not tried that, but it is something they say I can do.)
Playing is the other thing I believe in as a teacher. Playing is a child’s way of manipulating. We don’t play on the streets. It’s not safe. We also don’t play with code by creating a file structure and installing every possible package just in case we need it. Just thinking about that stresses me out. If I know exactly what I am going to make, then I’m all about my Sublime, file structure, packages, and away I go. But when I just want to play and have no idea where I’ll go with it? Glitch, please. Need Lodash? Easy. Add a package and move on. Want help from friends who are ahead of me in what I’m trying to learn? Invite them to help and code with me. They don’t even need to be near me.
I still have a lot to learn with Glitch. I have not had all the time I’ve wanted to play with it, but I try to return to it daily to learn something new. During the week, I am so loaded to the nostrils with challenges that my weekends may be the best time for extended Glitch time. I think I’ll replace my Daily CSS Images challenge with a Sandbox Challenge and have an hour of Glitch and an hour of Codepen so that I can code with the freedom of screwing up.
All that praise aside, the best part is that it’s created by awesome developers to help the n00bs like myself get better. How stinkin’ nice is that?