In this episode, we chat about Jess’ career, the journey to founding Forem - the open-source platform powering large communities, and her experience building successful distributed teams.
You can also listen to the audio directly:
You can find Jess on the following sites:
Check out the resources Jess recommended in the show:
You can also use the official podcast RSS feed, and add it to any podcast application or service.
Den: Alright. Hello everyone, and this is another episode of The Work Item podcast, and following our streak of excellent guests today we have Jess Lee. Welcome Jess!
Jess: Hey everyone, hey Den! Thank you so much for having me.
Den: Excellent, so Jess, why don’t you tell us more about what you do? I know that I followed you on Twitter for some time, and I know what you do but I know that our audience is very diverse and broad, so I’d love to learn more from, kind-of, Jess in your own words.
Jess: Awesome, yeah, so I am one of the co-founders of Forem, and Forem is the open source software that powers communities like the Dev Community and the Code Newbie Community, and a bunch of others. And, you know, we’ve been working on this essentially since 2017. Before that it was a bit of a side-project, but we’ve been full time on it since since 201, and it started off as a community just for developers like the Dev Community, but now we are focused on growing Forem to enable other community creators to build their communities with our open source software.
Den: And I love the work that you’re doing with Dev.TO, and I know that some of my colleagues at Microsoft were always referring to it as one of the examples of how to do community right, so we’ll get to that in our podcast as well, but I want to start a little bit with your career. So you have a very rich background. You have background in music publishing, you have background in marketing, business analysis, you’ve been a product manager. How did it all lead to where you are today?
Jess: Rich is a very kind way of putting it. Yeah, so I studied music in college, which is how I ultimately ended up working in music publishing, but you sort of quickly get thrown into that world, and I realized that that industry really wasn’t for me. It kind of took away all the passion that I had for music, like knowing how the sausage got made. I’ve ultimately ended up working for a temp agency, actually, and I got placed at a startup, and that’s where I did business analysis type of work, but while I was at that start up, I realized that developers are really only folks treated as first-class citizens there, and that sort of led me to be like, oh like I want to be a developer. So I ended up enrolling in a bootcamp, learn how to code, but another part of my whole career dilemma at that point in time was wanting to really work for an organization that I believed in, you know, like the music industry left me kind of jaded. Ultimately, I found a nonprofit that was empowering young people to take social action, and I really was excited by their mission, but they didn’t have any developer roles open there, and so that put me on that product manager route, and then in many ways it probably gave me that capacity to hack away on nights and weekends on Dev.TO. So yeah, that’s I think the briefest way of describing my eclectic background.
Den: It’s a very… I still stand by the fact that it’s a very rich background, purely because you had this wealth of experiences that you get from these different roles. Did you have a career map, if you will, or you know, once you decided that music is not for you, just kind of draw out “Here’s the things that I want to do long-term,” or is it more of just kind of “I’m open to opportunities” and this was one of those opportunities?
Jess: The latter is definitely spot-on. So we actually… We have a set of values and principles at Forem, and our principles are meant to guide our day-to-day, and one of them is to plan for opportunism. I think that resonates with all three… We have three founders - Ben and Peter are my cofounders, I think that resonates with all three of us, and sort of a good example of that, you know, I think we all probably have like a loose plan of what we envision, but then just being able to say yes to opportunities and that’s sort of always been my mindset.
Den: So I’m curious now, you call out principles, and we’ve heard that recently in one of our recent episodes that we recorded with our friend Charlie Kindel, who was a VP at some other companies. He also emphasized on how important it is that an organization has principles. How has that worked for you? Why was it important to have principles instead of just kind of, “Hey we have this product, we’re going to ship this product. That’s our goal.”
Jess: I think what’s actually been most helpful for our team, by creating these set of principles - is to have this shared language. So another one that we used pretty commonly across the company is closing the loop, and we apply that to how we communicate with one another. We are an async, fully remote company, distributed across I think eight different time zones right now, and so you know, we want to make sure that when we communicate, we close the loop with our team members. We close the loop with our community members, and also with our open source contributors, like you know, even our bounty hunters - we want to make sure we close the loop with them too. But then if we think about it from the product perspective, and this was probably a lot more applicable when we were first building a product, where anything you add is kind of a value-add at that point, but being deliberate of whether or not we’re going to continue with the feature, or if we’re going to, you know, like deliberately stop iterating so we sort of try and close the loop in that product sense as well.
Den: Something that I’m actually really interested to hear more about is - you mentioned that your company is fully remote, and through the past year, a lot of companies were kind-of forced into getting in this mode of operation, where we can’t go to the office. We are no longer commuting to our cubicles or open spaces. How has the past year changed for your own company?
Jess: So we were definitely one of the lucky ones in this situation. The fact that we were already equipped to be remote made a huge difference, you know. We weren’t scrambling to buy laptops or desks for team members to help them create, you know, ad hoc workspaces. We had all that in place already, so we’re so lucky that that was the case for us. But of course, there’s just like a huge mental toll that I think the world is sharing right now that we’re in. And so the biggest change was just really ensuring that our team members knew that they could take the time that they needed to care for their mental health, to care for the people in their lives, and to just make it clear that we’re not in normal times right now, that’s OK, and that’s the messaging we’re continuing to share with the team, as we continue on, you know. Vaccines are rolling out, but it’s still going to be quite some time before things are normalized, and if anything I feel like right now is actually… Has been another sort of time of people feeling a bit more burnt out now that we’re, you know, several weeks into the new year, and people got some… Maybe got some rest during the holidays, but kind of feeling like, you know, it’s been a long time. The US is hitting that, you know, one year mark where a lot of places went into lockdown.
Den: And so in terms of fostering this healthy internal culture, making sure that folks don’t burn out and making sure that everyone is successful and still delivers. How do you structure your communications? Or how do you structure your approach to work to make sure that it’s a healthy environment where folks thrive instead of adding another stressful thing through the stress that we see around us?
Jess: Yeah, that’s a good question, and something we’re always iterating on. I think the biggest change we made recently was creating an internal forum for our team to use. So like I mentioned, Forem is just software that you can use to build communities. So if you look at Dev - that is an example of a forum. But what we did was create a private version of that for our team, and that really enabled us to communicate just much more asynchronously in the way that Slack couldn’t offer, so I think giving folks that peace of mind, like “Hey, if I miss a day, if I miss this meeting, all the information will be captured in the team forum and I won’t have to spend the time endlessly scrolling within Slack.” So yeah, I’d say Slack, and our internal forum is how we’ve been communicating primarily, but we also manage our projects through GitHub for both technical and non-technical work, so that’s sort of our third place that we call home, and then also just our internal, just general documentation, you know. The company forum is more for, you know, we’ll have just random topics in there - from watercooler stuff, but also just like announcements, so it’s more of like a internal memo message board versus like, you know, documentation for anything that changes where people need that information to reference.
Den: How do you deal with Zoom fatigue? For me personally, I know that’s one of the big things, that every meeting is in a video, and you just, like all day… And I know that some folks treat it as, you know, “We are on video, so it’s kind of like we are in person, but not really.” What was that experience for you?
Jess: I cannot, you know… I’m on Zoom quite a bit, and I can’t do any socializing on Zoom, you know, with like friends and family, and I just… I can’t. Zoom is fully for work for me. So something we did, that I actually think we did before the pandemic - we have no meeting Mondays, and so… I’m sorry, we have no meeting Fridays, and so this is the only Zoom call I’m having today. Well, we’re not on Zoom, but this is only video call that I’m having today. It’s really nice to, like, Fridays you can… You can expect to get that heads-down time that you want, or duck out early if you need to, but at the very least you should not be having any meetings, so that’s one way we’ve just reduced meetings. And this is a small thing that we’ve done, but I love it, and wish more folks would adopt it, but we only do 25 or 50 minute meetings, so this way you’re guaranteed to have that buffer time that you need to like, take a bio break or, you know, grab some water, close your eyes for a second before you have to be over-stimulated by a group of squares and, you know, talking at you. So I’d say that we try really hard to reduce meetings and also you know, also because we are remotely distributed, it’s really hard to get folks on a meeting. We have our all hands where everyone, well everyone on the team gathers, but we rotate it through three different time zones, so we don’t actually get everyone on the team because that’s impossible. If we did that, you know, someone will be up at six AM, and another person will be up at like, you know, twelve AM, which is totally unreasonable. So just by being spread out globally like this, we just were pretty anti-meeting.
Den: Yeah, and it’s especially a challenge when you have different time zones, as you very astutely called out, because I had the experience of working with the team in China and we always have to align, you know, five PM for us it’s the start of day for them, and having this… Having this balance of when you actually have meetings, when you can just send a doc and have people just commenting on the doc on their time. Nobody needs to get up at six AM to make sure that they can join that one final review. And it’s one of those things where… I love your outline of how you’re fostering the culture, and I want to take a step back and talk a little bit more about your personal career. What stood out to me is - you were talking about, kind-of, education in the musical field, then you went through a bootcamp, and it goes counter to one of the very common tropes or narratives, where it’s, you know, you determine your passion in college and then pursue it no matter what through your entire life. So you took a turn that is not only, I want to say, non-traditional in a sense, but it’s very unique in that you went from music to computers. What was that journey like for you, right? It must be a pretty hard decision to make when you’re saying, you know what, I know that I’ve been pursuing education in field X and now I’m jumping into field Y.
Jess: Yeah, I mean, I think I was at a time in my life where just any change was good, so it wasn’t so scary as it was exciting. And I think, you know, living in New York City, I was excited for a future where I didn’t have to juggle three different jobs. Yeah, so I’d say it was mostly exciting, but I will also add that one of my co-founders, Peter, I think encapsulate a lot more of what you are describing. He is a serial entrepreneur, started his own business in college, you know, pivoted a few times and ultimately ended up, you know, co-founding Forem together, and so that background has been part of the recipe for success, but I do think, you know, having this nontraditional background offers another perspective. I didn’t even know what a startup was six years ago, so it’s it’s been, yeah, it’s been a crazy journey, but it’s been a lot of fun.
Den: So given the switch to a completely new field, what’s your approach to learning new things? Now I’m curious, because this is one of those things that different people approach differently, and there’s no single recipe. When it comes to learning, say, a programming language or framework, and I know I’ve encountered that myself where starting from scratch is hard, you know, when you know nothing about the field, and I often find myself in a position where I know absolutely nothing about, say, machine learning or AI. And then I start kind of going through the process, going through the motions. What’s your approach? How do you learn new things?
Jess: Yeah, that’s a really good question. For coding specifically, there are just so many resources online that you can kind-of jump right in, and the more interactive things definitely stuck out to me initially. And also I always sort of played around on the Internet, like you know, as a kid, tweaking LiveJournal or Xanga themes, and all of that was all considered fun, and so it was cool to see that kind of be a career path. But I’d say in general, and I don’t know if this is advice I would give, but I tend to learn by trial and error, and that’s very possible when you’re coding, you know there’s this instant gratification, and it’s actually quite similar to when you’re learning how to play an instrument. It’s like you either get it right or you get it wrong, and you can kind of keep doing it. There’s interpretations of how you approach or play certain things and find certain solutions. The reason I don’t know if I advise that is because I probably could have spent a lot more time like reading through documentation when I first started learning how to code, and really trying to grok the fundamentals. But you know, we do live in a culture of instant gratification, and so it’s a lot easier to go down this trial and error route.
Den: It actually resonates because I learn exactly the same way. To me, it’s easier to try it out, fiddle with the IDE, and see what comes out, instead of, oh I’ll spend, you know, a couple hours reading docs and tutorials, and so I’ll just, you know, Google it, or Google it with Bing, to see what actually needs to come out. Yeah, no, one of those things that… I use the analogy, where I tell people that it’s like asking how to learn guitar. You can read a book on how to do it, but unless you actually practice it, you will never know, right? So you can read a lot of tutorials, blog posts. What are your favorite resources to learn, and I know Dev.TO, or The Practical Dev Community, is one of them. What else? Where do you go to learn?
Jess: So I would recommend checking out the Code Newbie podcast too, you know, if you’re starting your code coding journey. We actually just launched a Code Newbie forum, where… The content there, while it’s similar to Dev in layout, the content’s really, really extra friendly for early career developers, people who are learning, or just any like, you know, a seasoned developer that might be learning something new, like you, when you’re talking about machine learning. So those, I would say, those are two resources, and we’re actually in the process of launching The Code Newbie Challenge, where we challenge you to, you know, get your first job in software engineering, to blog more about software engineering, or to just learn how to code. So there’s a lot of things there that you can look into. Otherwise, you know, they’ve made it so, so much more fun to learn how to code, even in last five years. I know that Twitch has this Twilio Quest game that a lot of people have raved about, that seems really fun and supportive if you’re just starting out, and it’s not like focused on their API or anything like that, but like, back to the fundamentals there.
Den: And even folks that learn how to code with Minecraft - that was new to me too. And seeing this kind of fun experience where… When I was growing up, I certainly did not have video games in which I can say, “You know what, mom and dad, I’m actually learning how to code, so let me play this for hours and hours on end.” So we’re definitely evolving that. And actually I want to switch gears, and this is a nice segue into community work. You’ve co-founded Dev.TO. What was the motivation behind that effort? What inspired you to say that we need a whole new community? Because you take a very unique approach that is not Stack Overflow, it is not your typical forum. What was that for you?
Jess: Yeah, so, upon graduating from the bootcamp, what they don’t tell you when you churn out, is just how lonely it can be afterwards, you know. You’re in this boot camp. You talk to the same people every single day. You have teachers, and just lots of resources, the Slack channel. Then all of a sudden you’re just like on an island by yourself. And so when I first graduated, I didn’t know how to stay up-to-date with the industry. I didn’t know how to meet other people, and that’s when I met my other co-founder, Ben, who I don’t think I’ve mentioned yet. But he, despite not being a bootcamp grad, he’s actually a self-taught that had been working as a developer. He also felt the same way, and so it really came to the, you know, came down to like, is Reddit as best as it gets here? Like, because it I didn’t really feel comfortable posting there. I didn’t feel comfortable asking questions on Stack Overflow, ‘cause I felt like I would get shut down. When I was at the bootcamp, our instructors actually told us to create a fake, dummy account on Stack Overflow, if we had questions, in case we got shot… Got shut down, so that it wasn’t associated with our actual professional profiles, and I was like “OK but is this like… Is this the world that I’m in right now?” And sharing these feelings with Ben, learning that he felt the same way, was, I think the impetus for this whole thing. And with Ben, he was actually already fostering a community online through Twitter, through @ThePracticalDev Twitter account where he was sort-of poking fun at the daily lives of being a programmer. But you know, just also wanting to have a more inclusive space. And so we started working on Dev.TO together.
Den: That is such a sad state of affairs that you have to create a fake account to get help on questions. But that being said, Dev.TO is thriving - we see just so much goodness coming out of that community. You actually called out the importance of being extra friendly for new folks. Why do you think that is important? Why do you think that extra nice approach to explaining things and making sure that folks don’t feel alienated is good? Because arguably, if you talk to any other community founder, they say “No, we enforce strict moderation policies because we want our content to be high quality, want to make sure that we got the Google Juice and the SEO, that people can find the exact answer to their problem,” and you, again, take a very… Radically different approach, in a good way. Why was that key?
Jess: I mean, I think part of it was just scratching our own itch, and what we needed and wanted to see. Repeat questions are totally valid, and answers can constantly evolve, especially in engineering, when there’s like a million different ways to answer a question. So I don’t… I never fully understood why a repeated question would get shut down, because there’s just new ways to respond. I think it’s important to be extra friendly because it lowers the barrier for contribution and for people to join that conversation. If we couldn’t create an environment where people could be part of the conversation, we’re going to see a lot more of what we currently have demographic-wise for early career developers, who are really coming from all different walks of life. And to help people feel like they can actually thrive here, I think that’s just a prerequisite nowadays, is to just make it more… Make coding a lot more accessible and make the community make everyone feel like they can belong there. And that’s actually one of our company values, so it’s not just how we think about communities for software, but it is across the board, and how we treat our team too.
Den: That is a wonderful approach to this, because you’re so right in the take on repeat questions, because technology has evolved - something that was asked in 2012 is probably, you know, the solution from 2012 is not maybe as applicable in 2021. So just because it’s the same question, why not ask it again, and give a better answer or a different answer?
Jess: Yeah, and even like - give somebody else the opportunity to respond too, and that could be really valuable for that individual as well, so, I know it’s like, you know, people are like “It’s annoying,” but it’s like, I mean, is it? How? How annoying is that?
Den: Right, right. And to me personally, it’s never annoying, because you get perspectives and you get takes on… Somebody decided to implement it in a different way, maybe using a different library or using a different code path. And that’s fine. You can uncover completely new solutions, and I like your approach to taking the friendly route because I know for myself in my own experience that it was very intimidating to post on any kind of forum. Exactly because of the idea that, well, maybe I’m wrong, maybe I’m, you know, maybe my idea is not the valid idea, and having somebody say in a friendly manner “Hey, maybe you should consider X, Y and Z, instead of what you’re doing right now could be a better approach.” would work much more helpful than just lock my question and say “Not valid; duplicate.” And it’s just, yeah… I like your approach to fostering the community.
Jess: Yeah, I’ll just do this one thing that that Ben shared sometimes, but I know he had this one experience where he actually asked… I believe he asked the question on Stack Overflow, and then said “thank you” to somebody, and that comment got downvoted or was against the rules because it wasn’t productive. You know, by saying something like “thank you in advance,” I think with something like a comment that he had left on it. But just goes to show like how tough it can get, you know, if you are overly strict with your rules, not considering the nuances.
Den: Right, the most recent example that was a post from somebody who is an expert in WebGL, and they essentially said that they were quitting Stack Overflow because their comments got deleted, and their comments were essentially “Hey, I wrote a whole blog post on this topic. Check it out here.” And they got deleted because it’s not helpful, and to me as a developer I’d say that’s 100% helpful, because I want to read the blog post if I need to elaborate on a question. Why is that being deleted? But this overzealous quest for perfection in every bit, and following to the letter - it’s not healthy, and that’s why it’s so great to see your take on fostering community.
Jess: Yeah, and I think part of that is the relationship that they’ve built with their moderators as well. There needs to be checks and balances in how you approach moderation. And yeah, I mean like for our moderators, you know, we keep things pretty loose and it’s a lot more values-driven than it is strict rules, and we have places for mods to really talk to each other and connect with someone on our team to discuss the things that are in the gray area. But you know, Stack Overflow has been around for a long time. They’ve been an amazing resource for people, and I know that they are, you know… They’ve been evolving to try and address a lot of these issues.
Den: For the MVP, or the minimum viable product for your community, in start up land there’s this mantra of “Always start with an MVP. Build what customers want. Test it.” You mentioned that there was the Twitter account, kind-of preceded the community. Was that your MVP, and if so, how did it actually indicate you that something like this is necessary? Or how did you validate the typical startup hypothesis?
Jess: Yeah, I’d say that’s arguably what our MVP was. And you know, Ben drove much of that during that time, since he had started that account, but it wasn’t, and maybe Ben would say something different, but you know, I don’t think it was so deliberate at first, but it was more like testing the waters to understand and purely out of just artist desire to connect with other developers, who shared similar thoughts and feelings as us in terms of wanting to create, you know, this positive dialogue and also just to be able to sort of introspectively make fun of programming. By amassing sort of like the following and engagement he did, he realized like “Oh, they’re really… There needs to be a home for these type of conversations.” Twitter can be so ephemeral, just kind of disappears. And if you missed it, you missed it. And so I think if we were to really look at that very… Proving of the hypothesis, I’d say Twitter was a start. Then there… I don’t think we had an MVP drawn out for Dev.TO itself. Once we decided what we were building, there are a few things became obvious that we needed to make it work.
Den: Building a community from scratch is hard as anyone that has ever maintained a forum, a mailing list, a Slack channel, a Discord Group. What were the most important lessons that you’ve learned building Dev.TO from scratch? Because it’s hard to build awareness, it’s hard to build trust with folks, and saying - you can come here and get your questions answered. You can come here and write your blog post and get good feedback. What was your… Without getting into probably any of the secrets, but the secret sauce to kind-of figuring this out.
Jess: Well, I think the secret is what we were just talking about. Is having that Twitter account, so you know, building it, the whole concept like “build it and they will come” is just totally not reality. But because we had this, sort of way of amplifying for folks, ‘cause you know we had tens of thousands of followers at that point. Like, you know, we could encourage folks to post on Dev, then we would be sharing that content through social, and I think that gave authors more visibility. On places like Medium, where your Twitter account is pretty connected with your Medium account, so it’s like if you’re really famous on Twitter, you can probably be famous on Medium, and for us you know it wasn’t… It was about elevating just quality content and that could be coming from somebody who’s not Twitter-famous, and so having that account to help amplify other peoples’ content - I think was a big key to our success there. But you know, I have memories of just reaching out to people, like one of the first things we built was to be able to consume an RSS feed so people can cross-post a lot more easily and maintain their canonical URL. So you know what it’s like, you know, we’re doing lots of manual outreach, like “Hey, check out Dev, you have great articles, do you want to post on Dev?” - that there was definitely that phase of the business, but it’s great that you’re asking this question because right now, as we’re supporting other creators, other community builders to build their forums. And as we you know, we just launched a Code Newbie forum as well. We’re sort of, in many ways, back to square one. Back to figuring out like, what is this playbook for supporting a community, ensuring it’s a place that is actually useful for the community that we are targeting, and so we’re kind of, you know, applying some of what we learned through Dev but also learning new ways to engage and add value to different communities.
Den: And so the key part through community building is creating this healthy atmosphere where folks don’t feel like there is a lot of pressure on them, where they feel like they can speak their mind, within reasonable boundaries. What’s your take on fostering that community? Because you’re going to have moderators. You can enforce the rules yourselves, but over time it needs to scale somehow, right? It’s probably hard to do when you serve a global audience, because you have folks that are coming from all over the globe, that I’m sure are active all hours of the day, not just, you know, the twelve hours whenever we are in East Coast or West Coast time, what’s your take on that?
Jess: Yeah, I think a lot of it is leading by example, like any of the content or initiatives that we put out - we really stand by our code of conduct. We try to make things as approachable as possible. But yet, not only do we stand by our code of conduct and apply the code of conduct ourselves, but we really enforce it too. And so you know, we’re not afraid to ban people who are crossing the line. And we’re pretty strict about what that means. And we take each case pretty seriously. There’s a very human element of moderation for us that isn’t just automated through our systems.
Den: Which I feel like is the easy way out for a lot of folks of saying “Oh, I’ll just put the spam filter or block everything,” but there’s so much that’s kind of in this… It’s in between or it’s… It needs human attention. And it’s great that you’re still having human attention on these issues, and it’s not just autoban or just completely kind-of spam block, and say “Hey, I just shared a link to my blog. This is not spam.”
Jess: Yeah, and it’s not just human intervention. I think it’s ensuring that there’s someone at the company who cares about it like we have. You know, we’re not just farming out our moderation to, you know, a third party, because I feel like… I mean, so many platforms do that, and they lose that connection with the company itself and then they’re falling into that situation where it’s just like a flow chart of “yes,” “no,” “do this,” “do that,” and there’s no one there to sort of-step in and talk about the gray areas.
Den: Dev.TO is also used not only by folks like myself and my peers, but also by companies, so we’ve seen post coming from Microsoft Azure, Amazon Web Services. Did you expect this when you bootstraped this community, that it’s not going to be only a forum for folks that are early in their career learning, or maybe even veteran folks that are sharing their insights, but also companies?
Jess: Yeah, I’d say this is definitely one of those “plan for opportunism” moments. We were definitely, you know, reaching out and thinking more about individuals - individual bloggers, but a lot of those folks happen to be developer advocates who work at larger companies, and realized that, we know what we were doing and how we were growing as a community. And then it just became really quite natural to start supporting these organization accounts. It also was a natural… We actually had organization accounts quite early, but we didn’t… We’ve never actually done any pushes for orgs to create accounts, but we had created that originally just so we could have our organization account, and have posts under the org as just like Dev staff, and that proved to be useful for some of these companies that are looking to reach developers and have valuable content to share.
Den: And it’s one of those things where I feel like companies go where developers are, and in this case developers are on Dev.TO and this is where it feels the natural place to discover relevant information. To me, myself, I found myself in a lot of situations where I’m researching a topic, and then I land on Dev.TO, and I started just scrolling through the blog posts that are available, and “Oh there is also this and this, and a community member posted this, and there is somebody from this company posted this” and adds this multi-tiered approach of… I want to say adding almost like legitimacy to the content, where I know that it’s trustworthy because I see people saying it, and then I see a company saying this, and it kind of supports each other.
Jess: Yeah, well that’s awesome to hear.
Den: So the system that is powering Dev.TO is Forem. And it’s one of those things that… I find it fascinating that there’s a whole separate open source project that was built entirely for this. So again, you took a nontraditional approach to this, because any other community that has started today, where a lot of them would take the easy way: “Hey, we’ll start a Slack group,” or “…and we’ll start inviting people, and will put a TypeForm in front of it, and put your email will invite you,” or a new Discord, or somebody is going to be using a board like phpBB or VBulletin, back from the days when VBulletin was the jam, and you build your own… Tell us more about this project. Tell us more about Forem.
Jess: Yeah, so what you’re describing is actually one of the primary reasons people switch to Forem, because Slack couldn’t scale for them. You know, Slack is just for synchronous communication, especially if you have a big community like talking ten thousand people plus, and Slack has all these pricing tiers, it becomes immediately unsustainable for you if you are just doing this as a hobby or side project. So Forem is a place for communities to connect in a less synchronous way, and in a way where that information can be shared throughout. I feel like I kind of got lost on your original question ‘cause I got excited when you were talking about VBulletin and Slack.
Den: VBulletin was great!
Jess: Yeah, so Forem, like the name itself is sort of like a throwback to that concept of a forum, so were spelled FOREM for awhile. You know like for us like that, means it’s for empowering thoughtful connection. Oh, and the open source part. That’s what you would ask originally. So yeah, that definitely was not a traditional route, so we kind-of always knew we wanted to open source. Mostly because we believe in the power of open source, and it was just a matter of when. So we open sourced Dev in summer of 2018, and so that was just all the Dev stuff was still hard-coded in there, was very very specific to the developer community and the needs we had there and essentially since then I guess, for the past two or so years we’ve been working on generalizing the app so that, you know, all the Dev-specific things are pulled out and that you can use that to self-host your own community, and then for us our offering is a hosted solution, so that you don’t have to jump through the host, the hoops of self hosting. You know, open sourcing has been such a game changer. I truly believe open source code blossoms and closed source decays. We have over I think 550 people who have contributed to the codebase. Just, it’s great to have so many eyes on our code. You know, just helping us look out for things, but also it’s enabled people to be creative and make contributions - the different features, and actually see a lot more opportunity for that once we have more support for the different APIs, and ability to create different plug-ins for forums, you know, that if you’re doing… From a totally different industry, where you might want video support or something like that. I think there’s just a lot that can be created because we are open source.
Den: In startup world, founders are often hesitant to open source their project, because then you’re kind of… You’re giving away, well, what I referred to earlier as the secret sauce, because now everyone can grab your code, modify, tweak it slightly, bootstrap their own community, or they can take your code and pretty much create a competitor. Or maybe they will fork your project and they’ll be slightly different, but now you have somebody that’s actually competing with you based on the work that you’ve created. What’s your take on that? Because it’s not… I’m sure it’s not an easy decision.
Jess: Yeah, so I mean, right now we are actually very encouraging of people who want to self host. We asked them to reach out to us and collaborate with us. It helps us learn about issues that they run into. We want to be like, you know, pretty seamless for people to be able to do that on their own. And it’s not, you know, in a sense that gives us this automatic free tier, which is kind of nice to offer. And then I think it’s fair to assume that most of the world, most of the community creators, builders out there are not going to be developers. And even if they are, and like we have, some… We actually have some companies that work with us. So like, New Relic just launched The Relicans, which is how they are supporting and communicating with their community, and even, you know, a big company like that with plenty of developer resources, they’re also not self-hosting, you know. So self hosting is a great option for people who have the time, and resources, and knowledge to do that, but the vast majority of folks would rather pay for the hosted version, which is what we have to offer them so you know, I think that’s that’s just how we are approaching working through what it means to be an open source company. But also, you know, we hold the product vision. So if someone were to take our code, tweak a little bit, they don’t, you know, know what we have up our sleeves for the next few years and how we’re approaching this, and they don’t have the experience of getting to where we are now. And so I’m sure you know, people can try. But you know, I’m not too worried about it because we’ve been fostering our community and I think trust in our brand and what we’ve been doing for a long time. And I really believe that that will carry us along.
Den: You’re focusing on delivering value first to your customers, and that is the most important component of this, and everything else just naturally comes with it, which makes sense. You know, customers love your product. They’ll always go to your product. Customers know they can trust your work, they can trust how you’re approaching their feedback. That’s all that matters. We were talking about the roadmap and putting things together, and actually, on your point of self-host versus hosting, I just… It took me back to the days of VBulletin again, when I thought I would be clever and host my own forum and then realized just how hard it is to self-host, and patch things, and make sure that you get, you know, your traffic of a hundred concurrent users all of a sudden takes down the server. It’s hard. Self-hosting is definitely a challenge.
Jess: Yeah, exactly, that’s… Yeah that’s exactly right. It really is not an easy task and really, take somebody who’s very, very committed to make that work, and you know, we commend them for doing so and want to learn from them, and what they run into while they do that.
Den: And especially when it comes to scale, I’m sure, you know, if you’re running a community of 100 people, that part is easy. When you get into the thousands, and you need to have a CDN, and now all of a sudden you need to make sure that you have load balancers in front, it just becomes very, very hard to manage. But I’m curious about the roadmap. And you mentioned that you kind of hold the keys to the roadmap, to the vision for the product, and given that it’s an open source product, there exists that duality of… Because it’s open source, folks kind of expect to say, “Hey, I can do a feature request. I’ll just go to GitHub issues, open a new issue and say, hey, I want this community to have, like you said, video support, or maybe embedding from Vimeo.” How do you balance that, between what you and your team knows that needs to happen? So because you have your vision, you’re executing on it, versus what the community is asking for, because it’s a very active GitHub project. I’ve seen it, and there’s a lot of issues. There’s a lot of asks - how do you balance that out?
Jess: Yeah, so we have a open source community manager, Christina Gorton, who really has her ears to the ground as to what the community is asking for, what they need, and so she works with our engineering team to articulate and advocate for the community. So, you know, as always, a PR that fixes a bug, is always going to be easier to get through the a PR that’s a brand new feature request, that maybe they didn’t even make the request and just created that PR. So it’s sort of about communication. You know, we try to be clear that not everything is going to get through. We really appreciate your time. We don’t want to waste your time. So that’s just sort of how we manage the community, but on the sort of product roadmap front, that’s actually something we’ve been putting a lot of work into these past few weeks and months. You know, I think we’ve grown quite a bit, and we were like in the early days. It was easy to not really have a product roadmap because it was pretty obvious what areas needed contributions, and we’re kind of able to say yes to a lot of things. But now that the platform is so much more mature, we need to be a lot more deliberate. So right now we’re actually really trying to figure out what is the best way to make decisions through, like in through our product roadmap. And yeah, we’re doing… We’re just doing a lot of product work right now to help enable our team to, you know, not just see the 30,000 mile view of things, but to get that like you know, 500 foot view of where things are going. And that’s something that we actually hope to share with the community soon too, to like, really bridge that expectation setting with the community, so people will understand more. You know, if we’re saying like, “Hey, we’re not going to take this feature right now” and then they have a place to really see what are we prioritizing. So that’s something we really need to get better at, and something that we are currently working on.
Den: It’s hard to say no. It’s one of those arts of product management where, I’ve seen it first-hand when, especially in an open source project where there’s a little bit of almost.. I don’t want to call it entitlement, because it’s too harsh of a word, but more of “It’s open source, this means I can tell them to do whatever I want for my scenario,” and oftentimes you figure out that what this person is asking is actually serving, you know, one person, that’s it. And saying no without destroying the trust and saying we still value your feedback, we still want you to continue giving us the feedback is just this particular item is not on our roadmap. It’s not yet something that we want to do. It’s a bit of an art.
Jess: It definitely is. You know, it always gets more complicated when you say yes to something, but then, as someone is implementing, you discover all the other stuff that comes along with it so that small little project becomes so much bigger. And then you’re like, “Oh, my resource allocation is…,” and you kind of go back to the drawing board and then some heartburn gets created and, yeah, that’s sort of like the beauty of making software.
Den: Right - saying yes often has more ramifications than just saying no. So, with running a large community, running a startup, you’re doing so many things - how do you balance everything in your life and work? What’s your approach to recharging and refreshing, and coming to work excited?
Jess: Yeah, for me personally, I have achieved so much more work-life balance, now that we’re like a forty person company, then when we were like a fifteen person company. I think early on you sort of… I think I’ve come to learn that I can’t be sprinting the entire time, and that this is truly a marathon, and so breaks are allowed if you need to drink water and eat snacks along the way. ‘cause early on it was like Slack was on all the time of constantly available, and then as you start burning out on that you’re like, oh like that’s actually like diminishing returns right now, and so it’s interesting, as you transition to having more people on your team. Like for me personally, I’ve learned to delegate a lot more, and essentially just trust in the team and the people around me supporting everything that’s going on, and so yeah it’s funny ‘cause like now I feel like I have work-life balance, and it’s something we want everyone on our team to also have. And so I actually tried really hard not to be on Slack or doing work, at least not visibly, so that we’re leading by example there. Me, Ben, Peter, we all try really hard. Of course, if we say we’re offline, actually be offline, because otherwise you’re presenting that precedent that you should be working if you’re traveling that day, and you shouldn’t, so that’s something that we’re all working on, and I think that Ben and Peter’s work-life balance have also improved in the last few years too. So yeah, it’s kind of counter-intuitive.
Den: It’s interesting because it kind of dovetails some of the things that another guest on our podcast, Mayuko Inoue, mentioned a couple of weeks ago around the hustle culture and how there’s often this concept of: you could only succeed as a startup if you’re hustling, you know, 24/7. No weekends, no breaks, just push at it. And here you are showing us that you can build an amazing thing without working 24/7 and still having time for things in your life that are important, because work is a part of it, but it’s not everything.
Jess: Yeah, I mean, it’s so important to reset. Otherwise it’s just not thinking clearly and you end up operating on exhaust fumes and emotions, and that’s not helpful for yourself or anyone around you.
Den: And you can only go on fumes for so long before it starts backfiring, causing more issues. What would be your advice to someone that looks at you as an inspiration and things that I want to follow in those career footsteps? What should they do?
Jess: Well, since I didn’t follow a certain path, I guess I’d go back to what I was saying earlier, which is plan for opportunism, you know, sort of take it one step at a time, but be really open-minded about what the opportunities are. Because if we’re not open-minded about them, you’re just not going to see any of the opportunities or you won’t interpret them as such. So yeah, keep up, keep an open mind and stay curious.
Den: This is wonderful advice and I know we’re getting to the top of the hour and I want to ask you about the two podcasts that you have coming up, so tell us more about those projects.
Jess: Yeah, so Dev Community, we put out two… We have two original shows. One is called DevDiscuss and that is similar to this - it’s an interview format, but it’s with me and my co-founder Ben, and we just cover topics across software, so we have… Will have episodes on like Vim, or you know, anything related to your career, so career transitioning, just sort of the whole gamut that might interest developers. And then we also have a show called DevNews and that covers just things are happening in the industry, and it’s really quite fun, and that’s hosted by Saron Yitbarek, who is also the co-host of the Code Newbie podcast which is also in our family of podcasts, and then Josh Puetz, who is a principal engineer at Forem, and that show is just so much fun there. I love that show more than DevDiscuss, but only because I’m like critical of myself sometimes. But yeah, DevNews is really a fantastic way to keep up with the news in the industry.
Den: Right after this recording, I’m hitting “Subscribe” on literally all of them because I love podcasts, and to me discovering new shows… This was an unexpected surprise to today’s show, and we’ll include links in the show notes so the folks can go there and subscribe in their favorite podcasting app. So another thing that I want to ask you about is - there’s an initiative that you’re driving, that’s called “Nevertheless She Coded," that’s coming up. Tell us more about what it is.
Jess: Yeah, so “Nevertheless She Coded” is something we came up with five years ago, so this will be our fifth celebration where we just celebrate women who code. And it’s a day… So International Women’s Day is March 8th, and so starting in March, we encourage women to share their stories and how their coding journey is, how they got into coding, they share their advice for other women. We also have allies share how they, you know, plan to support women, and so yeah. So on March 8th we’ll be amplifying stories from women who code just, you know, all across the Internet, so that we can just inspire more women to join this industry.
Den: Jess, where can people find you online if they want to follow you? Where should they go?
Den: Wonderful. Well, Jess, it’s been a pleasure having you here. Thank you so much for coming on our show and I hope that we get to chat with you sometime again in the future, once Forem becomes a multi-million dollar company with millions of customers. It’s going to be so exciting to learn from you.
Jess: Would love to, and yeah - thank you so much for having me today. This was a lot of fun.
Den: Thank you Jess.
Jess: Bye Den.