Future of Coding

46 • Community Survey


Listen in your podcast player by searching for Future of Coding, or via Apple Podcasts | Overcast | RSS

Back in January, we ran the first survey of the Future of Coding community. One of the goals of the survey was to take the temperature of the room: what people are working on, how they are interacting with the various branches of the community, what things they would like to see happen over the coming year, and so forth. The other goal was to more concretely answer a long-looming question: should we move away from Slack?

This episode was originally meant to be a little mini-episode halfway through March, with the next full episode coming at the start of April. Would you believe me if I told you that some things happened in the world that caused me to change my plans? Shocker, I know. I’m podcasting from home, so if I sound a little more airy than normal it’s because I’m using one of my special scientific measurement microphones that looks like an electric toothbrush. No guest this time, either — just me.

A photo of one of my weird microphones

Floppy disk for scale.

There were 134 responses to the survey, which is pretty good. According to Slack’s analytics, there are roughly 230 people who check the Slack in any given week, and about 70 people who post. So broadly speaking, this survey sampled about half of the current community.

Slack analytics showing a steady growth in the size of the community, leveling-off over the past year

A CSV of the survey results can be found here. If you’d like to do your own analysis and share it with the community, that would be excellent. Let me know when it’s up and I’ll link to it here.

Update: Community member Alex Wein created a beautiful interactive visualization of the survey results.

On this page you’ll find graphs aplenty, and some of my reflections on the results. The episode has a fair bit of extra commentary, so for the maximum effect I recommend both listening to the episode and reviewing the graphs below.

There’s also an interesting discussion unfolding in the Slack thread for this episode, in response to the lack of questions about diversity in the survey. Improving the diversity of the community, especially the gender balance, is an issue that we’re taking to heart. So if you’re reading this and you’d like to help us improve, we’d be thrilled to have your input & ongoing participation.

Also worth noting — all music in the episode is by me, and if you enjoy the music from the final segment of the episode, you can hear a slightly more elaborate version of that song here.

The transcript for this episode is sponsored by Repl.it, a collaborative, in-browser REPL that lets you instantly get started coding in over 50 languages.

Lately, I’ve been curious about Swift, since I know I’ll be turning my own Future of Coding project into a native Mac app at some point. One of the promises we’ve all heard about Swift is that it scales all the way to down by serving as a nice lightweight scripting language, and scales all the way up by serving as highly reliable, performant, low-level systems language. However, what doesn’t scale nearly as smoothly is the first-run developer experience. Sure, I could install the Playground iPad app to try the language. But then if I want to dig in a little deeper than toy examples, I need to download the compiler, possibly download Xcode, figure out whether I need the toolchain, put it on my PATH. There goes my afternoon.

Or, I can go to Repl.it — Click “start coding”, pick Swift as my language, and boom, I’m up and running with an editor and a REPL, faster than reading the Getting Started section of the Swift site. There’s a helpful prompt offering me example code I can inject into the editor (which is pretty helpful if you’re kicking the tires on, say, APL).

So you’re coding up a storm in the editor, and you think, “This started as a little script, but now it’s an operating system! I should probably save.” Repl.it has you covered. You can create a repo, commit, and push to GitHub right from the sidebar.

Just like that, you started with a toy project in a new language, and smoothly worked your way up to something much more substantial. All in the browser, without installing anything. A great coding experience with one click.

Take a look at the 50 languages and frameworks they support, pick something you’re curious about, and take it for a spin. Thanks to Repl.it for sponsoring the transcript, and for helping to build the future of coding.

To start, let me recap the introduction to the survey:

At the conclusion of this survey, we’ll know a little more about who here takes surveys, how they interact with various branches of our community, and whether or not we should move away from Slack.

The survey is anonymous, and data collected will be shared with the community.

Section One: Who Are You, Really?

Let’s find out some basic information about how you interact with the community, and what the community organizers can do for you.

Question One: Roughly how often do you post / comment on the Future of Coding Slack?

We have a lot of lurkers — people who just read others’ posts and don’t post or comment themselves.

A handful of people post every day, which feels about right to me. You know who you are, and I love you.

About 12% of respondents didn’t know there was a Slack. That’s helpful, as it means this survey did reach some people via the podcast or via Twitter. But it’s not such a large group that we’d need worry about it distorting the results of our questions about abandoning Slack.

If you find yourself reading this and you’re one of the 12%, would you kindly proceed to this page.

Question Two: Do you subscribe to the newsletter?

You should subscribe to the newsletter! About half of all human beings do.

A third didn’t know there was a newsletter. Hopefully they signed up.

I’m so happy that Mariano is putting together the newsletter every week. I often find that I don’t have time to check out all the talks and articles and projects being shared throughout the week, but having them synthesized into an email helps me make time to review them all at once. Thank you, Mariano.

