Looking for more podcasts? Tune in to the Salesforce Developer podcast to hear short and insightful stories for developers, from developers.
79. A Podcast about Podcasts
Hosted by Charlie Gleason, with guests Jennifer Hooper, David Routen, Chris Castle, and 永野 智.
On this episode, the team behind Code[ish] — Charlie Gleason, Jennifer Hooper, David Routen, Satoshi Nagano, and Chris Castle — sit together to talk about how this podcast is produced. They'll go over how Code[ish] got its start, and provide equipment and software tips for anyone curious to start their own podcast.
Charlie Gleason, Jennifer Hooper, David Routen, Satoshi Nagano, and Chris Castle talk about their various roles in the production of Code[ish], whether that's serving as a host, mixing the audio, or handling the design. The idea for Code[ish] started many years before the first episode was ever recorded. The name came about from the desire to produce a show that was "sort of" about code. From the get go, it was important for Jennifer and the rest of the team to identify several categories which episodes could be placed into: Dev Life (about people and activities), Tips and Tools (about physical and technical tools), Deeply Technical (deep dives into technology), and Heroku in the Wild (how Heroku is being used in production). These tags helped establish a framework very early on.
Although everyone loved the idea, there was a lot of work to be done in the beginning. Someone with audio experience was necessary to suggest equipment and ways to mix the sound. It took a while for the release cadence to get right, because it became very apparent early on that the goal of two episodes a week was too much. And Code[ish] JP, which is a Japanese-language version of the podcast, was also figuring how it should be produced. Little by little, and with encouragement from others at Heroku, both podcasts found their footing.
Producing a podcast is all about listening to questions and ideas, and filtering them into a narrative that makes sense. You have to pair hosts that are passionate about the subject at hand, so that the conversation appears natural, not just a question and answer session. On the technical side, listen to other podcasts and identify what you like about them. Last but not least, always try to learn and improve, by taking listeners' feedback to heart.
Links from this episode
- Adobe Audition, Zencastr, and Simplecast is some of the software used to produce the show
- This XKCD comic shows the importance of sanitizing inputs
Charlie: Hello, and welcome to Code[ish]. I am Charlie Gleason, a designer and developer at Heroku and Salesforce. And today, I'm joined by a number of people from our team, and we're going a little bit meta for this episode. We're doing a podcast episode about creating podcast episodes. So, I'm joined by Jennifer Hooper, who was, really the inspiration and the driving force behind creating Code[ish] and getting Code[ish] out to the developer community. David Routen, who is a developer on the marketing web ops team. Satoshi Nagano who joins us from Japan and looks after the Japanese, imprint of Code[ish], Code[ish] JP. And Chris Castle, who is a developer advocate at Salesforce as well. So, I guess one, to kick things off, Jennifer, it'd be great to hear from you on, where the inspiration for this came about and what inspired you to do it and how that kind of process started.
Jennifer: Absolutely. First of all, I can't take all of the credit for it. The idea of doing a podcast at Heroku has been one that I've thought about for quite a few years internally, I was with Heroku, left for about a year and a half, and when I came back, there actually were some episodes recorded and, with the idea of creating a podcast and because it was something I was very interested in doing, I just worked with Chris and others, many of the folks on the call today, and we just decided to make it happen.
Charlie: Yeah, I think it's definitely a cast of thousands. And I think as well, trying to pull together, speakers, pull together ideas for it. How did you kind of start documenting and, going through that process?
Jennifer: Well, first we had to come up with a name. We knew that we wanted to do something that was resonant with our developer audience. And we thought of a lot of different names. We figured, well, you know what, it's going to be about code-ish, so, we wanted to talk about, some other episodes. And so that's how the name was born. We decided that we really needed to have some structure, around how we would manage and look at the different types of episodes. So we came up with the notion of four categories. So we have Dev Life, which is really about people as humans and things that you're doing there. For example, we have an episode on meditation. Then we had Tips and Tools, which evolved from being only about technical tools to, the human types of tips and tools, whether it's about, how to speak at conferences, to how to do a coding interview.
Charlie: Were there any other kind of gotchas around starting the podcast? I know it is a lot of work, to kind of be producing podcast episodes.
Jennifer: There's definitely a lot of work. When we first started doing this, we started doing this, with two episodes a week. And, while we were able to keep that up, I was getting feedback from people around the fact that, maybe this is just too much content and people were feeling a little overwhelmed by what we were doing. I also was, very reliant on some folks for doing episodes and having things scheduled, and so I didn't have a huge backlog and, a couple of times I had to scramble to get an episode out. David and Charlie who are on this call were kind enough to create one for me when I was in desperate need, pretty quickly or a few of those moments.
Charlie: I can remember that.
Jennifer: Yes. So that was definitely something that you had to take into account is, how much of a backlog you should actually have, and to be able to run something comfortably like this.
Charlie: What kind of resources did you need to pull together, to be able to produce these? Because obviously we don't have... we're not doing everything in-house. So how did that process of finding the right people to help, happen?
Jennifer: I think this was one of the things that I had to learn. I've never done anything with a podcast. And so, coming up with a process that worked well was something that I learned on the fly. The first thing that we knew that we needed, because we didn't have, in-house was finding an audio producer. So we have a great audio producer named George. We put out a call, I wrote up a job description and we thankfully found George who's been doing a phenomenal job, bringing all of these episodes to us. So we worked with him to set things up, Chris, who's on this call should speak a little bit about some of the technical details in terms of equipment and everything else and finding the right ways to record all our pieces. I also needed a writer, to be able to write things for every episode. Doing that myself or having the podcast guests or hosts do that just wasn't sustainable.
Jennifer: So I had a writer that I've been using, his name is Garen. So he's been doing a great job, keeping all of these things going. We had to work on transcription. So, I am using rev.com, and they do a fantastic job. However, no transcript is perfect. So I do have Garen , go through and review each of the transcripts just to make sure that, technical terms and other things are accurate. So, we've really created a smooth flow for how all of this goes through the production system of getting things ready. And then, from the equipment side, Chris it'd would be great if you wanted to weigh in on some of the learnings we did there.
Chris: Yeah. We actually had... Similar to Jennifer I can't take all the credit here. There was quite a bit of a podcast production interest, or audio production interest, within Heroku. And like Jennifer was saying, right before Jennifer came back to us, we had an, Heroku's annual all-company meeting, in the summer in San Francisco. And, a bunch of us had kind of ad hoc, communicated prior to, that get together and wanted to try to record some podcasts. So, we did that and a whole bunch of people showed up at this meeting, in San Francisco. A whole bunch of Heroku people showed up, Herokai, we call them. Showed up and had great recording equipment. So we had this interesting and great foundation, but we were all kind of amateurs figuring it out. And then Jennifer showed up and helped to make us official and make this real.
Chris: So from then, I just looked at, all the stuff other people had, and our audio producer, George also recommended certain microphones and, an audio interface, external audio interfaces, so you can record a very smooth voice and high quality audio. So yeah, like Jennifer said, it was kind of just like a figuring it out on the fly task of, reading lots of reviews, talking to lots of people who had audio production experience and then just testing stuff out, being a remote... mostly remote organization, testing stuff out and making an order online and shipping it to someone who was going to host a podcast, and seeing how it worked out for them. And so we kind of finalized on a package of equipment that seems to work for most of the hosts that we use to create the podcast.
Charlie: So that's kind of getting us to the point where we have, an episode or an audio file of an episode and a bunch of content around it. I'd love to pivot towards how this was integrated into Heroku and now, our primary website. David, I know you and the MWO team did a bunch of work around this from, profiles and episode details to the RSS feed. I'd love to hear about that experience and if there's any, things that you found through that, that was surprising or that might be worth digging on.
David: So, we were lucky enough to already have a podcast and podcast episode, section in our admin. So we didn't have to start over or start from scratch. We did have to expand that functionality quite a bit because we weren't tracking everything that we needed to, especially for the RSS feed, which we discovered much later, like the length of the file and bytes, the number in the sequence of episodes and other details like that. So we did quite a bit of work building out that functionality on the backend, a lot of work as well, kind of building out, a nice pleasant looking piece on the front end too. And I know Charlie, you did quite a bit of work on that to making it look as sharp and beautiful as it does today.
Charlie: Thank you.
David: Of course. And we definitely learned a lot doing this. One of the challenges, one of the first challenges we faced was how to keep track of all the different speakers, all the Heroku presenters that, would kind of lead or host the episodes and then everyone else who would contribute. So, after a bit of deliberation, we decided to actually use the author section from our blog CMS, and we keep track of all the profiles there. And then those are updated periodically to our dub, dub, dub website, where you can select who you want to attach to each episode. With the RSS feed, I didn't do the majority of work, Raul, our engineering manager did. And, I am very happy that I did not do most of the work of that. From what he has described to us, it was a challenge. So, none of us, at least on the MWO team had any experience with podcasts or podcast RSS feeds before.
David: So, we did quite a bit of tinkering. He said he started looking at some RSS feeds from other popular podcast. He mentioned Tim Ferris and Joe Rogan's podcasts, to get a baseline. And then looked at Apple's docs and Google's docs, to ensure that we're including, all the different kind of fields that you need to. Unfortunately, sometimes the same, say like the description or title, many times over. And, he finished that off by submitting that feed using our dummy data and then, potentially some real data, to several different online validators. And he would just continue tweaking the feeds, making sure we had everything required until all of them gave us the green light.
Charlie: And then I guess the other technical of this is quite interesting is that. We have kind of almost a mirror of our site in Japan. And so, because of that, we wanted to also extend the podcast to Japan, Code[ish] JP. Satoshi, how is that experience of getting the podcast up on the Japanese side?
Satoshi: Well, every day is a learning experience. Still a student of podcast, student of even Heroku, I guess, in that sense. So, when I started this Code[ish] JP, I didn't have any experience at all, actually George gave me some, one hour lecture, via Google Hangout, teaching me how to do the post production by Adobe Audition. I didn't know how to do any kind of a recording experiences before. So, I didn't know what the condenser mic was. And then, somehow I bought, with the help of a gentleman that previously working in, Heroku, helped me buying the audio mixer and condenser microphone and I set it up and it never worked. So I actually... We bought a bunch of equipment and I never actually used, because three failure was enough for me to record a podcast with a guest. So, that wasn't really a mess, in the first time. And then, I figured it out, which works, and which ones don't. And just choosing, whatever that it works and then, making it just repeatedly, and it keeps getting better and better.
Charlie: Well, I suppose that actually takes us to, another thing that I was going to talk about, which is the things that we learned or things that we would've done differently if we, had the opportunity again, if we were starting with a blank piece of paper, doing this whole process again, what would we do differently. And I think one of the things that tripped us up a little bit at the start was the name, Jennifer.
Jennifer: Yes. It never even crossed our minds that we should be very careful about how we named it. So, we were looking at the name of Code[ish]. I spoke about that earlier, how we came up with it, but we wanted to use the square brackets. It was really, a homage to code. However, when you syndicate your podcast to platforms that people will listen to, we didn't expect that there would be issues with people actually finding it. So, when someone searches for the word Code[ish], without the brackets, on most platforms, you won't find Code[ish] because you have to put those square brackets in. And in some cases that even causes issues with, the URLs are generated or how you can set up your actual podcast. And so, that was definitely a learning and something that never crossed our minds. At least not mine. Chris, I don't know if you ever had any thoughts there, but, that was definitely a surprise.
Chris: I feel like I should have thought of that now, but, it doesn't. It's like a... There's a funny, an internet comic, I think named Little Bobby Tables or, Little Bobby Drop Tables or something like that, where, yes, certain systems out there, this has to integrate with, 10 different podcast platforms, listening platforms out there, whatever it is. And some, don't like special characters.
Charlie: I suppose one of the things that you also pointed out Chris was, process of recording, is super remote, it's pretty rare. I think I've done one podcast, in the same room with another Herokai, when I was in SF, but usually, we tend to record them remotely. So we use Zencastr a lot of the time for our recording process. And then, George will take that and put it all together. But, there were actually, a ton of gotchas around those toolings like, system resources, audio rates, whether or not people have the right mic set up, the room they're in. So we put together some pretty detailed guidelines that we send out before we do a show with someone, which kind of walks them through just some things that can make that experience smoother.
Chris: And we iterated on that too. It wasn't perfect.
Charlie: Yeah, absolutely.
Chris: And we found that things that we thought would go smoothly, did not go smoothly.
Satoshi: I actually created that, Japanese version of the, how to do the Code[ish] JP too.
Charlie: Oh, no way.
Satoshi: Yeah. I never, distributed that because you guys cannot read it, but, it's in Japanese.
Charlie: One aspect actually that I'd love to bring up because I think it's important part of it, the design process that we went through. One thing that we wanted to do was for, credits to stand on its own. We did so on our iconography logo, and a little bit of a brand field definitely inspired by the Heroku brand, but having its own kind of flavor. And then that developed into heroku.com/podcasts and became almost this new hub for us to not only celebrate and release Code[ish], but to also celebrate other podcasts, featuring members of the team. So we went through quite a few design cycles. We looked at different ways of treating the Code[ish] logo. We did the two different ways of treating the website and it was a really interesting process to kind of create this micro brand. But yeah, and then that design, we used that across a bunch of different mediums.
Charlie: So, everything from social media through to email, I know Jennifer, that was a big part of your strategy for this was, having kind of tying these different episode categories or themes into different, slightly different visual treatments across email and social, which was an interesting process as well to kind of try and make it clear that these things existed together, but they had their own sort of identities.
Jennifer: Yeah, definitely. When we came up with the categories, I spoke earlier about the fact that when we first started this, I was doing two a week. And, initially I had the idea that I would put the technical, episodes on Tuesdays, so that would be, either the Deeply Technical or the Heroku in the Wild, type episodes. And that, I would put the Tools and Tips or the Dev Life episodes on Thursdays. That worked for the most part. There were times when we, didn't have the right episode for the right day. Also, sometimes there were things about in specific dates that we wanted to put something out, for example, we had one episode that was related to one of our product launches. That became a little bit of a challenge and, ultimately when I started asking people about what they thought about this, nobody even had caught on to the fact that I had these maybe.
Jennifer: So I think it was something that, I thought made sense, but nobody else really even caught onto. So I realized that that was over-complicating things there. The other thing you mentioned is emails. And, one of the things we decided right before launch. So it was yet another thing I threw on to David and the team, as well as Charlie for design was, having the ability for people to subscribe and find out what episode was next. So we created a simple mailing list that people can subscribe to. And, we just created a little email that goes out with every episode, just letting people know that, a new episode is there. And if it's of interest to them, they're able to easily click on that and listen. So, that's definitely been, again, a lot of these things were, "Oh yeah. What about that? Oh yeah, shouldn't, we do that." And so it's listening to, lots of questions and ideas and then filtering through those and trying to come up with the ones that, we think actually made a lot of sense.
Charlie: Yeah. One of the things that I found incredibly helpful was the idea of trying to, find guests that make sense to, be paired up with different hosts, because we do have a range of people hosting Code[ish] podcasts.
Jennifer: I would expand on that a little bit too, to say, from the beginning, Code[ish] was meant to be a podcast from Heroku, not a podcast from, a certain person. So Chris and our dev advocates play a really strong role and they do a lot of the recordings as Charlie, you do too, because you really like it. But for me, one of the big learnings, which is kind of obvious, I think, when you think about it is, it really works best when you have a host that is interested in the guest subject. So either, someone who doesn't know about it, but wants to learn more, or someone who's passionate about a subject. And getting the right host and the right guest really makes a huge difference. And so that's a big part of what I do. I feel like a matchmaker sometimes, like, "Oh, I've got a great idea."
Jennifer: And, I'll often go to Chris and say, "Hey Chris, what about this one?" And, he'll tell me yes. Sometimes he tells me no, but then I'll go around and look for others to, be the right host in terms of, really getting that right mix, because I think that just really makes the episode so much more interesting.
Charlie: And I think it's all about trying to create a successful podcast. Did you have a definition in mind, Jennifer, of what success looked like and how you would measure that?
Jennifer: That was definitely one of the learning areas. I went into this, just assuming we'd get metrics from, every platform that Code[ish] was syndicated to. Quickly found out that, not only was that not true, but even the metrics that we got across the different sites were very inconsistent, both in terms of, how they defined certain activities or other things. One of the things that, doing a lot of research into this as Chris has mentioned earlier, that's a lot of what we do is, come up with a question and then, research and figure out, what we can learn from what other people have done in the past, one of the ways that we could have measured this a little bit more explicitly is putting in, tagging with some of our feeds. And, that really isn't the purpose of this.
Jennifer: It is important to us that, we are delivering a quality product. We look at a lot of things around engagement, around, how people are subscribing, are people listening to certain episodes? Are they not listening to others? For me, the biggest thing is having a podcast that is resonating with our audience, and that we're providing the type of content that is of interest to users. As I mentioned, this is really a community thing. Chris, you can probably speak to the community side a little bit more about, what this means for you from a developer advocate perspective.
Chris: Yeah, totally. It's been fun for me. I get to speak to all sorts of interesting people in the technology world and in our community, not just Heroku fans and users, but lots of other people in the technology industry. So, it's cool for me to have an excuse to say, "Hey, let's chat for an hour and, we're going to record it and then put it on the internet." I've had conversations with, for sure, some customers like Ryan Townsend from Shift Commerce. But Charlie and I also did, a fun coding side project podcast recording about this little Christmas present Bluetooth IOT button that I made for my nephew, two year old nephew. All sorts of interesting things. I got to learn about Rust. I invited the people who wrote The Rust Book, which is the canonical learning resource for the Rust programming language.
Chris: And they were excited. They were like, "Oh, this is cool. I'll chat with you about Rust." Chris gets to learn about Rust and they get to talk about the book that they created. So it's beneficial to all, including the listeners who get to, learn a little bit about Rust directly from the people who are seen as the main Rust educators in the community. Yeah, it's super beneficial to me personally. And it's been fun that I can make it beneficial to everyone and bring in, different voices from all over the technology community.
Charlie: And, how about Code[ish] JP, Satoshi? Did you have different, sets of goals in terms of what success looked like? Or was it similar to Jennifer's imprint?
Satoshi: Actually, success is more personal. I don't know about anything that, Heroku business as a whole, to be, Code[ish] JP is a part of it. It is more about learning about our customers, partners and then some of the Heroku fans, developers. And then, this Code[ish] JP is really a way to rezone, just make sure that, I can talk to them and then listen to, whatever they say. And then, it is really quite experience for me because, I found out more about the new things. And then I never have ever, thought of their opinion or their thoughts, if I didn't do any podcasts at all. So, it is really a successful for me first. And then, I hope that, every listeners, tuning to the Code[ish] JP is finding out more about Heroku too. For instance, I had a one podcast with Matz and Nakada-san, who were, one of the first employee, Japanese employee of Heroku, I spoke to Matz, probably three or four years ago once, and then I never spoken to him. But, I just email him and then saying, "Why don't you just join the podcast?"
Satoshi: And then he said yes. And then, we learned a lot about, how the Ruby came out and how he joined the Heroku and then Salesforce. And, I would have never, heard any kind of story if I didn't do any podcast. So, it was really successful for me. And then hopefully, it was, a successfor the listeners as well.
Charlie: Yeah. I love that. I think even for me, I echo both of your sentiments there that, I just have really enjoyed, personally, just connecting with people on topics that, like Jennifer said, that I feel passionate about or that I want to learn about. And I think as a host, I don't think there's ever been a better time to, try remote podcasting, if you feel so inclined, if that's something that you're interested in and there's so many tools available now, like Zencastr, and there's distribution through tools like Simplecast. That all kind of lowers this barrier to entry. So I think if people... If you've thought, "Maybe I'll make one." Hopefully some of this has either given you, some inspiration to give it a shot or some questions to dig deeper in on. We're always happy to talk about it.
Charlie: So you can reach out to any of us through the show notes, or the episode page on heroku.com. But, I think one good thing would be to let everyone kind of give another, their last piece of feedback, potentially something that they, would like to kind of close out this meta deep dive into podcasts about podcasts.
Jennifer: The thing that, I really take away is, you need to be true to what your vision and voices for the podcast, so that you're delivering things to the audience that they will enjoy. So it's looking for those opportunities we've had. I work a lot with many of our customers and, we don't always have our customers talking about Heroku. That's not the point. One of my favorite episodes was a customer talking about his passion for technology and art. So getting to find someone who's interested in something, whether it's a hobby or having one of our senior engineers talk about, meditation and, those are just the best type of episodes because you're having someone talk about something that they're passionate about. And, the biggest advice I can do, say is just, know where you're going, but always try to learn and improve. I'm doing that all the time. And hopefully it's getting better and, I am very open for feedback. So if people do have any suggestions or things they want to hear on Code[ish] or, they'd like to see improve, please do contact us, but, Chris, what about your thoughts?
Chris: Well, for me, I don't know, it's been a really cool, way to do my job. My title is Developer Advocate. And as a Developer Advocate, I want to, advocate for others, help them in some way. And so it's been a really cool way to take certain people in the community and give them a megaphone or give them a way to, share some knowledge out with others, which, potentially helps build their career. And then for our listeners, for the developers or other folks that are listening to Code[ish], hopefully they're also learning something or making some connection or it's inspiring some train of, or line of thought that they can go down that helps them in some way. So, like Jennifer said, it's, I think super important to not be obsessed with the metrics right away, but be super obsessed with the people, both the guests and the listeners and, creating something that benefits them, helps them in some way.
Charlie: David was there anything that you, kind of thought would be worth sharing, that you learned through this experience?
David: Sure. Since most of my experience is more on the technical side. I'll speak to that. If you are considering starting a podcast, do your research, listen to this podcast, listen to the many other podcasts that I'm sure exists on the same level as this one, read articles about people who had done the same thing. There are plenty of gotchas, but, a lot of people have gone through them and documented them. So, you have answers to almost all of these issues that you could face.
Charlie: And, last but far from least, Satoshi.
Satoshi: Sure. So, I never thought of myself doing any kind of internationalization or translating the Code[ish], original Code[ish], to a Code[ish] JP. It is more about starting from scratch, but, it was. Actually, I've got a lot of help from my colleagues, and then, Jennifer, Charlie, Chris, David, you guys are really teacher for me, and thank you for that. But, my next goal is expanding this to, other countries as well, like Korea or, the Indonesia, or even other country who don't, listen to the podcast in English, natively. And, they can just start doing this. And, I would like to help them start this Code[ish] experiences from the scratch as well. So, just to try not to be, mimicking, whatever that I'm doing, they can start doing that, by themselves, and then start enjoying it because podcast is really enjoyable.
Charlie: Well, thank you everyone. It's been a wild ride, getting to where we've gotten to with Code[ish], and, I speak for everyone when I say that I'm thrilled with, what we've been able to achieve. And I hope that people out there find some inspiration in some of these stories or, some of our experiences. Jennifer Hooper, David Routen, Satoshi Nagano, and Chris Castle, thank you so much for taking the time to chat.
Jennifer: All right, thank you Charlie.
David: Thank you, Charlie.
Satoshi: Thank you very much.
Chris: Thank you Charlie.
A podcast brought to you by the developer advocate team at Heroku, exploring code, technology, tools, tips, and the life of the developer.
User Interface / User Experience Lead, Heroku
Charlie is a designer, developer, musician, and creative coding enthusiast. He can usually be found somewhere in London, probably on a bike.
Sr. Director, Heroku Technical Product Marketing, Content, and Brand, Heroku
In my spare time, I play at photography, bird watching, cooking, and travel.
Software Engineer, Heroku
David is best known for his skill at board games (false), preternatural hockey abilities (false), and love of reading, baking, & ancient Egypt (true).
Director, Developer Advocacy, Heroku
Chris thrives on simplicity and helping others. He writes code, prototypes hardware, and smiles at strangers, helping developers build more and better
RVP, Heroku Japan & Korea, Heroku
More episodes from Code[ish]
Jim Jagielski and Alyssa Arvin
Jim Jagielski is the newest member of Salesforce’s Open Source Program Office, but he’s no newbie to open source. In this episode, he talks with Alyssa Arvin, Senior Program Manager for Open Source about his early explorations into open... →
Lisa Marshall and Greg Nokes
This episode of Codeish includes Greg Nokes, distinguished technical architect with Salesforce Heroku, and Lisa Marshall, Senior Vice President of TMP Innovation & Learning at Salesforce. Lisa manages a team within technology and product... →
Innocent Bindura and Greg Nokes
How do you know an application is performing well beyond the absence of crash reports? Innocent Bindura, a senior developer at Raygun, shares the company's tools and utilities, discusses the importance of monitoring P99 latency, and talks... →