Mediations with Candost
Software World with Candost
#25: Live Pair Programming, Open Source, and Building Communities with Nick Taylor
0:00
-49:42

#25: Live Pair Programming, Open Source, and Building Communities with Nick Taylor

On this episode of the Software World, I welcome Nick Taylor, Lead Software Engineer at Forem, the software powers dev.to.

In our conversation, Nick talks about how he hosts pair programming in a live stream, important aspects of having and building communities and working on open source.

Find the show notes and transcription at https://mediations.candost.blog/s/podcast.

Follow Nick on Twitter @nickytonline.

Links

Transcript

[00:00:00] Candost Dagdeviren: Hello, everyone! Welcome back to the software world with Candost. Today, my guest is Nick Taylor. Nick is a lead software engineer with a focus on front-end at Forem. You may not know Forem, but it's the software that powers dev.to. I came across Nick on Polywork. And I was curious to learn more about the things that he does such as hosting live pair programming streams, creating a community around VS Code.

You may or may not know that I started this podcast as a live stream. So I have some experience on live streaming. And for me it was very difficult. So in our conversation, Nick talks about how he hosts pair programming in livestream, which is pretty much interesting. Nick really opens up the IDE and starts from scratch and is directly like coding on live. And it's still very, it's a place where you see the real programming. So in videos on YouTube and et cetera, they're all edited, and it's not prepared in the livestream. And what Nick does is really beneficial to everyone and especially the beginners.

So now it's time to listen and learn from Nick.

Hey Nick, welcome! I'm really glad that you are here.

[00:01:59] Nick Taylor: Yeah. Thanks for having me, Candost. I'm looking forward to our conversation.

[00:02:03] Candost Dagdeviren: Yeah, this topic is like I have this topic for awhile on my mind, but after I saw you, the topic got bigger because many things you are doing are very interesting. And all thing, when I went all things come together, I said, okay, now I found the perfect person to talk about those things because. Open source contributions and streaming and building communities around.

Those are the things I've been thinking for. I dunno, for maybe the last six or seven, eight months that I've been trying to, like, I started this podcasting with live streaming and then I ended up saying, okay, live streaming. So much work. And then let me try the podcasting. Then I also realized, oh, okay.

Podcasting's a lot of her too. So

[00:02:50] Nick Taylor: Yeah.

[00:02:52] Candost Dagdeviren: yeah. So you, you host multiple streams and this is like what? I was a bit more I dunno curious about it because I couldn't have done even one stream like once a week, but you host multiple streams. Could you talk about like what you do and what's your goal with them?

[00:03:09] Nick Taylor: Yeah.

So so if we, if we kind of go back in time a little bit to say maybe about July 20, 20, I guess. Yeah. but it's just over a year and a half ago almost. I work in open source as we'll get into in a bit. And because it's open source. I can literally do my work in the open there's no, you know, there's no intellectual property to hide or anything.

And I actually got inspired by a few things. Shawn Wang AKA Swyx who's he's, he's really popularized the learning and public movement. It's it's always exists. It's existed for a long time, but I feel like he brought it back to the forefront and definitely in the context of a software development I definitely, really like all the things he does and continues to do with the learning and public movement.

And so at first I was like, Okay.

you know what, I'm going to do this. I'm going to learn in public. So. You know what, I guess I'll try and start streaming. And I kind of also got inspired from Jason Lengstorf forbid. Who's a VP of developer experience at Netlify. He's, he's a really kind human being and he's really good at streaming.

He's been doing it for quite a while now, and I just liked what he was doing. And I kind of tried to model myself off of that. But when I first started. 'cause I know you were talking about, you know, streaming being difficult potentially. When I first started, literally nobody is watching you on a stream because nobody knows that you're streaming.

So I literally started off with, okay, I'm going to do my work on Twitch and I'm just going to see what happens. And probably the first few streams I did, like literally zero people were watching me and. It didn't bother me. I was just like, you know what? I'm just, you know, it's not like you get an audience overnight.

I mean, in rare occasions, maybe some event would cause that to happen. But in general, I'd say it's a pretty slow trickle to get your audience. And so I just kept at it. And then this kind of ties into open source and everything too, but I was doing my own work. And then at one point I was like, wow.

You know, I work in open source, we're building out welcoming inclusive communities. Why don't I pair with somebody in the community to, you know, see if they're interested in pair programming. And also it would mean they'd be contributing to the form code base which is which we'll talk about after two, if you want.

[00:05:50] Candost Dagdeviren: Sure.

[00:05:51] Nick Taylor: And so I found somebody believe it was her name is escaping me at the moment. But she was very excited to to go ahead and do it. And we did it and this was on my stream at the time. So it went well, we had a lot of fun but it it's, nothing was perfect. And when you stream nothing's ever.

