Commentary: If you're looking for ways to engage and inform developer communities, livestreaming programmers coding just might be the future.
The world may have changed but one thing hasn't: Software developers are still key to building the future. Whether they build that future using your software (open source or otherwise) has a lot to do with how well you document it. While written documentation is usually preferred, there's an additional option that just might prove to be one of the few good outcomes of COVID-19: Livestreaming code development. Yes, really. Not only could it offer a great way to show a developer how to use your software, but it also helps to fulfill a need for community engagement.
SEE: How to build a successful developer career (free PDF) (TechRepublic)
"The biggest hole fio has (and probably a lot of other open source projects) is someone writing quality documentation," said Jens Axboe, founder of the Flexible I/O Testing (fio) project. What Axboe says of fio (and open source software, generally) is just as true of proprietary software: The documentation needs an upgrade.
Indeed, when SlashData asked over 16,000 developers what they most need to be productive, documentation and sample code topped the list, and by quite a lot (Figure A).
Whether that documentation lives on a company's/project's website, or is available through third-party channels like Stack Overflow, if you want developers to use your software, document it.
At the same time, over the last decade or more we've seen organizations try to build community and offer assistance through webinars, hackathons, and other in-person events. The pandemic has almost certainly trashed these options for 2020, but here's a thought, one I first heard from Matthew MacDonald: Stream programmers programming.
Documenting developers in action
When I first heard the idea, it seemed ridiculous. But then I remembered how my son would spend hours watching gamers play Destiny on Twitch. The problem for streaming code development is the relative lack of "action." Or, as MacDonald put it, "[T]he average programming session is 10% meat and 90% filler. Moments of focused typing are broken up with reading Stack Overflow, staring blankly at the screen, fruitless Google searches, and contemplating broken builds. (And let's not forget compiling.)"
SEE: 10 ways to prevent developer burnout (free PDF) (TechRepublic)
For a developer who wants to see the process for building an application, the reality is that they're going to watch mostly empty space. This can be instructive in itself. One developer that MacDonald highlights has made it work by "constantly articulating what he's doing, whether it's spotting small problems or thinking through overarching design decisions." And for those watching, they "aren't looking for a paint-by-number coding lesson, or a presentation that's been edited to perfection. Instead, they want to see how a programmer solves a problem in real life, with all the circuitous routes, doubling back, and dead ends that entails."
If you're trying to teach developers how to configure a Kubernetes cluster, or build a fraud detection application using Redis, streaming that process in action could be a great way to engage and inform a community.
So how do you do it well?
3 tips for livestreaming
According to Jesse Williams, Developer Marketing and Relations for AWS, the key to how gamers build up loyal followings is "consistency and dependability. They build audiences that are conditioned to expect a live stream at the same time every day of the week."
Another important aspect of the best streams, said MacDonald, is community. "Each livestream has its own chat, and the most popular Twitch channels have high-energy, emoticon-soaked discussions that rival a teen Snapchat. In programming streams, chat lets viewers ask questions or make observations, and the most successful coder streamers are always interacting with their audience."
Finally, it's critical to get the audience on the same page with the streamer. Said Williams, "Digital advocacy teams need the ability to quickly clone their workspace and share it with their audience so that the audience can get hands-on with what they advocate is working on. Then if an audience member is having an issue, they can jump back into an exact clone of the audience members project and show them exactly what went wrong."
Not everyone will find it useful to watch livestreamed coding, and many developer advocates likely aren't well-suited to teaching or engaging this way. That said, with fewer opportunities to engage with a developer community in person, livestreamed coding could prove to be a great way to augment documentation while also filling a key community need for human interaction.
Disclosure: I work for AWS, but the thoughts contained herein are my own, and don't represent those of my employer.
- Listen to TechRepublic's Dynamic Developer podcast (TechRepublic)
- How to become a developer: A cheat sheet (TechRepublic)
- 5 developer interview horror stories (free PDF) (TechRepublic)
- Hiring Kit: .Net developer (TechRepublic Premium)
- Programming languages: Developers reveal most loved, most loathed, what pays best (ZDNet)
- It takes work to keep your data private online. These apps can help (CNET)
- Programming languages and developer career resources (TechRepublic on Flipboard)