Today I live-coded for 15 minutes in front of a 30-person audience of fellow Android engineers from Airbnb. The subject was a couple of frameworks that we use to build UI that have been rapidly evolving over the past few months, so much so that few people have kept up with all the latest developments. (One of those frameworks is open-source and deserves your attention: Epoxy.)
We’ve had extensive documentation available (of course), and conventional talks had been given to the same audience before, but everybody learns differently and finds the headspace to do so at different times. So, with that in mind I thought, why not experiment with a different medium?
Live coding means that my computer screen was projected on a giant screen while I refactored and converted one of our classes to follow our most recent guidelines. The code I was working on was outdated and from our actual codebase. As I worked through it—live—a friend held a microphone to my face and I narrated.
The anecdotal feedback I received immediately after is that it worked. People who had previously been disoriented by changes similar to those I showcased now felt they understood them. And they found the live coding aspect to be particularly engaging.
This creates new questions for me: Can I scale this? Maybe by creating some videos or by organizing live streaming sessions while I work on pertinent projects. Can I teach more things at no extra-cost, by having people observe my workflow and certain shortcuts I use for example? Will others teach me things based on the way they see me working?