[00:06:10] Candost Dagdeviren: Now.

[00:06:10] Nick Taylor: I think that's why I enjoy the medium because for example I have a lot of respect for people that produce YouTube content. Like folks, like not are Dobbin or annual Kubo, or there's a, there's a ton of people, you know, when somebody makes like a five minute video, it's not five minutes that they spent on it, it's hours and hours.

So when you see them with long tutorials or like kind of almost workshop like content, you know, they put in a lot of time. But when you come to the streaming world, it's live. So if something goes wrong, it just goes wrong. You can't change it. And I think the audiences that watch Twitch streams, it's typically Twitch streams.

There's other platforms. I'm sure, but it seems to be the main one. There they're all accepting of things going wrong. It's kind of just the nature of that platform and it's, and it's kind of fun sometimes too. Got it wrong. So that's kind of how that all started. And then, you know, I paired with, I think, two more people on my stream from the community that wanted to contribute to the form code base which powers sites like dev.to and that went really well.

And then what happened last October? So last October Fest before we were starting Hacktoberfest I had a new coworker at the time, Christina Gordon, who's our developer advocate. We were talking about stuff to do for October Fest because we were, we were kind of, there's a lot of people running, helping run it at a forum, but we were kind of like, I don't wanna say the face of it because that's not true.

It's more like we were doing a lot of stuff with it though. And I, I thought of saying like, well, you know, I've done. Pairing streams on my own stream. We have this dev Twitch account for dev two. Why don't we just start pairing with the community on that stream, on that stream channel? And so that's kind of how this other stream started, which I'll talk a bit about too, but it was hacked Tober fast.

It was the perfect time. And then we just started pairing with people, speaking to people in open source. And that's how the practical dev two extreme kind of got revived. I think. I think it might've been used once or twice in the past for like an event or two, but they never really use that platform. So that's how those two streams kind of came about.

And. Yeah.

so on the dev stream, we'll typically pair with folks, but we also interview folks from the, from the text-based typically, you know, so it's a nice mix of just meeting really interesting people and just having great conversations like we're having. And also, you know, when folks are available, we can pair with people.

Sometimes it's on open source for the forum project, but I've paired sometimes with folks like tomorrow I'm pairing with Andrew Brown, who who's like big into cloud environments. And I don't know anything about Terraform, but he's going to teach me Terraform and I'm going to pair with him tomorrow.

So it's going to be interesting, you know, I, I. I think it, I think the pairings interesting, well, maybe on both sides, but I liked the unknown and it's, you have to kind of be comfortable with things might not go right. And, you know, just have fun, you know, I can understand people's reservations to do it especially live, but I don't know.

I've I just kind of embraced it and said, you know, I'm just going to do it because, you know, part of the learning public moment, but also. I'm just going to do it. I, I don't have a better explanation than that, so

[00:09:50] Candost Dagdeviren: Yeah. So for, for the learning parts, I think this is, this is the approach I also take with this podcast, like learn when you're talking with people because like, I, I invite many guests here and I learned a lot of things from them and I'm still seeking people that I can learn from many things. And once one thing you said was like, you start with zero people watching, and that's not the goal.

And now I saw it from your last streams that you have hundreds of people watching right now, and it builds up time to time and it comes to that point. But I think one of the things I liked about your streams is the pair programming part that you also mentioned. And. Because this part, I rarely see people are doing it.

I think it's the nature of like having it in a live session, having the pepperoni, because many things will go wrong and everyone knows that. So there's no perfect. And it won't be perfect. Like nothing will be perfect on that level, but. On topic of pair programming of like, why do you think it gives you right now?

The advantage of having it online. And also, why do you think the pair programming is beneficial overall?

[00:11:09] Nick Taylor: Yeah.

Well, I think from the live aspect, I think one thing, because again, like I was talking about the YouTube content creators before they put out amazing content, but the content that gets put out is like, okay, this is what we're going to do. And then we do this, this, this, and then it's it all was. And, and it's, and it's made that way because it is a tutorial.

It's not meant to have flaws in it, but that's not the reality, you know? I mean, there's definitely some amazing developers out there. So maybe they're almost flawless when they do these things, but the real nature of it is, and it doesn't matter what level you are in your career, you know, if you're just starting off or if you're like, you know, way along in your.

You know, you're going to be Googling stuff. You're not going to know what something is. You're going to make a silly mistake, you know, like, oh you're staring at the screen and you're like, why is this variable complaining in my linter? Oh Yeah. I forgot to put constant or let before, you know, because when you stare at things too long.

