On Live Coding
This past week Suz Hinton wrote about her Twitch streaming setup and it is a great article. She also links to a past article from 2017 that explains her motivation and inspiration. Live coding is a trend I’ve been following for a variety of reasons.
Before I get into it though, I want to talk about a book I’ve been reading and how it relates. I spent most of yesterday reading through a book by Martin Campbell-Kelly on the history of software.
It’s called From Airline Reservations to Sonic the Hedgehog: A History of the Software Industry and it starts from the very early days of the software industry in the 1950s and follows it up to 1995 when Microsoft was skyrocketing in value and dominance within the industry.
I’m in awe of Campbell-Kelly’s ability to synthesize all of this information and to tell such a compelling tale of software’s past. I highly recommend it as a read.
Here’s one part of the book that struck me when thinking of the live coding phenomenon:
In December 1955, the RAND Corporation created an autonomous Systems Development Division to undertake the programming work. At that time, the corporation reckoned that it employed about 10 percent of the top programmers in the United States—but this amounted to only 25 people. It was estimated that there were no more than 200 “journey-man” programmers—those capable of the highest class of development work—although there were probably 6 times that number of professional programmers working on relatively simple commercial applications.
In just 64 years, (or should I say
2^6 years?) we’ve gone from there being just a
few hundred programmers in the world to now where a person can live stream
coding and amass over 200 viewers quite easily.
It is a testament to how “software is eating the world” and the increasing importance of software engineers.
Twitch’s Full Circle
When Twitch launched, it was a spin-out of the gaming section of Justin.tv which had become the largest category on the site.
Justin.tv tried to be general by providing a place for anyone to stream anything. But by doing so, it almost missed that the most engaged and lucrative part of the live streaming market was in video games. By focusing on the most dedicated group of users: gamers, it was able to build something that worked better for them. It’s a great example of monetizing the audience that cares the most rather than trying for mass market appeal.
The best part of Twitch’s story is that in early 2017, it launched its IRL section which is just a Justin.tv reincarnate and allows people to stream anything and thus coming full circle to what Justin.tv set out to be.
Live coding is fairly niche but has a very devoted fan base. At any given time you can find a few dozen people live coding on the Science & Technology channel on Twitch. This channel was a spin-out of the IRL channel which was broken up into a few different categories last year.
The most common type of live coding is game development but occasionally there are people like Hinton that branch into other types of development as well.
There are a few really excellent reasons why people live code and why it is engaging to watch:
- It shows the coding/problem solving process and breaks down the myth
of the genius programmer.
- Programming is often glorified into being something done in a dark basement by someone super smart that can solve a problem instantly. This couldn’t be anymore wrong and seeing people struggle with problems and solve them in realtime does wonders to break this myth.
- Just think of how many high schoolers might pick up coding after they stumble upon a live coder and see how accessible and fun it can be.
- One particular streamer that is really great at this is Naysayer88 aka Jonathan Blow of Braid and The Witness fame. He documents his game development as well as more abstract computer science topics like building a compiler.
- It’s a new form of marketing for games and projects.
- This is a very interesting angle to live coding that Adam13531 is focusing on. He has written extensively about this on his blog for the game he is developing called Bot Land and has live streamed so far 637 days of development.
- His reasoning is that Twitch is full of gamers so by documenting his process of making the game, he’ll find people that can improve the gameplay by finding bugs as well as promote it when it is finished.
- It provides a community.
- If you spend a few minutes in a stream, you start to notice that there’s often a real connection with the streamer and their audience. It is a place where coders can go to talk with other coders and discuss technical things.
Why It Is Important
People like Suz Hinton, Adam13531, and Jonathan Blow are showing what live coding can look like and what benefits it can have. They continue to push the boundary of this new way of engaging with people as a developer.
Live coding shows what the problem solving process looks like, the good and the bad. It also provides a warm and friendly environment for people.
This is especially important in the field of software engineering where diversity is a problem and it can be obtuse and unwelcoming. Together these make live coding an important thing to the field and an important trend to follow.