I have done it for about 1.5 years straight, 24+ hours a week. Currently on an extended break to recharge my batteries but I'm definitely going back. It's slightly addictive and you come to miss it. The best part is you eventually end up knowing the other programming streamers which builds a sense of community.
In my personal experience, the productivity hit is overstated. It's absolutely harder to focus because of chat and the discussions that come with it, yes, but at the same time you have a camera pointed at your face and your screen is shown to the world. Whatever you normally do to distract yourself and procrastinate... I can guarantee you don't.
You also build a resistance to interruptions over time, which is an amazing skill for a programmer to have. I didn't believe it to be possible, but it eventually became so easy to pause what I was doing, interact with chat for a few minutes and instantly resume where I left off after.
To go even further, it's a great way to put in consistent work and keep motivation up for large, long-term projects. I have built the entirety of the Serpent.AI Framework (https://github.com/SerpentAI/SerpentAI) while live on my Twitch channel and I'm not sure I would have ever shipped it otherwise. The interactive nature of live streaming can give you that nice push on days you don't quite feel like it.
Streaming programming is not for everyone but I still recommend to give it a try. The experience is hard to put into words. I've had a blast and got to know great people.
How do you get into it? I think it'd be neat to try, but have no idea how I'd get going.
The Twitch "getting started" docs are surprisingly anemic. (Do they even have a growth team? This seems like table stakes.)
For someone who hasn't ever watched Twitch, and really just wants to focus on coding in a streaming context, do you have any "start looking here" suggestions?
Start messing around in OBS (https://obsproject.com) and get as comfortable as you can using it. You can compose scenes, transition between them, set up your audio and video encoding and preview everything without streaming. You can make local recordings test things like volume levels and audio sync. It's fantastic software and it's how you will operate your stream.
For programming, things are as simple as they come: Have a main scene that does display capture and perhaps overlay a camera. You can add more bells and whistles if you want; the tools are pretty intuitive. I recommend also making scenes for "Starting Soon", "BRB" and "Stream Over". Having a browser in guest/incognito mode is a good idea. Be mindful of stuff like API keys, secrets, passwords and personal information.
Once you are ready to make the leap, you can link your Twitch account to OBS and when you press "Start Streaming" you'll be live shortly on your channel.
Before you do though, you'll want to spend a little time in your Twitch dashboard to set up stuff like titles, categories, tags etc.
There is a lot more to it that you'll figure out along the line. Live streaming is an iterative process and a skill / hobby that you perfect over time. Have fun!
Excellent, thank you! Her setup looks impressive … I guess I was looking for an MVP of getting going: "You have a Macbook with a built-in webcam? You have a code editor? Great; you're all set. Now do this." This video — https://www.youtube.com/watch?v=Yh5LI_d_JKM — seems like a solid intro to streaming with OBS. Will give it a shot, and will poke around the belly.io streams and see who might be good to connect with.
That also looks like a cool project! I've made a bot to play a game called Gems of War. I've used some GUI windows thing to program the AI but it was terribly limiting and slow. I was going to start again using python and opencv from scratch but I was kinda sad I needed to code a lot of plumbing code such as finding the screen, and then finding sprites and things like that. Your project seems to do that and would save me a lot of hassle. I may try again someday.
Check out https://www.twitch.tv/instafluff ! He does livecoding, but also tends to get distracted by chat a lot and goes down random internet rabbitholes. All in all, he's a lot of fun to watch.
In my personal experience, the productivity hit is overstated. It's absolutely harder to focus because of chat and the discussions that come with it, yes, but at the same time you have a camera pointed at your face and your screen is shown to the world. Whatever you normally do to distract yourself and procrastinate... I can guarantee you don't.
You also build a resistance to interruptions over time, which is an amazing skill for a programmer to have. I didn't believe it to be possible, but it eventually became so easy to pause what I was doing, interact with chat for a few minutes and instantly resume where I left off after.
To go even further, it's a great way to put in consistent work and keep motivation up for large, long-term projects. I have built the entirety of the Serpent.AI Framework (https://github.com/SerpentAI/SerpentAI) while live on my Twitch channel and I'm not sure I would have ever shipped it otherwise. The interactive nature of live streaming can give you that nice push on days you don't quite feel like it.
Streaming programming is not for everyone but I still recommend to give it a try. The experience is hard to put into words. I've had a blast and got to know great people.