So I, I, I liked the aspect of people being able to see that like even people with experience of any level. Do struggle. And it's a normal thing. It's not a bad thing, you know? So I, I think that's one of the reasons why I like to do it live, you know, and, and it's, and I find it funny too, when I'm like, oh no, I, I really don't know what's going on here.

You know, like you know, and, and the other aspect of it, and we'll talk about pair programming in a minute. The there's a, there's an audience and it's it's live where they can interact. So there's people in the chat on Twitch and, you know, like say you're doing something. I was. Virtual conference recently, and someone was doing a live coding demo of something.

It was really good. But there was like a typo in a, you know, an API call and like, you know, I was like, oh Yeah.

you got a typo in the, in this, you know, and it's not to criticize it's to help, you know? And, and then, so you see all these people, all of a sudden, they're like, I don't know, try this, or, oh, it's doing this because so-and-so and I really liked that aspect too.

It's. Potentially like, kind of, even more than paraprogramming sometimes it's really collaborative because there's other people trying to help. And I just really liked the rawness and the spirit of that. And you know, you can't fake it when it's live, you know, like, Yeah.

no, I didn't make that mistake. It's like, yes you did.

We just saw it it's recorded. So

[00:13:37] Candost Dagdeviren: So if it looks like much different from like live coding in conferences, for example, like in-person conferences, like in there, when you make a mistake, you are all alone on the stage, right? So here you are on the Twitch and that you have a chat, someone can just come up and say, Hey, look, look here. Here's your mistakes, how you can fix it.

So it gets better. So it's like a community impact.

[00:14:01] Nick Taylor: Yeah.

And and the other thing too, and w w we'll talk a bit more about paraprogramming. But the other thing, when we do it's, we've been pretty busy lately, so we've had more just tech guests on right now, but we're going to get back into some pair programming, but The goal when we do have someone pair program, like say they're working on an issue in our code base, the goal of the stream is not to fix the issue, have the pull request up and it's merged by the end of the stream.

That's not the goal at all. The goal really first is we'll typically start off with we'll open up the issue on the streets. Well, you know, I try not to read up too much on it before, because I like it to be kind of like, really, like, I'm just seeing it for the first time almost you know, sometimes I do read a little bit, but you know, we go over what the issue is and then we try, you know, before we're even coding, we're discussing, is this the actual problem?

Okay. It is. Okay. Now let's see. What, what could we maybe try, you know, just discussing a solution that it's, it's not all about. Start coding. And I've even been on one stream was one of the earliest streams that did, we didn't even do any coding. We were just talking about the issue most of the time. And I thought that was interesting too, you know, because these are all aspects of shipping something.

[00:15:17] Candost Dagdeviren: They are more writing like many times I've seen like, like it is from my work. That's when I was, when I'm coding, like 60, 65% of my time was spending on other things than coding or maybe even more. So that's the natural part, right?

[00:15:34] Nick Taylor: Yeah, exactly. Like and I'm definitely not saying that the coding is the easy part, but you know, a lot of times it'll be just like, you've done all this debugging. You've looked into what the problem is. And, you know, sometimes it would be like, Oh,

it's just this one line of code, but you spent hours and hours trying to figure out oh, okay.

That's why, you know, so so. And the other thing, at least what I do on, on the dev Twitch stream is again, I say like, I explicitly say the goal is not to finish this issue. It's not to get it merged. We're just trying to, it's a starting point for whoever's looking to contribute to the code base. If we happen to fix the issue during the stream, that's amazing.

It doesn't matter really at the end of the day, you know, and there's so many other aspects of fixing something that you need to do. Like you have to write tests, you know, it's not just fix the code. So and, and the other aspect of it is I, I, we develop community software. I work with and interact with people in the developer community.

I really liked that aspect too. Like, I, it's just fun. It's like, An hour and a half, two hours of my day, where I'm just hanging out and having fun with some people and doing some fun stuff. So there's, there's all that. That's kind of why that's the long answer for the live coding and it kind of ties into like why paraprogramming too a bit too though.

You know, it's also to demonstrate that everybody has a process to doing things, you know, like you don't always have the answer. It's definitely helpful. If you're somebody who's less experienced and somebody who has more experience potentially to not give you the answers, but guide you in a direction, you know, like, well, maybe try this or that, you know, like it's, I don't think it's as beneficial if you just say like, okay, well you just, you need to make it this and that that'll fix it.

And then it'll pass the task and then this will work, you know, you want, you. Some struggle, cause it's good to have a bit of a struggle, but you still want to be able to kind of guide them in the right direction. And, and it's not just like someone starting out in someone super senior, you mean you compare with, you know, people, you know, at similar levels and it's still beneficial.

You're brainstorming. You're like, oh, try this. Okay. No, wait, what about this? You know, I'm like, you know, you know, and it can be fun for sure too, you know, and. I think, I think if you keep in the spirit of being kind and being helpful than pair programming is great. It's not great when somebody is like, that's all wrong.

