At work, I'm a full-stack .Net developer. This job is awesome, because we build cool stuff for anyone. But like many of us, I've always been hungry to do something different in my personal learning; to work outside of the confines of the tech that our team and our customers prefer. So I've had a ton of fun with "play" coding, experimenting with PHP, Python, and C in particular.
I first heard of Glitch from a design retrospective when it was Hyperdev, but didn't give it another thought until some of the inspirational ladies of GitHub and other people on my twitter feed started to talk about it and use it.
I find that watching people you look up to enjoying something is the surest way to want to get involved! I got involved in GitHub because of watching those people just having fun coding with one another, and Glitch was like history repeating itself for me.
The first time I used Glitch for real was a rare opportunity to spend some time with my nephew. We decided to learn some code together. I wanted to help him make his own real-life website on the internet, and Glitch popped into my head. We built some stuff, and after I tweeted it out I was really encouraged with the feedback!
Anil Dash@anildashLove this story so much! Welcome to the Glitch community. :) twitter.com/SteGriff/statu…22:15 PM - 19 Jul 2018Ste Griffiths @SteGriff
It's kinda vain, but having recognition from the team made me want to use Glitch more. I suppose it signalled that the folks making Glitch actually cared that people have fun using the thing. So I used it some more!
A. I tried to set up everything from scratch
B. I didn't have easy access to high-quality, simple, community examples
C. I knew less about routes, APIs, and package managers like NPM
I've put 'C' last because I think it's the least important. The way these templates are presented now, and the wealth of workable (remixable!) examples on Glitch makes it accessible for a broader audience.
Getting into it
Memory fails me, so I just made this little project (on Glitch of course!) that calls the API to show me a chart of what projects I was playing with, and when:
When I built bigger projects like Tamagotchi Log and BIOY, it was helpful to break the problem down into little bits that I need to learn. To make Tamagotchi Log, I had to figure out file uploads (tried it with two different libraries and only had success with one). And to make BIOY, I had to re-learn how to make a login system, this time using the NPM toolstack; I'd only ever done this with .Net and PHP before. Even that problem can be decomposed into learning to interface with sqlite, and learning to use bcrypt in Node.js (here's a more detailed guide I also used).
The benefit of spikes
So each big project became a fun series of "spikes" - little proofs of concept for each feature. The advantage of this is that you have something to go back to consult next time. A spike is a self-documenting example, so when I inevitably forget how to achieve one or more of these things - past Ste has been there and I can benefit from that!
I'm obviously not the most advanced or experienced Node.js dev, and it's probably not going to become my primary stack, but it's really fun to have an empowering (not frustrating) way to learn new stuff, and I'm glad that Glitch and the wider community have provided that.
- Have you used Glitch or similar things like Codepen to learn a new language/stack?
- What did you think?
- And what do you think of composing a larger project out of a series of "spikes"?