Have you ever stepped into a room where everyone is already friends and you don’t know anyone? That’s what open source felt like to me, initially.
I used to see open source projects and think, “That’s never going to be me. I’m never going to do that.” First, who wants to do anything for free? I can’t afford that. Two, it seems very unforgiving. Maintainers get a lot of flak for not fixing this bug or releasing that feature. I’ve probably yelled at an open source maintainer at some point myself.
But I was seeing demand for use-shopping-cart because people wanted to build eCommerce stores, and I felt like I had a responsibility to step up. I’ve been an open source maintainer for less than a year now, and what’s really inspiring is that other people and companies are both contributing to, and using my project. And I know a lot of them probably never would have imagined they’d build an eCommerce store. But now there’s this low-hanging fruit with my library, so they’re curious and exploring.
Inspired by the community to build something better
At the very core of my being, I’m a professional tournament gamer. I’ve been to tournaments throughout America, Sweden, Scotland, Amsterdam, and Thailand to play a game called Tekken. In 2011, there was a $3 app designed to help us tournament players study, but I was really unsatisfied with it. That alone inspired me to learn how to code.
I approached learning how to code by trying to build a new app and I ended up creating an iOS and Android app called T7 Chicken Plus, which now has over 30,000 users. The greatest feeling in the world is going to tournaments and seeing people use my app. There’s a whole community around it. Before that, I didn’t recognize how much I loved the community aspect of things.
It’s not necessarily open source, but the community expressed interest in paying me to keep the app going. So I figured I’d start an eCommerce swag store and sell hoodies and T-shirts. I initially thought I’d want to eventually make more stores—but the process was more challenging than I expected. I’d go as far as to say I never wanted to go through the process of building one again.
In looking for simple solutions to more easily build this eCommerce site, I had heard about Gatsby. Theming was their main thing at the time, and it looked like a really good solution because I could easily launch an eCommerce store in a matter of minutes. All I’d have to do is change colors and copy. Over time, I realized the value wasn’t with the Gatsby theme itself, but the shopping cart logic I had built, and being able to launch an eCommerce store in a matter of minutes based on your Stripe dashboard. So I extracted the shopping cart logic into a Hooks library. Since Stripe is tried and true, people were confident they could rely on my library to spin up their eCommerce experiences more easily.
People helping people make a living
Right now, we’re still in the building phase and the community is super new. I’ve been happy with the individuals and companies supporting my open source journey. Stripe has even sponsored my project through a monthly investment and has given me a platform to speak at their events or events sponsored by them. If I need help with my library or have questions about anything, I have access to their entire Developer Relations team. Honestly, I feel like I could ask for anything and they’ll figure out the best way to assist me at this point. There’s a Stripe developer advocate, Thor Schaeff, who’s a core contributor, and he’s building all his examples with our library.
Because of the pandemic, a lot of people and businesses are trying to make money online right now, so I think the eCommerce space deserves a little love. I would like to see more open source knowledge sharing, education, and support for this future community. And I myself would love to create the content and educational material around fundamental eCommerce practices. Because we’d all like to make money, right? I think just having that support and documentation available is going to have a big impact.
It’s a lot of work, but I want to keep adding fuel to the fire. I’m excited about the space, and removing friction from the work that it takes for people to make money online. I also care about the people who don’t code, and making technology accessible for them.
Balancing a desire to contribute with the need to make money
Usually when people ask what I do, I say, “I’ve been a developer for five years, I’m really good at shipping stuff, and a lot of it gets traction. But I don’t make any money.” It’s always been this pain point for me, almost like an insecurity.
Most of the people maintaining open source are white or come from privileged backgrounds, and most of the time they can afford to do things for free on the side. So they end up building these huge ambitious projects that provide great opportunities for them, including these crazy high salaries.
I genuinely want to bring value into the space. I enjoy my work, and I’m happy to do it, but I can’t do it just because. I need to have something to sustain it. I know I’m fortunate to be where I am, but I’ve been chasing this opportunity and trying to balance it with the need to make money the whole time. I never felt like there was an easy way for me to benefit from it financially, but I’m on my way to changing that.
As I was ramping up on Use-Shopping-Cart Brian Douglas tweeted: “If you identify as Black and have enabled @GitHub Sponsors, reply with a link to your profile. I would love to sponsor the work you do in open source for the next year and I am sure there are others willing to do so as well.” So I added mine and I started receiving more sponsorships. I am very happy with the amount of funding I receive through GitHub Sponsors and the support means so much more to me than I can express. This is the first time I’ve ever gotten money for anything I’ve done in the coding space outside of actual jobs.
There are definitely methods to make sure you’re getting paid, like making an open source library and consulting. Even if the library's not 100% complete, you could find a client, and they’d pay you to learn and complete the library.
While making money has been a pain point for me, I also don’t regret any of it. There’s a lot more behind this work, like my own education. My personal projects give me a chance to grow, and it’s good to have apps like T7 Chicken and an open source library on my resume.
There should also be more initiative from companies that use open source libraries. Employees often have small budgets for personal learning and development, right? So what if employees had a small budget to be a GitHub Sponsor to their developer of choice? I actually have a lot of GitHub employees sponsoring me right now, and I know a lot of open source maintainers would be happy if that was a norm. It’s crazy there’s not a standard for this yet.
Finding his Resilient community
I started as an IT guy, which is such an undervalued role: You’re carrying the entire company on your back. I did that for about three or four years. At 25, I picked up coding, just before React gained popularity. I got an email about a client that needed developers who were willing to move around the world and learn React. So I did that and flew to Scotland for a few months, then worked with a cybersecurity company.
Then I went full time with Resilient Coders. I had been mentoring there for years, so they were pretty familiar with me. Before that, I just wasn’t around Black and Brown people at all. Throughout my year with Resilient Coders, I was surrounded by Black and Brown people, nine to five.
It’s hard finding tech communities full of Black and Brown people, but Resilient Coders is exactly that. At the very center of their mission is Black and Brown equity. A lot of coding bootcamps just cram as much technology as possible into your brain as quickly as possible. But we spend the first week or two really focusing on different ways of learning. You have to learn how to learn, and recognize what works for you. Then we do the tech cramming.
A big part of why we focus on the learning aspect is because not every company uses the same tech stack. We teach HTML, CSS, JavaScript. We expose students to Node and Express. We have them build full stack apps using Mongo. We give them as much fundamental exposure and practice as possible. This way, even if they go into an organization that uses a language they don’t know, they understand how to pick up and learn.
The pain of code switching, and opening more doors for Black and Brown coders
There’s a specific way I grew up, with certain things that make me feel like I’m at home. Transitioning from that to the tech industry and corporate America meant that I got really good at code switching. It’s hard to explain because it’s not tangible, but I learned to communicate differently. It’s only something you can experience firsthand. It's a very slow, painful thing that happens over time.
Imagine going into work and everyone has a different accent than you. The only way people will trust you or take you seriously is if you develop that accent yourself. You do that for so long that when you go back home, your own people can’t relate to you or trust you because you speak, think, and talk differently.
I hope to change that by helping bring more people of color into eCommerce and the open source world. Because then they’ll bring other people of color into the space. Just the simple act of being inclusive and expanding that network is so important.