Do this, do that. You know, it's, it's not helpful. And it's, there's no reason to do it.

[00:18:20] Candost Dagdeviren: Yeah. Sometimes even the rubber ducking is useful. That's what I learned. Like you are int same level with like you two engineering from same novels, and then you just, you just need someone to just watch over you while you are explaining what you're doing.

[00:18:37] Nick Taylor: Yeah. And I know people won't be able to see our recording, like the video, but I do have a, a rubber duck. It's I bought it off of Jason lengths store store. It's a, I guess it's a corgi Dr. Ricordi dog rainbow. And it's

[00:18:51] Candost Dagdeviren: They will put this in on the link, the show notes so

[00:18:55] Nick Taylor: okay, perfect.

[00:18:56] Candost Dagdeviren: Yeah.

[00:18:58] Nick Taylor: But it's a. Yeah. I mean, and cause you brought up rubber ducking.

I mean, that's kind of how I started with, with the, I mean, I've done rubber ducking before with an actual little rubber dock or just talking to yourself and that's how the stream kind of started to nobody watching me. And I'm just talking to my monitor, but people sometimes don't realize how beneficial it is to just talk through things or write down.

Like a lot of times we've seen it happen. You know, somebody is looking for help and when they start writing it down, say they're in slack at work or something. Once they formulate the idea, having written it down, sometimes there's like a moment where it's like, oh, I know what the problem, because you took that time to write it out versus just like I need help kind of, you know, so And we'll, we'll touch on this in open source, but because we work in open source, we're a globally distributed team.

I'm in Canada. I work with people all over Europe. There's some people in South Africa you know, north America as well. And so you can't, you can't have synchronous meetings all the time. E. I mean, if people want in the same time zones and you can you want to schedule a zoom call or something, you can definitely do that.

But our default is typically to work asynchronously. And that means, especially because we work in open source, that means we're writing out a lot of things in issues poll requests, and it kind of goes. There's two reasons why? Well, there's a few reasons, but one reason is to record it so that anybody that comes in the future can see like what the context of something that was being worked on was at the time.

And Yeah.

the other is, it's just helpful for if I'm finishing my day in Montreal. And I write out like my question or here's the things I tried. And then you come in, you know, when you start your morning, you can see that I've already put some screenshots. I have like a few paragraphs of what I was struggling with or some solutions I have.

And then. You can go through all that and then you can reply to me whenever you have time. And then typically when I would start my day, I would probably see a reply from you. And so there is some back and forth, but I think, but putting effort into working asynchronously, it avoids a lot of the back and forth.

And especially with. The need to be synchronous. Like meetings are still important, but they aren't the default for where we work. And I think as more companies move towards a remote culture, I think this will probably happen in a lot of places. I imagine you work remote as well, so Yeah.

Yeah,

[00:21:49] Candost Dagdeviren: So like your view, you're talking about forum and. Like all the companies. Can you tell us a bit about what forum does so that our listeners can understand what open source tools you're developing? Because I want to like slowly go into open source and I think forum explaining what you are doing right now.

Makes more sense to understand.

[00:22:11] Nick Taylor: Yeah.

for sure. So people may or may not be familiar with a website called dev, got to it's a, it's a blogging social platform for geared towards software developers. This came about. And I can remember when it was first created, but was created by Ben Halpern, who is a fellow Canadian. And I believe he's, well, he's one of the co-founders, but I I'm trying to remember what his exact title is at the moment.

But so this was just something that he wanted to try out and he gave himself like said 10 years, we're going to see if this works or not. And so that started off as dev.to. There was a Twitter account. And initially with some funny means, making fun of, I don't know if you know the O'Reilly books with the animals, there would be just funny, funny joke covers.

So like, you know something like mastering copy paste thing on stack overflow, for

[00:23:08] Candost Dagdeviren: I remembered them.

[00:23:10] Nick Taylor: Yeah, Yeah.

So that started from, from that account. So then that, that eventually became dev.to a site. It's a, it's a rails application and that started to get more and more popular and I don't know the exact number of members we have right now.

I know it's well over 500,000, I think we're heading more towards the 1 million members mark, assuming, but but this, this got really popular and. It was open, it got open-sourced and it was closed sourced initially. And just funny side note, but I was actually that they sent out a form. I think it was in 2018 and they said they were looking for people to potentially contribute to the code base cause they were thinking of open-sourcing it.

So I actually became the first external contributor to contribute to the project. And then I believe it was August, 2018. It became open to. And it was still the code base for the site dev dot two. And over time the, it kinda, they kind of realized the founders that it's dev dot two is a great place for software developers to share their experiences and knowledge.

