How not to live stream your code

🗓 - ⏱ 4 minute read

A little preamble first: Some years ago, I watched the British sitcom “How Not to Live Your Life”. It gave me a proper laugh then, and I’ve been trying to write something that could be titled similarly. My (shitty) first live stream just allowed me to do so. So, thank you shitty first live stream.

Okay, back to business.

Last Wednesday, I decided to livestream a coding session on Twitch - follow me there! - to complete my latest tutorial on asynchronous requests in Rails. Several reasons convinced me to try it:

I prepared a little bit but mostly thought “Fuck it, I’ll learn by doing”. And of course, it turned bad. Awkwardly bad.

I’ll still upload that video, and share it for posterity and as a landmark to look at one year from now.

Time for a recap!

The bad parts

Not enough preparation: I’m no perfectionist, but I should have prepped just a teeny-tiny little bit more. Doing my first live stream with no safety net was not necessarily the best decision. I didn’t know my code enough. I didn’t master OBS at all. I really lost my cool there, and this was not a great feeling.

No rehearsal: This one goes with the previous observation. I should have done a full rehearsal. Just the one, you know, like warming-up before a marathon.

OBS setup: Juggling between OBS scenes and my coding screens was too difficult. At some point, I realized I was talking about my code for 5 minutes, but people were still watching my browser. I had forgotten to switch screens for them. Awkward.

Some shitty environment: I didn’t have a lot of options, to be honest. I streamed from outside, and it didn’t turn out well:

My stress level: I was stressed out. Every snag hit me hard. I realized I’d hold my breath for the whole 33 minutes. Not good.

This freaking accent: This one was tough for me. It was hard to explain things live. But hearing my accent grow stronger by the minute made it even harder.

The good bits

Fun: In retrospect, I enjoyed doing it. I’ve been watching seasoned streamers for a while now, and even them experience hiccups. And that’s okay. This is what learning-in-public is. Sometimes, things go wrong, and you fix them.

I can do better: I’ve realized that despite this first stream being shitty, I could do better. I even recorded another screencast the next day. I tweaked my OBS setup. I found a better place to do it. I have plenty of room to improve and find my groove. ✌️

So much potential: I’ve felt that live streams are a fantastic way to learn, teach, and share knowledge with others. I’ve missed teaching code, and I’d love to see where I can take this thing. Even make it sustainable?

Improvements

Just fucking breath: Problems, bugs, hiccups are just part of a normal day. Stressing out never helped anyone getting things done with gusto.

Try out different setups: I’ve got to tinker with OBS so my streaming setup doesn’t get in the way. Same thing with headphones, mic, etc.

A live experiment: Practice, make rookie mistakes, learn, rinse and repeat. Only by keeping streaming, I’ll find my style. And let’s face it, learning in public is just plain awesome.

Write a basic script: I don’t want anything super detailed, but a basic layout would make a good safety net. I could list key take-aways too. It’d still leave room for accidents but would mitigate the (negative) impacts.

Research more: When I first streamed about asynchronous requests, I didn’t know what 'X-Requested-With' was, so I kinda skimped it. I could have researched everything beforehand, or I could have simply checked about it live. Thinking on your feet is a good skill as a developer, so I think I’ll go for the latter option next time.

Practice speaking English aloud: I’m okay with speaking in front of people or a camera. Now, I’ve got to either improve my accent or just accept it. I think I’ll keep swearing in French, tho.

Wrap up

Before I say good-bye for today, here’s my first live stream. Don’t watch it please. 😅

That’s is for today folks!

Any question? Ping me on Twitter or create an issue on GitHub.

Cheers,

Rémi