Question Three: Do you listen to the podcast?

This one is interesting. According to the results, zero percent of people actually listen to the podcast. Frankly, I can’t blame them. The transcripts are so good, why would you listen? It’s not like there’s a soothing voice, skillful editing, tasteful music….

…and 30% of respondents don’t listen to the podcast. Shame!

And 10% of people didn’t know there was a podcast. Hot tip: Listen in your podcast player by searching for Future of Coding, or via Apple Podcasts | Overcast | RSS | Blockchain

Question Four: Do you read/use the podcast transcripts?

The transcripts are surprisingly popular. Surprising to me, at least, since most of the podcasts I listen to don’t even have transcripts. When I first reached out to Jack Rusher about coming on the podcast, he specifically asked about transcripts. Since I was so intimidated by him, I put in a tremendous effort to make the transcript for that episode as good as I could. And now, whenever I post a new episode, the #1 piece of feedback I get is how much people love the transcripts — the notes, the links, etc. That feels good, though these transcripts do take a tremendous effort to produce — often around a dozen hours per episode, mostly correcting mistakes and poor quality results from the human transcription service I use. Hopefully I’ll find ways to streamline the process in time.

Question Five: If the podcast had a Patreon, would you potentially back it, and if so for how much?

Since the transcripts take so much time and effort, and the Repl.it sponsorship doesn’t even cover the full costs of producing the show, it’s been hard for me to justify doing this podcast to my key stakeholders (Freyja and Astrid). So back when I made this survey, I was thinking of launching a Patreon. That was, of course, in the halcyon days. So that plan is off the table for now.

One person picked my joke answer, exactly $771 per month, which just so happens to be my favourite number since childhood. Whoever you are, thank you.

Question Six: If you are willing to back the podcast on Patreon, would you want an incentive, like bonus episodes, in return?

Question Seven: Are you or your company interested in sponsoring the podcast / community?

I’m still waiting for those DMs.

One very last final tiny little closing thought about money before we move on to the fun stuff. For me, it’s not about trying to earn income. I’m not doing this podcast for the exposure, either. I just want to make something really good. I think this show is a fantastic vehicle for conversation and the exchange of ideas, and I want to do the absolute best job of it that I possibly can.

That comes at a cost, natch. Maybe next year, I’ll launch a Patreon and start to recoup the cost of producing the show. Hope to see you there!

Question Eight: Where else do you interact with folks from this community?

This is the first question where people could select more than one answer. It’s worth pointing out that the percentages in the pie charts are derived from the total number of selections, not the number of people who responded, so the representation is a little weird.

This is also the first question where people could write their own answers. We have 4 people who entered Mastodon, and one each for Strange Loop, Quora, Matrix, a single period character, and “imaginary conversations in my mind.” Big mood, as they say.

Question Nine: Where in the world is… the person answering this question?

Question Ten: How comfortable are you with English?

It will be interesting to see how this changes in future years. I am planning to run this survey again as an annual thing, to give us a nice historical dataset and see how things grow and change with the years.

Alright, let’s get spicy.

Section Two: The Pursuit of Perfection

The community is named “Future of Coding”, but that’s a rather nebulous concept. Let’s see if we can tease out what that means.

Question Eleven: Litmus test — thoughts on Bret Victor?

Friends — if you are reading this and you do not know the work of Bret Victor, go immediately to worrydream.com. It’s no secret that Steve Krouse and I have a tremendous fondness for Bret’s work. I think it’s telling that the most common criticism I’ve seen levied against his work is that people are disappointed that the things he’s made aren’t “real”. You can’t download and use his projects. But to me, that’s the point. Prior to Dynamicland, his work was meant to set the bar. If you’re building a new programming system, it must be this visualizable, this thoughtful, this humane, to be progressive. Bret raised our expectations, and I think that’s a tremendous thing.

So, of course, I think he’s a villain! He single-handedly ruined programming for my generation. We now know how much better things could be, and how much better they’ve been in the past, and how much time we’ve wasted living in the long shadow of C, Unix…

[parody parody satire parody j/k j/k ok enough]

Question Twelve: Are you currently working on any “future of coding” projects yourself?

This is another question where folks could select multiple answers.

77 people say they’re working on an FoC project independently. That’s fantastic.

On the other hand, 42 people are not working on an FoC project. That’s also fantastic. I’m thrilled that we have folks here in the community who are interested in the subject, but not vested-interested in the subject.

Question Thirteen: What FoC topics interest you most?

In the episode, I spent quite a while talking extemporaneously about this question. For you folks reading the transcript, I instead present you with this enormous bar graph.