But you know, this could be more than just a platform for communities that are for software developers. So the idea was. Why don't we make a more generic platform so that it's not developer specific, you could still have that developer specific stuff. But the idea was like, I guess the too long don't read is kinda more like, you know, kinda make it like a word press kind of in that sense.

Not, not as a, not to replace WordPress, but what I mean is like making it a community in the way that they do open source. It's a blogging platform. So we've made this community, that's a blogging platform as well, and anybody can use it now. And so. You know, that's that eventually the company got rebranded his forum.

And then from there the code base got changed. Like it's still the same repository, but it got renamed to form at some point.

And then a lot of work once we made that change in the company was to start generalizing the software. So P you know, just, you know, adding more configuration, so you could have things like that.

It's not just dev to dot specific, but the main goal is to build a software that's welcoming inclusive communities, and why not allow people that aren't developers to do the same thing. And. We have a cloud offering, which is a paid option, which I don't know the pricing because I'm not in sales and anyways but we also have recently we released what's called self hosting and the S the software was always open source.

So you could grab it and deploy it yourself, but, you know, that meant you had to. Set it up somewhere, install rails, Ruby set up Baretta server, Postgres database, like all the pieces to it and our systems team came up with this just a way to be able to provision it a lot easier for somebody who has technical skills still.

But. You know, you don't have to, it's all containerized. You don't need to do like install this install that it's all tightly wound up in these nice scripts now. And you can just do it that way. And I actually. Because we're, we're trying to test our own software out. So I made my own community, which is, which is a community that I do want to be successful.

It wasn't just to test it. So I created a community called vs code tips.com cause I'm a fan of vs code. And I, I had a Twitter account that would just give tips all the time. So this was my way of testing out our self hosting, but also building a real community. Yes, it is. Developer centric because it's visual studio code, but there's other folks that have created different self hosting options.

There's one, that's like a for fans of rap. There's all kinds. There's an MMA one like multi mixed martial arts. Somebody started one for crypto enthusiasts. There's a whole bunch of them. You can we can put the links in the, in the show notes there to show like, Existing communities that are currently out there.

But again, the main, the main point is building software. That's open and it's welcoming and inclusive. So that's, that's really what we've been working on. And we're hoping that folks will potentially consider it for a platform for building out their own community. So that's, that's kind of form in a nutshell.

I probably don't have everything exactly. Right. I'm not marketing. So.

[00:28:05] Candost Dagdeviren: That's okay. That's okay. I'm gonna also come back to your community in a moment, but before, before we go, we go to that. So personally I always recommend people and especially junior engineers who are starting their careers and looking for ways to improve their skills, but they are. Some of them are just working alone.

Most of the time in projects, they are maybe mid-level, they are working alone and trying to figure out how they can learn from others. And to those people, I always recommend contributing to open source. I saw, I personally like to do it all the time, but I all, I have some contributions that I did while back, and they're still in use.

I developed some library that people are still using it every day. This is really good feeling, but. When I also, I also think about, since you are building in public with open source, why should people contribute to the open source? Like what are the advantages for them and why is that important to the community?

[00:29:11] Nick Taylor: Yeah.

Th there's a lot of reasons and I'll preface it with, I know in some ways it's a bit of a privilege to be able to contribute to open source. And I mean, not in the sense that. Based on people's circumstances, they might not be able to dedicate time to this. So I just, I just want to mention that before I talk about all the things that I think are great about it, but I just want folks to be aware of that.

I can speak from my own experience that contributing to open sources, open. Many doors for me, including where I work currently. I think the main reason I was hired there was because I was working in that code base two years prior to being hired. And I was doing this on my own time because I enjoyed the product.

So, you know, it definitely opened the door in terms of a role. I think. Aside from opening up, you know, doors for opportunities. It definitely 100% can do that. The other things that you can learn from working in open source is you're working with other people, even if I'm in Montreal and you're in Germany, for example, I could be collaborating with you and that's, that's also real world experience.

It's not just like, okay, I fixed a bug. There could have been a discussion in there and you know, some thoughtfulness in the conversation there, you know, these are all skills you need as a, as a developer. Like you, it's not just like, Hey, I fixed it in. If you're at a paying job, you know, you're going to have discussions with coworkers.

You're going to need to come to an agreement, you know, suggest things. And I think doing this out in the open for one thing, it's already, that folks are doing stuff in open source. I think that's amazing because there it helps you get out of your comfort zone a bit. And I know. You know, people have different levels of comfort.

I just kind of gave up on that and I just tore the bandaid off. And I just said, I'm just going to do it. But, but Yeah.

it's, you're contributing with people you're, you're working in that asynchronous context, like we were talking about before, and these are all. Additional valuable skills for real jobs.

