Twitch, traditionally a game streaming platform with over a million average viewers and almost a billion hours watched each month, can help address the isolation and loneliness that can accompany the dream of working from home. With the Coronavirus (COVID-19) pandemic, many software developers are forced to work from home, often for the first time, and as any remote developer will tell you, loneliness can be one of the biggest obstacles you face. Twitch, and other live streaming platforms like it, such as YouTube or Mixer, contain not just gaming streams, but also a growing number of live coding streams, where you can connect with game developers, startup entrepreneurs, front- and back-end developers, graphic artists, and other people, in your field or not.
While I’ve been fully remote for over eight years now (and love it), I do miss working in the office. I miss the buzz—the energy and excitement of people building things. I miss the hallway and lunchroom conversations about what we did over the weekend or our latest hobbies. I miss pairing with people and learning new tips and tricks. Until recently, I thought it had to be a choice between human interactions and doing what was right for my myself and my family, but with Twitch, that choice is less harsh.
I’ve started using Twitch in the last few months, both as a viewer and a streamer, and I’ve found three benefits for viewing that I want to share:
One of the biggest challenges with remote work, particularly working from home, is keeping focus. The usual tips such as finding a private workspace and keeping a set schedule are important but they don’t address maintaining a source of productive motivation and this is where live code streaming can come in. By half-listening to someone being productive, I find I’m more motivated to be productive myself. A good live coding streamer will not only code but vocalize the thought process they're going through. This includes both instructive tips and frustrated “Why won’t this work?!?” outcries that are common in software development. I find there is something comforting about hearing I’m not alone as I’m celebrating a feature working or struggling with a flaky test. Furthermore, a good small channel will not just talk about what they are doing, but will be interactive, sometimes to the point of holding you accountable, and that gets me into my next benefit.
What makes Twitch, or any stream, different than something like YouTube is that what you are watching is happening live. Even more interesting, you can interact in real time with the streamer by asking questions, providing tips, or just sharing what is going on in your life. For a coding stream, you could ask why they did something a certain way, suggest a library they hadn’t thought of, or maybe respond to their weekend plans with your own. To do this, you can “talk” to the streamer via the text chat and they’ll usually respond by talking back. This starts an interesting asymmetric relationship between you and the streamer that can grow into a genuine friendship. Interactions aren’t just limited to between you and the streamer. A coding streamer also creates a small community of like-minded people that you can interact with. In busy streams, other viewers are the primary type of interaction you will have. These friendships can break out of the bounds of the stream and into other channels such as Discord, LinkedIn, or even in-person meetups.
One of my favorite benefits of pairing with another developer is picking up new tips and tricks. Live coding streams can fulfill this need as well. Maybe one day I learn a new editor shortcut or another may teach me about a new library or design pattern I hadn’t heard of. Live coding can also provide unique insights that pairing cannot. Pairing is usually limited to folks in your team, which can already have pretty homogenized work patterns and tools, but developers on live coding streams can be from any walk of life, working on any type of project, with a completely different set of skills, coding styles, and experiences. One day, I may decide to listen to a C++ developer writing a game engine; on another, I may tune in to a startup founder working on their landing page optimization.
So if you are struggling with loneliness, motivation, or focus, consider tuning into a live coding stream. Here is what I do: Go to the “Science and Technology” category in Twitch and browse the channels. You can click on the “Programming” or “Software Development” tag to help filter out the weird chicken and earthquake streams.
Another good source of streamers is Reddit's r/watchpeoplecode subreddit.I like to pick chill streams, often with soft music in the background or at least with a soothing voice, suitable for running in the background. Subscribe to your favorite streams to be notified when they start streaming. I turn off notifications for most channels on my phone, but with a few, I still want to be alerted. I like cmgriffing, maryjostaebler, anthonywritescode, and lana_lux, to name a few. Start chatting. With Twitch, you can either use the browser or your favorite IRC client. Some channels, usually busy ones, have their own rules or at least conventions for chat, such as no sharing URLs until you are trusted, and to understand the mess of “emotes," I recommend reading this guide.
This only gets better with more streamers, so if you can share your day job or side project, consider streaming. In addition to using Twitch as a consumer of live coding streams, I’ve been live streaming part of my working day when writing Python code.
I’m a co-founder at Sleuth, a software deployment tracking tool, and am using Twitch to not only meet interesting people, but also as a form of “rubber duck programming” to help keep focus; more on that in a future post.
tl;dr; it is full of unexpected delights.