Update: Community member Alex Wein created a beautiful interactive visualization of the survey results, centered on this question. They do a much better job showing the interests of our community. I highly recommend taking a look.

Note that this question allowed you to pick multiple answers, and it also allowed you to enter your own custom answers.

This question was extremely contentious. I had put a fairly tight limit on the number of answers you could pick, and boy did I hear about it. A handful of people wanted to pick, oh, 80% of the choices. I felt that that would throw meaningful representation of each answerer out the window, so a limit of 12 selections was what I settled on.

Here are the (non-joke) answers that folks wrote-in:

A few people also used the write-in field to stuff other answers from the list of choices. Yes, you clever monsters, your excess answers were counted.

Finally, relevant links based on the extemporaneous discussion in the episode:

Section Three: Put Out The Fire

Our community has used Slack as a discussion platform for several years, and we are now pressed against its limits. After spending the past two months looking at alternatives in depth, here are the most popular options. Your answers here will help us decide whether and where we should move.

Question Fourteen: Thoughts on Slack?

Gosh, I hope the survey was structured such that we can come out of this with a clear answer.

Narrator: But it wasn’t.

So, no clear answer here.

So, no clear answer here either.

Question Seventeen: The third option is a traditional server-driven message board / forum, something like phpBB. This option is appealing if you prefer a message board to chat (with all the changes to tone, length, and frequency of posts it’ll bring), but do not like the modern design or JavaScript features of Discourse (which sometimes get in the way more than they help). So, what if we moved the community to a traditional message board / forum?

Well there’s a clear answer, at least.

Question Eighteen: Now that you’ve seen the options, what is your #1 pick?

So now the question becomes: what do we do with this information? I think two things are newly apparent.

The first is that the folks who absolutely want to leave Slack are in the minority. Looking at both the initial “thoughts on Slack” question, and this final “what is your #1 pick” question, most people are either neutral or would be happy to stay on Slack.

The second is that even if we did want to leave Slack, even after spending a few months discussing options and weighing sentiment, the survey shows that none of the alternatives are all that popular.

To me, this data is a pretty clear sign that Slack has inertia. If the community didn’t exist yet, and we could freely pick where we wanted to start it in the first place, I’m sure the numbers would tell a very different story. But now that the community is established, looking at the numbers here, moving to a new home would almost certainly cause more damage than sticking with Slack, at least in the short term.

So I think we need to address the shortcomings of Slack in a different way. We have our list of complaints: the loss of history, the poor search, the fact that Slack threads aren’t good facilitators of deep discussion, etcetera. A few of us have made various attempts to address these issues in the past. Steve Krouse made a history search using the Slack API, which works in a pinch but could definitely use refinement. (Though it’s not working for me as I type this, and others have reported similar issues in the past, so YMMV.) A few people have tried to set up wikis, so that we can capture the references and concepts and projects that come up in our discussions. There’s Mariano’s newsletter, which sort of doubles as a folk history of our community.

If we’re going to stick with Slack, I think we should take whatever effort we’d otherwise need to invest in moving to a new platform, and instead invest it in tools that will help our community thrive despite the shortcomings of Slack. There’s a community Github organization that you are welcome to join and publish your projects through. We have a handful of experimental programming tools that could surely be put to good use in building some tools for our community. So I think that’s the direction we should go.

Section Four: Free Thinking

‌These optional questions are an invitation to anonymously share your thoughts on the community. Your responses to these questions will help us organize, moderate, and grow.

Given that these questions are so open-ended, and the answers so diverse, I ended up spending about half of the length of the podcast reading and reflecting on them. I won’t mirror all that discussion here, but I will share all the answers so that you can read through them yourself without needing to download the raw dataset.

Question Nineteen: What would you like to see the community do more of?

Major themes that emerged:

There were 4 answers that resisted easy categorization, that I commented on individually in the episode:

Here are all the other responses. If any of them propose something, like a project or new initiative, that you’d be interested in organizing on behalf of the community, reach out to me and I’ll help give it official recognition and promotion.

Again, in the episode I reacted to a few of the answers specifically, but this time a little more briefly than the previous question. I felt the answers here were more interesting to me than they would be to listeners. That said, I’ll once again include them all here, for those who are interested.

Question Twenty-One: What does “Future of Coding” mean to you? In other words, what are sorts of things are on-topic (or off-topic) for our community?

Finally, the good stuff! I had such a blast reading all these descriptions of the threads that bind us together. On the episode, I read them all. Every. Single. One. Set to music. That was a really fun way to end the episode, and that’s also how I’ll end this post.

If you’re new to the community, I invite you to join us. Once again, you can find a CSV of the survey results here, and I invite you to do your own datavis and share it with us. I hope you enjoyed this first ever community survey. Stay safe, and I’ll see you in the (very near) future!

I do too.