So, and, and sometimes, like I said, in my case, you know, like you could be contributing to a project that you really enjoy and who knows you could end up working there. You know, there's people that worked on the Babel project, which used to be used to be called six to five, create a bias, Sebastian Mackenzie, you know, that opened up a ton of doors for him.

I know he did get burned out and stuff, but which we could talk about too, if you want to not, I don't mean Sebastian specifically. But like when his contributions are huge, like everybody uses Bible right now, if you're doing any kind of front end development. So that work has huge impact to you know, and he's moved on to other amazing things and he's.

He's working on a new project called Rome, you know, which I which is like a whole tool chain for front end. Which is really interesting too. But Yeah.

it's, it's the opportunities working with people. And you know, when people go to you and say like, well, you don't have work experience. Like that's when you can point to a get hub profile.

Yes. It's technically not a full-time job you might have, but they can see what your work looks like, how you've been interacting with people in the community. Cause that's a, that's a big thing that people might forget about sometimes like be careful, you know, always be respectful and kind to people because all of these things are public.

Like, you'll see. Some repositories when people will complain like your S your software's okay. But it doesn't do this thing. I want, I don't like it, you know, like fix it, you know, which is not helpful at all, you know? And, and, but the thing that people, I feel like they forget is like, people can see that, you know, they're gonna, they might come across comments.

Person to go like, well, I, I'm not sure if we really want this person in our organization, they seem pretty rude and demanding, you know? So, you know, I think it just, you know, it shows who you are, whether that's good or bad, hopefully it's good. You know, and Yeah.

there's just, you know, and the other thing I mentioned is like having big impact potentially too, like you know, there's some satisfaction in knowing that the software I'm building.

Like the millions of people access the site every month. And then all these other communities that have been created, including my own are, are getting the benefits of the work I've been doing, which is I think pretty high impact. So.

[00:33:52] Candost Dagdeviren: Yeah. It's you are not the first person that I heard who got. Job after contributing to the open source project. And I hear more and more people who, who get the role after contributing for awhile to companies, one companies or one, any tool, because there are some, also some libraries or some frameworks which become products afterwards.

So you start with. Small at all. And some bump, someone just starts it and you become a core contributor to it. And after a while, then you just build the company kind of together. And these are, these things are happening all the time. And I think the open source advantage, as you said, it's your public face.

And if you're nice to people and if you're helping people, even if you are just reporting a bug, not being rude, Trying to be helpful to provide information necessary information in the issue and everything it's already much more helpful. And this shows how you can contribute to any company that if you want to go in that case,

[00:35:01] Nick Taylor: Yeah, exactly. And you know, and the other aspect of which I talked about when we were talking about streaming is I really enjoy working with the community, you know, like interacting with the people. One of my favorite things to do is like when it's somebody's first poll request to the code base, He's on your DNA profile.

You can have, you can put your Twitter account. Not everybody does, but. When somebody has one there, or I'll, I'll just Google a bit to see if I can find their Twitter account. I like to tweet out and say, Hey, congratulations on your first poll request to the code base. You know, it's just a nice thing, you know, and it's, you know, it's, it's easier to complain then give praise or thanks to people.

So I think it's a nice thing to do. And a funny thing came from that is

I'm not trying to drop names here, but we interviewed Brian Douglas from GitHub last week on the dev string. He's the director of developer advocacy at get hub. And he has he's big into open source obviously. And I was mentioning how I like to mention when somebody gets their first poll request merged.

And he was like, Oh, well, you know, there's this tweeting get hub action that you can do. And then somebody was in the chat. Who's part of his discord community. And he's like, we just started talking briefly. And then now we're, we're building out a get hub action to when somebody will merge a poll request and you can see if it's their first one, it'll automatically tweet it out.

Assuming they have a Twitter account on their GitHub profile. So it's just kind of like a fun thing that came about from another conversation, you know? So it's like,

[00:36:42] Candost Dagdeviren: Automating the goodness then.

[00:36:44] Nick Taylor: Yeah.

exactly. That's it? Yeah.

I'm gonna, I'm gonna, I gonna take that from you automate the goodness I like that. But yeah, you know, and, and, and that just came out of just chatting about something and somebody in the chat was like, Hey, that would be fun to do.

And then.

I just told him, let's do it, and now we're doing it. So you know,

[00:37:00] Candost Dagdeviren: Yeah, there we are talking about like being part of communities and creating communities and et cetera. But I feel that like open source is not the only way. So be part of community and also. Joined in a community. So what are the other things? I know we have experienced in creating a community vs called tips, and also you are part of different communities.

So what are the other ways to be part of any community?

[00:37:29] Nick Taylor: Yeah.

