I've been live coding on Twitch for the past couple of weekends doing Rust coding challenges on Exercism.io. I had attempted live streaming before, but I stumbled with technical issues, and I just felt silly afterwards. I don't know if it was because no one showed up to watch it, or because the audio and video quality was crap, but it mainly made me feel like an old man. But I think I started thinking of giving it a shot again after listening to this Single Threaded Podcast episode. In the episode Prince and Jenn cover the learning benefits of live coding.
Even though I haven't been a heavy Twitch user, (I do play video games but rarely watch gaming streams), I do follow live coding folks there and try to watch their streams when I can. I like watching people like Prince, Salma, Cassidoo, and Faraday to mention a few I follow.
There's a lot of ideas out there about the educational benefits of watching a live coding stream. This research paper mentions the over-the-shoulder learning experience that you can't get from pre-recorded tutorials or Udemy courses.
On the other hand, there's good reasons not to make or watch live coding streams if the purpose is to learn or teach. In this video Ben Awad says "that watching someone live stream code is an incredibly inefficient way to learn to code". I find it hard to disagree with that. The effectiveness of a pre-recorded video that has the sole purpose of teaching something is a more direct way of teaching something. But putting aside the effectiveness scale, you do learn, as the viewer, but specially as the streamer.
One of the reasons I keep writing for this blog for example is because it helps me figure out what I have to say. Even though I have no idea if I have an audience or not, I do act like there is one, and this makes me focus on a reader, which makes me try my best at communicating something that could be valuable to them.
You can make the same case for live coding. Even if you have 0 people watching your stream, there's the potential that someone will see it, specially if you're saving them. Thinking out loud through the process of solving a problem is what I find the most beneficial. You figure out how you're thinking, what you know, and what you don't know. There's something that feels satisfying at the end of a stream, particularly when you solve a coding challenge. But even when I don't solve anything I feel a sense of accomplishment.
I'm not an educator and I don't believe that many live coding streamers think of themselves as teachers. They're sharing their process and I think that's the key here. This is learning through process. That over-the-shoulder learning that you can't get with an edited tutorial.
I think I'm gonna keep at this. There's a lot of nerdery that I like about it. Mics, OBS, and the live coding Twitch community is super fun and positive. I'm hoping that I'll figure out a streaming schedule. Weekends are just about right for me at the moment.