for sure. One thing I'll just mention before we start talking about that is like in terms of open source contributing the documentation is also super important. There are people sometimes will say stuff like, oh, that's just documentation. You know, you're not a real developer or whatever.

It's super important. Most of the successful projects have great documentation. So, you know, if anybody tells you that you're, that's not a real contribution and. I don't think it's worth talking to them. But yeah. So speaking of community, so there's, there's many things. I think one of the things too, it definitely when you're starting out a community, cause I am starting out my community.

Now I have about a hundred people in it. I started about a month ago, I think. But the thing you have to do is you have to be engaged with the community, especially when it's starting. You always need to be, but starting off, you definitely have to be, because if you just put something out there and it's just sitting there, you know, it's kinda not much is going to happen, you know? Yeah.

So, you know, Yeah. You know, just what I've been doing has been reaching out to people. Oh, Hey I see you posted something about vs code or you're having trouble with this and you figured it out. Maybe consider writing a blog post. And most people I've spoken to. I was just like, Yeah.

sure, no problem.

And where do I go? And I just point them to the community and they'd go ahead and do it. The other aspects of community, there's a lot of them, but a larger community like dev two, or even if you've Yeah.

like dev to code newbies, you want to have content there that's moderated. And there, there is some programming aspect of that that handles moderation, but you, you still need real people.

And so, you know, This is obviously volunteer work. You know, you don't, these people aren't getting paid to do that, but from what I've seen, and like before I was even working at forum, I was a moderator and I still am a moderator on dev too, because I just wanted to make the content good or help curate it.

So, you know, part of building the community is, is, is making people care and not making, but you want them to care and like giving them. You know, kind of some keys to do that. It moderation is definitely one of those. You know, the, the real big thing too though, is, is just constantly engaging with the community.

And trying to think what else the. Obviously you need content or whatever your community is in there too. You know, like if you have nothing in there, then it's not much it's going to happen, but that's the kind of thing that will trickle in. Eventually, like I was saying with the stream, starting off slow dev to started off you know, with probably a modest amount of members, but as a huge amount of members now, you know, and you know, and then eventually people will also.

Well, this is like a welcoming community and there's some interesting content there that I've found helpful. So then probably word of mouth helps to, you know, like, oh Yeah.

just go, go over here. Check out this blog post or, you know the other things too, are you want to be able to reward your community members and that doesn't necessarily, I don't necessarily mean, you know, you have to give people cash and stuff. For example my community is super tiny right now, so I don't have any of this in place yet, but like aside from obviously thanking people, for sure. But you know, at some point it's fun to, you know, like here's some stickers or like here, here's something just to say, thanks. You know, and I mean, I guess it depends how your community would grow.

Like the community is. And right now, they're not really, they're not paid communities, but like, I wonder if in the future, like some where there's, you know, like maybe a portion of it is a more premium part of it. Not, it's not to keep people up, but it's just like you could maybe, or like the fact that you've been a member for a long time, you know, maybe they get access to something else, you know stuff like that.

But. I think it really, I know I'm repeating myself, but I think it just comes down to staying engaged with the community and not forgetting about the community. And what I mean about that is it's like, I'll think of, like, for example, there's a Canadian company, Blackberry, which was a very popular, it's not, it's just a weird analogy, but like Blackberry was a super dumb.

Cell phone company. And then I don't know if they rested on their laurels or what they did exactly. But basically iPhone came out of nowhere and just unseated them, you know? And I think they got too comfortable, you know? So it's, it's not a direct parallel. I'm just trying to think of a good example here.

Maybe we'll cut that out. I don't know. But but just, just, you know, kind of once you made it, don't forget about the people kind of thing. It sounds kind of cheesy, but.

[00:42:32] Candost Dagdeviren: Yeah.

[00:42:32] Nick Taylor: Yeah, And Yeah. I think that's the main thing. It's, it's the engagement in and keeping people, you know, Definitely. always keeping it welcoming and inclusive because you don't, you don't want to create a toxic environment for people either.

Cause nobody's going to want to go there then you know,

[00:42:51] Candost Dagdeviren: So how people can find those communities because like, it doesn't matter which community it is. Whenever I talk with people, they have no idea about these communities, but as you said, there are right now a hundred about a hundred people in your community. This is a small community, but I think getting a hundred people engaged, this is a big community, actually.

So in my opinion, and. People usually struggle finding these communities, including myself. Like when I want, when I want to learn about leadership or maybe some specific parts of software engineering, I was struggling to find people around it. And whenever I find people, they were always like, People in front, on, on Twitter, like they have huge followers and et cetera, those are the people I found, but not the communities behind it.

And now I have the like this perception that communities are everywhere. We just don't see them. And now I'm curious, like how people can find those.

[00:43:54] Nick Taylor: Yeah. for sure. No,

that's a great question. I think part of it, is it Twitter, if we're speaking in the context of, of like the tech community, I found Twitter to be a great place to. Meet people and engage with. And then from there, I've just found pockets of things. So for example, I'm part of a community called virtual coffee.

And I came about this community because code newbies, which is a, one of the communities we run and they have a Twitter account as well. They they're always, they, they post out question, you know, like how's everybody doing this week? Or they'll throw out a question there and this one person Becca heroine Wydell.

Dropped a message at one point about I'm starting. I think I started following her on Twitter because I responded to her about something. She was asking from a, for a programming question, and then I just started to follow her on Twitter. And it always sounds weird when you say you follow somebody, but one day she just posted, Hey, I'm starting this virtual coffee group.

And if you want to come, just send me a message. And it started from that. And then you know, and then I just started becoming part of that community. So it's like, you know, it's not always like the huge accounts to some of it's maybe by chance coming across these. The other thing too is. As you meet more and more people, you know, just ask them about the communities.

I know if you're like, like for example, for forum communities, we do have a, there's a website where you can see all of those communities, but discord has like a discoverability tool to you know, slack, slack groups. I don't know how those get surfaced. I feel like those, you just have to know.

[00:45:41] Candost Dagdeviren: Yeah. I

[00:45:42] Nick Taylor: I don't know how, I don't think there's any public directory of like slack groups.

Maybe there is. But Yeah.

a lot of it's just been talking to people and then sometimes people say, Hey, do you want to join this community community after you've spoken to them for a bit? So it's, I don't want to say they're all secret. It's definitely not that. Sometimes it's just, once you start speaking to people, they'll be like, Oh,

well, I fixed this because I was speaking to somebody in this community and then you join it.

And then you all of a sudden you're like, where did all these people come from that? And like for example, when I was speaking, when we were speaking with Brian Douglas last week, he runs a discourse community called open sauce, and he has a, it's like a pizza logo He has a project as well on get hub.

And it's a great place for folks to learn about open source and contribute. And that community that's been out for a while, but I discovered that because I was listening to one of his Twitch streams and so, you know, even Twitch, there's I don't know what the percentage of, of programmers stream, but I know like, When I see the ones that I follow it's like, kind of in my bubble.

So like, it might not be that many, like the majority of people on Twitch are video gamers. I sound old saying that video gamers, but You know, but those are other places to do it. I mean, contributing to a project a lot of times, if you look at the, read me, whether it's on GitHub or get lab, they might be like, join us in our discord or check our Gitter or, you know, whatever they use for their community, you know?

So there's that as well. And yeah, It's but I think part of it might be a bit of luck finding some really good communities, but it's, I think if you just poke around a bit, you can find them and I'm happy to share a bunch that we can put in the show notes for sure.

Cause no, they've been great.

And. Especially since, you know, the pandemic is still, still out there. I think communities have been super important for a lot of people. Like they were always important, but I think during the pandemic I know that my virtual coffee group, that was something that was really great for me, you know, during the pandemic.

So, you know, and just you know, just remember be kind help people, you know,

[00:48:07] Candost Dagdeviren: That's a perfect way to end, like be kind and maybe be part of community. Well, That was a blast. I really enjoyed it because like these topics, as I said in the beginning are very interesting to me. And I sometimes struggle like finding communities or contributing to open source or paid programming and all those things.

And you are doing these great. In public, which is so nice, people can see the real things behind it. So it's not just from a YouTube video, for example, that you see the five minutes, but behind it there, like most, probably two or three hours of just recording and then even more for editing and et cetera.

And those are the things that are hidden, especially with this new digital age. And now I, I sound old when I say this, but haha, This, these are the things that brings the color to life and you understand how the life is going on better. So that's like, I think we can sum it up, like join a community. Do do open source.

If you can, if you have a privilege, if you have a chance to do it, that would be great. And just be nice to people when you are doing it. That should be enough. Thanks a lot for joining Nick. Thank you. I appreciate your efforts.

[00:49:29] Nick Taylor: Oh, and thanks for having me. I had a blast chatting.

[00:49:32] Candost Dagdeviren: Before you go. Don't forget to share the episode with one of your friends, colleagues or work friends. Until next time, take care.

0 Comments
Mediations with Candost
Software World with Candost
Software World is a podcast for software engineers hosted by Candost. Every second Tuesday, Candost uncovers the journeys of people and software systems. I interview the experts or talk alone about software architecture, system design, feedback, software engineering leadership, careers, team management, processes, product and customer-centricity, and more.
Follow my blog at candost.blog, for articles and a podcast, and subscribe to my newsletter.