Open Source

Using WordPress to run a profitable developer training business

In this episode, my guest Avdi Grimm shares how he found his independence by running a training and consulting business for over ten years. 

We talk about:

  • the importance of time efficiency, task delegation,
  • why you should remove yourself as a bottleneck from your business
  • the work he does on Graceful.Dev and
  • how he is utilizing WordPress for the website.

Avdi is a consulting pair-programmer, the author of several popular Ruby programming books, and has several courses on his website Graceful.Dev (formerly RubyTapas.com).

Avid Grimm Software Consultant

This episode is sponsored by Tonic.ai – where your data is modeled from your production data to help you tell an identical story in your testing environments.

Links:

Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.

Transcript: 

[If you want, you can help make the transcript better, and improve the podcast’s accessibility via Github. I’m happy to lend a hand to help you get started with pull requests, and open source work.]

[00:00:00] Dr. McKayla: Hello, and welcome to the Software Engineering Unlocked podcast. I’m your host, Dr. McKayla and today after pleasure to talk to Avdi Grimm. But before I start, let me introduce you to an amazing startup that’s sponsoring today’s episode, Tonic.ai, the fake data company. So what does Tonic.ai do? I’m sure you know how complex and cumbersome it is to create quality test data.

[00:00:27] Dr. McKayla: It’s a never-ending chore that eats into valuable engineering resources. Random data doesn’t do it and production data is neither safe nor legal for developers to use. What if you could mimic your entire production database to create a realistic dataset with zero sensitive data? That sounds amazing, right? Tonic.ai does exactly that.

[00:00:50] Dr. McKayla: With Tonic.ai, you can generate fake data that looks, acts, and behaves like production data because it’s made from production. Yet, Tonic.ai guarantees privacy so your data sets are safe to share with developers, QA, data scientists, heck, even distributed teams around the world. Visit Tonic.ai to sign up today or click the link in the show notes to get a free two weeks trial sandbox.

[00:01:14] Dr. McKayla: But now back to Avdi. Avdi has been a developer for over 20 years and runs, similar to me, a training and consulting business. The main difference is that he has been doing this already for over 10 years. So I’m super thrilled to pick his brain today around everything business-related. He’s also a consulting pair-programmer and the author of several popular Ruby programming books and has several courses on this subject on his website, Graceful.Dev, formerly RubyTapas.com. So I’m super thrilled that he’s here with me today. Avdi, welcome to my show. I’m very excited.

[00:01:51] ** Avdi Grimm: ** Thank you so much. I’m excited to be here.

[00:01:53] Dr. McKayla: Yeah, I’m super excited. So I’ve been following your journey on Twitter and so on for quite some time. Very inspirational as well. And I have a lot of questions around how you run your business and why you’re running the business and what we can learn from you, right, a seasoned entrepreneur and self-employed person to also maybe get a little bit more independence in our life, right? So this is probably the main goal for myself, for everything that I do is flexibility and independence. So why are you running your own business and how does this come about? Why are you not a software developer in a company somewhere?

[00:02:32] ** Avdi Grimm: ** Right, yeah. I mean, to some degree, I feel like it’s almost an inevitable career arc for somebody in software. You know, I know people who have avoided it, but a lot of the people that I kind of looked up to over the years went through, you know, they went through the full-time employment phase and then they gradually kind of moved out to becoming consultants and having various other side businesses.

[00:02:55] ** Avdi Grimm: ** And, you know, come to think of it, I never really thought about this much before. I had the example of my dad who worked in software and hardware design, and he was an independent consultant I was growing up. So that was kind of normalized to me to, like, have your own thing

[00:03:08] Dr. McKayla: Yeah, for me was quite different. Yeah.

[00:03:11] ** Avdi Grimm: ** I think that I, I saw that on the horizon maybe from earlier than some people do, just because it was, it was normalized for me, you know? And it just seemed like that’s what a lot of my heroes did in the industry was eventually they became consultants.

[00:03:26] Dr. McKayla: Yeah. Yeah, it’s good if you have like role models. For me, it was quite the difference. I always saw it that I will work at the company for a really long time and, you know, climb the career ladder somewhere. Actually, I started a family that I saw, oh, this is not working out as I expected. And as I would like it to work out, right? And so this was a little bit why I changed the thing. So you call it a banana stand. You don’t call it like an enterprise or something. Why do you call it the banana stand? And what’s your philosophy for your business? How do you run it?

[00:04:00] ** Avdi Grimm: ** So, yeah., I’ve started using the term banana stand recently, especially as I’ve been kind of reflecting back on, you know, over a decade of doing this and, like, my style of, of running the business and writing a little bit more about that. So the, the term banana stand, it comes from, the show Arrested Development in which one of the characters says to another, this character is trying to save the family business and his dad who is in prison keeps telling him there’s always money in the banana stand, which he completely misinterprets the message and winds up, burning down a banana stand that’s full of literal money in the walls. I apologize if I’ve spoiled the show for you, but it’s been out for a while. But you know, like, that phrase stuck with me. There’s always money in the banana stand and that’s kind of the way that I look at it.

[00:04:48] ** Avdi Grimm: ** So there’s kind of two sides to this, this independent business for me. There’s the consulting side. And then there’s the product side, product being kind of a broad term for selling books, selling courses, selling workshops. It’s kind of a loose definition of product, but it’s definitely distinct from the consulting side of my business, which is more like, you know, hourly consulting on people’s projects.

[00:05:12] ** Avdi Grimm: ** And I definitely look at the product side as a banana stand as like something that I kind of run casually, even if I’m putting most of my time into it now. I still run it kind of like lazily and you know, and it’s my own banana stand to putter around in. I’m not, like, beholden to any, like, schedules and I’m not on any kind of like track of, I have to, you know, make this much money.

[00:05:35] ** Avdi Grimm: ** I have to, like, make sure that my VCs get a payoff and stuff like that. It’s just kind of like, you know, I get the putter around in the banana stand and work on whatever I feel like. And, you know, that phrase there’s always money in the banana stand is kind of like that has informed the way I think about employment a lot, because, for me, if I’m in between jobs, I used to think of it as in between jobs, I don’t think of it that way anymore, but if I’m in between jobs, quote, unquote, that’s not like a time to panic and, you know, and, like, do all the interviews and freak out about how I’m unemployed. That’s time to just focus on the banana stand.

[00:06:12] ** Avdi Grimm: ** And until something comes along, that makes sense. And I think that’s been helpful to have that. And, yeah, that side of my business, really like, so we talked about consulting, but that side really came from early on, getting into e-book sales, which we can talk about how that story went if you want.

[00:06:28] Dr. McKayla: So if I understand that you would say there’s the consulting, which is, you know, it’s something that you have continuously to invest in and also make some contracts around that.

[00:06:37] Dr. McKayla: I’m also doing some consulting, which means like now I’m dedicating, let’s say 30 hours for this project for three months, right? And so you are more or less sold out for that time?

[00:06:48] ** Avdi Grimm: ** It’s kind of like a real job.

[00:06:49] Dr. McKayla: Yeah. It’s like a real job, only that you have all the risks as well, which is even worse.

[00:06:58] ** Avdi Grimm: ** But there’s a lot more, even there there’s a lot more independence. And honestly, you know, one of the things that I value on the consulting side is that, I mean, yeah, you have the risk, but there’s always the risk. There are no guarantees in this industry. There are no guaranteed retirement plans.

[00:07:13] ** Avdi Grimm: ** And what I don’t have to do is I don’t have to buy into a lot of corporate mission and values BS that I don’t believe in.

[00:07:22] Dr. McKayla: Yeah. So you have your consultancy and then in between those consultancy gigs, right, when there are no consultancy gigs, you’re not freaking out, you’re working on your banana stand and you grow that, right? And the good thing it’s about the products and, you know, this mindset, I think, is that even a little bit of work on them pays off, right? So it’s a little bit like an investment. So you create another free course, maybe, and you have like a, you know, a good lead magnet, have people that are interested in your work.

[00:07:53] Dr. McKayla: Then you create a paid course when you have time and so on. And it stays, right? It’s something that’s there for longer, whereby the consulting, it comes, it brings normally quite good money, from my experience, right? In a very short amount of time, but then it goes away as well. While the banana stand, maybe it’s a little bit, it’s not this boom, now we have like all this money. But it’s also not going away, right? Yeah, exactly. It’s a snowball. It’s a flywheel somehow, right? Yeah.

[00:08:20] ** Avdi Grimm: ** Yeah. I mean, you know, a consulting gig is one big blizzard that, you know, that melts the next week and a banana stand is a snowball that you just kind of gradually roll over the years.

[00:08:32] Dr. McKayla: And so how long did it take for you to have this banana stand where you could say, well, I have some predictable income that, you know, makes me sleep at night? .

[00:08:43] ** Avdi Grimm: ** So actually I think, you know, my trajectory there probably was a little different from a lot of people’s. I kind of, you know, I put along having the book, the e-book business on the side for a few years, and that really just fell out of speaking.

[00:08:58] ** Avdi Grimm: ** It happened because I was giving talks at software conferences. And I was pouring a ton of time and energy into researching these talks. And I was like, you know, I wonder if there’s a way to kind of recoup. You know, I have all this material that I put together. I can’t fit it all into a talk.

[00:09:14] ** Avdi Grimm: ** And I wonder if there’s a way to like recoup the energy that I’ve been putting into this. And that was really the origin of the first book, which was Exceptional Ruby, which is about error handling and failure management and I made a book out of like the, all the extra material that I put together for that.

[00:09:29] ** Avdi Grimm: ** And that was that kind of launched things. And so that was kind of a side business. It was a nice little side business for a couple of years. And then what changed was I decided to get into screencasting. I’ve been doing the books, I’ve been doing some podcasting and this was around, you know, this was like 20, maybe 2010, 2011, 2012.

[00:09:52] ** Avdi Grimm: ** A lot of programming screencasts started taking off. And I decided to get into that business. And I had a vision of like, what if we did that only much shorter and more focused? And, you know, just do like five minutes or less. You know, get one idea across at a time. And so, unlike most banana stand efforts, that was really like a do or die, not do or die.

[00:10:13] ** Avdi Grimm: ** I don’t like that terminology that was a go big or go home. That’s the phrase I’m looking for, go big or go home because I knew how much energy went into video production and it is a lot. And so it was like, okay, this is a project that I’m going to test the waters. If it does well, I’m going to try, you know, the only way this works is if I can make it into my full-time job, otherwise I’ll just stop. And yeah, I got really lucky. I was coming in at a good time. People really liked the format. And so within, I think around a year or two, I was able to say, I don’t actually need other jobs right now with the RubyTapas screencasts.

[00:10:49] Dr. McKayla: Oh, yeah. That’s nice.

[00:10:51] ** Avdi Grimm: ** Yeah. So that was, that was kind of like line goes up. That was less, you know, slowly rolling snowball.

[00:10:56] Dr. McKayla: Yeah. And how much time did you spend in this line goes up phase? You know, because somehow when you’re focusing on something, like doing the screencasts, you’re not having an income, right? And then if you go to consulting, you don’t have the time. So you have to switch between those boats of not having time or not having money. So how did you handle that at that time?

[00:11:17] ** Avdi Grimm: ** I didn’t sleep. I had at least one new baby at the time, too. And, like, I was working consulting gigs. I don’t know. It’s kind of a blur at this point. I don’t think that I could do that kind of thing again, unless it was a great need. ‘Cause I was also, at that point at the beginning, I was producing three episodes a week.

[00:11:41] Dr. McKayla: Wow. Yeah, that’s a lot.

[00:11:43] ** Avdi Grimm: ** Yeah. I was doing a lot at once and it was kind of nuts.

[00:11:46] Dr. McKayla: Yeah. And I actually really liked, with the whole style also, when I look through your blog posts and everything, right, you have your own style. You didn’t call it like Professional Ruby screencast, you call it RubyTapas, right? And the tapas probably transport the message of it’s small pieces of very digestible, tasty things, right?

[00:12:09] ** Avdi Grimm: ** And I feel like some of that probably also fell out of just like the Ruby, like, the community has always been super whimsical and kind of silly. And so, you know, I can’t take full credit for that approach.

[00:12:22] Dr. McKayla: Yeah. But recently, I don’t know exactly when, but you rebranded your whole RubyTapas into Graceful.Dev, why is that? For me, it seems like it’s now broader and there can be more happening, but what’s your strategic vision behind, you know, going from RubyTapas to…

[00:12:40] ** Avdi Grimm: ** I do not do strategic visions. I used to, but, man, I avoid strategy as much as possible now. I mean, that’s okay. That’s not true. I do a little, I do a little. But I try not…

[00:12:54] Dr. McKayla: You definitely have some reasoning behind it, right?

[00:12:56] ** Avdi Grimm: ** I try not to have five-year goals. Let’s put it that way. I don’t do goals. There’s definitely some reasoning there. There’s a direction there. I mean, the direction was one that I’ve honestly had in the back of my mind for a really long time. A lot of people don’t know that, like, the same day in, like, 2011 or whenever it was that I registered RubyTapas.com and associated addresses. I also registered CodeTapas.com.

[00:13:20] Dr. McKayla: Okay.

[00:13:21] ** Avdi Grimm: ** So like, you know, I never wanted to completely limit myself to Ruby, strictly Ruby content. You know, I’ve worked in, God, like a dozen languages over the course of my career. And Ruby was just an area that I wound up focusing on a lot and wound up making a lot of money in. And enjoying, I really, really enjoy the language still and the community as well.

[00:13:42] ** Avdi Grimm: ** But I always had in the back of my mind, you know, that I would expand, but, you know, I didn’t wound up not using as you’ll notice. I wound up not using CodeTapas as the branding ’cause I was really, like, moving in a different direction, broadening not just in, like, in the technologies that I want to cover, but also I just spend a lot more of my time thinking about broader topics like, the sustainability of the development that we do and systems thinking, understanding the systems in which we work and the systems that cause the work that we have to exist. And yeah, so just, for a lot of reasons, it made more sense to me. And in some of my talks, I’ve been really focusing on the concept of grace.

[00:14:21] ** Avdi Grimm: ** So it just made more sense to me to move in that, that branding direction. And then recently I had the opportunity to finally, like, do a lot of the heavy lifting of moving content over. And so I took that.

[00:14:33] Dr. McKayla: Where did this opportunity come from?

[00:14:35] ** Avdi Grimm: ** Well, so I had a point a few years back where I was like, okay, you know what? I’ve been sort of off on my own, doing my own thing for a long time. I would like to get back into, like, the hustle and bustle of being part of a big team that’s making something real in the world. And I spent, I don’t know, a year or so interviewing pretty seriously at a bunch of different places. And that did not go as expected.

[00:15:00] ** Avdi Grimm: ** And I finally decided that I, wasn’t going to focus on that anymore after all. And I was just going to get back to the banana stand ’cause there’s always money in the banana stand. And that has been actually an immensely satisfying experience, kind of coming back to it with a fresh, fresh, like maybe this is my calling perspective.

[00:15:18] Dr. McKayla: Yeah, I actually followed this journey a little bit on your Twitter, you were sharing it with us and also the hassle of the whole, you know, getting naked in front of strangers, you know, and really selling yourself. And I mean, you have been in the industry for so long, you have shared your learning.

[00:15:38] Dr. McKayla: You know, you have some portfolio online. It’s not like somebody comes and has no idea about you, but still, it felt like at least what I got out of the tweets, right. What I read into them was that every interview was a little bit, it wasn’t really like keeping your dignity, right? So you had really to get naked in front of them to do all these silly things.

[00:16:03] ** Avdi Grimm: ** You know, I wouldn’t, I actually, I would argue that it’s not, it wasn’t really about being naked. It wasn’t really being, about being transparent. It was about people wanting you to do a very special dance for them that strokes their ego and me being at a point in my career and life where I’m just like, I’m not going to do that. Why would I do that? Looking back I got some actually really nice offers from some, you know, well, large companies anyway, but in the end I was not comfortable taking any of them. And in part, because of what I saw during the interview process.

[00:16:39] Dr. McKayla: Okay, what did you see?

[00:16:41] ** Avdi Grimm: ** Well, you know, so actually, let me tell you about something I just heard recently from a friend of mine, because I hear the same story over and over again. Like my story, what I’ve realized is my story is not at all unique. So just the other day I heard the story again of like, basically, you know, an extremely senior well-respected brilliant engineer gets asked by a friend that works at a FAANG, you know, works at one of these giant unicorn Silicon valley darlings, gets asked to come interview there. It’s like, we’d love, you know, I’d love to work with you here, which is basically what happened to me, a number of different places. And, you know, so they kind of go into the interview silo and then they go through this process where in, you know, in this particular case, like they got interviewed by someone who was totally unrelated to the group that wanted to hire them because this is the way the process works. You know, we don’t want bias in the system. There’s a lot in these processes that are supposedly about eliminating bias, it’s actually creating it.

[00:17:42] ** Avdi Grimm: ** We can talk about that more in a minute, but, you know, was interviewed by someone totally unrelated to that team. And basically, they were like, you know, show that, you know, by heart, my favorite algorithm,

[00:17:55] ** Avdi Grimm: ** I happen to have a favorite algorithm. You’re going to show me that you can, you can identify that I’m thinking of this algorithm and then you can write it by heart. And like that wasn’t an algorithm that this engineer had used before. And so it wasn’t one they thought of, you know, I’ve got a lot of stuff in my background where it’s like, I know of algorithms that probably most engineers haven’t heard of because they happen to be useful for networking middlewares and I hear this all the time.

[00:18:18] ** Avdi Grimm: ** Anyway, they got flunked out because they couldn’t, you know, reproduce somebody’s favorite algorithm from, by heart. And this is somebody with, like, close to my level of experience. It’s nuts. And I keep hearing this. It’s actually, you know, I’ve heard this from a lot of people, with my, lot of friends of mine, with my level of experience in the industry, that these systems, they’re really tuned to find people that are exactly like the people who designed the system in as many ways as possible.

[00:18:47] Dr. McKayla: Yeah.

[00:18:48] ** Avdi Grimm: ** Like, for me, I don’t care. I am a white guy with plenty of opportunities and a banana stand. You know, I can fall out of a process like that and be fine. But what I’m seeing is that these processes are also, I mean, they’re very gatekeep-y and they’re very clicky. They’re very in-crowd, they’re very, very, like, we are expecting people that sort of show the secret insignia of a very select group of Silicon Valley insiders, basically.

[00:19:18] Dr. McKayla: I think one of the problems is also that they often require a tremendous amount of preparation, right? And if you think you are an experienced engineer, maybe at that point, you have a family, for example, around, right.

[00:19:33] Dr. McKayla: And some other commitments, it gets really hard to study some, you know, lead code examples, just to be as fast as, you know, somebody else, right? And I think this is also something that I criticize a lot when I’m thinking, and then you don’t even need that, you know, you don’t need that knowledge. You could really solve real-world problems.

[00:19:51] Dr. McKayla: You have some experience and background, right, that you have worked on. And it’s probably also super challenging. So looking really at what that person has already achieved in the last, let’s say 15 years would be, you know, and then really let them explain that in-depth, which shows that they probably can learn, you know, whatever problem or solve whatever problem you throw at them. It would be a much better way than, you know, getting back to bubble sort and, you know, and linked list or something, right?

[00:20:19] ** Avdi Grimm: ** And this, this is a big part of where the bias is in the system, and this is why I get sort of morally outraged by it, you know? I don’t do well in these, you know, I might not do well in these because I’m at a point where I just can’t be arsed to do that much homework of like learning somebody’s arbitrary favorite algorithm.

[00:20:36] ** Avdi Grimm: ** But what they’re implicitly biasing towards is the sort of stereotypical young white dude that has all the time in the world and doesn’t have a family to support and doesn’t have any disabilities. And, you know, I could list off a lot of, you know, a whole lot of privileges there that go into that sort of their really looking for that person who has nothing else going on in their life.

[00:20:59] Dr. McKayla: Exactly.

[00:21:00] ** Avdi Grimm: ** You know, so that they can then like induct them into the cult of your passion is your software career. And that bugs the heck out of me, you know, and I see this really like, you know, who is really hurting is people that come from backgrounds that aren’t like mine and have other stuff. They have people that they’re taking care of. They have kids, they have elderly parents, they have families that they’re sending money to, and they can’t afford a, you know, a break in their income while they spend six months, you know, doing nothing but the interview game. You know, there are so many things, and the people that are, you know, so many minorities in this country already have, in the world or, you know, minoritized people, I shouldn’t say have so many other calls on their time because of the way society is already stacked against them. That it makes it impossible to jump through these.

[00:21:48] Dr. McKayla: Yeah, I totally agree. I totally agree. Yeah.

[00:21:51] ** Avdi Grimm: ** Sorry, I get worked up.

[00:21:53] Dr. McKayla: No, I want to come back a little bit to your banana stand again because this is the way out for, for you. And it’s a little bit the way out for me as well, right? So with Graceful.Dev, I don’t know if you had that before. You had RubyTapas and you had like the courses, but Graceful.Dev is now a full-fledged membership site, right? So you have different courses and you build it on top of WordPress. Why did you go this route? I mean, you could have like your courses on some third-party platform, right? From, I don’t know, Teachable or whatnot, you know, many, many different PODR and so on. But you host it yourself and then you have the membership site as well. And you do that. Why does choice, like, I’m also thinking about right now, awesomecodereviews.Com for example, runs on, I switched from WordPress to Gatsby. So it’s a static side and I’m thinking on how to give it a membership capabilities.

[00:22:49] Dr. McKayla: And I looked at SurplusCI and so on, but why did you go for WordPress? And are you happy with it? And what’s the philosophy behind it? What do people get from this membership? What do you want to build? Probably there’s a community behind, right? And some, some visions that you have for that.

[00:23:06] ** Avdi Grimm: ** This is an opinion I’ve kind of come to over years of using many different systems. And there’s continuum here because you know, a lot of people running, particularly running education sites for developers have rolled their own system from scratch. They’ve built their own servers or their own applications.

[00:23:26] ** Avdi Grimm: ** And so, you know, there’s that continuum all the way from roll your own to, you know, use a completely hosted service, like Podia, Thinkific, whatever, you know, and I’ve, I’ve tried a lot of these different things. I started Ruby topis out on somebody else’s platform.

[00:23:39] ** Avdi Grimm: ** And it was super limiting. You know, there would be things that people were asking for for years and they just, that feature wasn’t a priority for the platform because you’re competing, you know, you’re competing with all the other people who use the platform. And for, you know, whose feature is most important.

[00:23:54] ** Avdi Grimm: ** So it was very limiting to use a hosted platform, and I’ve periodically I try them again and they’re always, there’s always like something pretty early on, it’s like, wow, I really need this feature. And I don’t have it. But I’ve also toyed with building my own. I did that for a few years and you know, what I realized was, if I did that, my show was going to become about building an app to support the show, because that’s what I was going to be spending all my time on, because it’s a lot of work to build.

[00:24:23] Dr. McKayla: It’s a lot of work, yeah.

[00:24:25] ** Avdi Grimm: ** People don’t realize, you know, how many features are expected in an application that sells content and serves content and keeps track of people’s progress in the content, et cetera, et cetera, et cetera.

[00:24:38] ** Avdi Grimm: ** And yeah, I just, that was not the show that I wanted to be doing was, you know, I didn’t want to be like here’s videos about how to build a place that hosts these videos. So WordPress has turned out to be a really happy medium kind of between those two extremes. WordPress is just incredibly mature software.

[00:24:56] ** Avdi Grimm: ** There’s a lot of people in, particularly, the developer world that are kind of biased against WordPress and sadly against like the PHP ecosystem entirely, which I think is really undeserved. There’s a lot of really, really good people working in this space. And the ecosystem is just amazing because you can kind of build anything you want and you can get as little or as much support as you want.

[00:25:20] ** Avdi Grimm: ** You know, it’s easy enough to build your own plugins for WordPress to just do a little tweak here, a little tweak there. You know, the architecture of it really supports the idea of exposing everything it does as hooks. And then you can hook your own stuff into those hooks, which is why it has this great plugin ecosystem.

[00:25:36] ** Avdi Grimm: ** But one of the really cool things about the plugin ecosystem around WordPress is A, there is a plugin for everything, like, anything you might want to do. Somebody has got a plugin for it. And B, usually they have, like, a premium version, which comes with support. And I have had the best experience with premium plugins for WordPress.

[00:25:55] ** Avdi Grimm: ** Like, you know, people just like being very responsive to the people that are giving them money and coming back and, you know, with bug fixes or like going into the, you know, going into your site and making, figuring out why it’s not working. And so it’s like, it’s one of the rare places I’ve seen that people are putting out a ton of open-source software, but also getting paid for their work.

[00:26:16] ** Avdi Grimm: ** Because all these plugins, like the base version at least, is always open source. And then basically you’re paying them for maybe some premium features, but mainly for a support contract and, you know, and so people are making their living, creating open-source software. And I think that’s pretty cool. And it’s also, it also has done really well for my business.

[00:26:32] Dr. McKayla: Yeah, and it’s true. And so when I’m thinking about your course software, did you get a plugin for that? Or did you have to write it yourself or do you have like a plugin and then extend that on your own? How does that work? You’re hosting your videos, but then they’re also like, you know, questionnaires, for example, some quizzes, you know, as you said, you see that people, you know, it somehow tracks the progress of the people. It has to know that you’re a member that can access that course, the other course. All of that functionality, does it come out of the box with some plugins for WordPress? Or did you have to implement that yourself or was it a mixture that you’re actually getting a plugin and then you can, you know, enhance that with your own code?

[00:27:15] ** Avdi Grimm: ** Great question. So, there are two to three categories of plugins that go into a site like this. I mean, my website has a lot more plugins than that, but there’s sort of maybe three basic pieces. And one is learning management system LMS, otherwise known as courseware. So that’s a category of plugins I could probably reel off maybe six of them off the top of my head, I’m personally using LearnDash, which is one of the older ones and one of the more, probably the most popular one in WordPress right now. And it’s very mature. It’s a little clunky for me sometimes because it’s really targeting in many ways, it’s targeting like serious learning institutions where they have like accreditation concerns and certificates.

[00:27:59] ** Avdi Grimm: ** And like, you can’t take this course until you take this other course, lot of stuff that I don’t care about. On the flip side, it’s very mature. They handle all the things that I might want to put into it. They just also, also a lot of stuff that I don’t care about. And then, so you’ve got, like, there’s learning management, that’s one. There’s membership, which is like another whole category of plugins, which are generally focused around, given this account, what material does this person have access to? And that includes courses, like what courses does this person have access to.

[00:28:28] Dr. McKayla: So they work nice together, LearnDash and the membership thing.

[00:28:30] ** Avdi Grimm: ** Yeah, so generally what you see, so I’m using LearnDash on the LMS side, I’m currently using MemberPress, which is one of the more popular membership management plugins.

[00:28:39] ** Avdi Grimm: ** Generally these plugins, they work hard to work with each other, you know, different teams usually, but they work hard to work with each other because that’s where a lot of the value comes from. And so they have explicit support for each other. And then the third piece often is like your e-commerce, how you sell the thing.

[00:28:56] ** Avdi Grimm: ** And that is often a separate plugin as well. Like in the WordPress ecosystem, it’s usually WooCommerce. Sometimes it’s EDD, Easy Digital Downloads. Now I’ve reeled these off like they are distinctly separate categories, but actually almost everyone in each of these spaces will happily give you like all of the above kind of in one.

[00:29:18] ** Avdi Grimm: ** Because they all kind of, they’d grow, all gradually expand out to include each other’s features. So like LearnDash, you can do a pretty basic membership management using the groups that are built into LearnDash. You can sell courses directly. Like they have Stripe integration and stuff directly from LearnDash if you want to, it’s kind of basic, but it’s totally there.

[00:29:36] ** Avdi Grimm: ** MemberPress recently introduced their own courseware plugin for MemberPress. You can just like stick with that company if you want, as long as you’re okay with like a more basic courseware offering. They also have the storefront part built in if you want to use it. So there’s a lot of blur between these plugins as well.

[00:29:54] ** Avdi Grimm: ** Yeah.

[00:29:55] Dr. McKayla: Yeah. Okay, cool. And so are you then enhancing that, is that possible, especially if you have like the paid version, could you just write that? And then how do you keep track of your own changes and new updates that are coming from the team? How do you integrate those things?

[00:30:09] ** Avdi Grimm: ** So one of the marks of a good industrial strength WordPress plugin is that they have well-defined hooks. You know, I was talking about like, WordPress is built on the concept of hooks. They have well-defined hooks that are documented. And so, like the ones that I work with do, they have good documentation sites and they have all these hooks that you can like, here’s how you change this, you know, here’s how you hook your own thing into this particular part of the interface or this particular process.

[00:30:36] ** Avdi Grimm: ** And then, so what I have is what they call a site-specific plugin that I keep under version control, and I have a deployment system for that pushes it out to my way. And my site-specific plugin, basically just very selectively has a few, there’s a few hooks where I want to customize something in one of those other plugins.

[00:30:54] ** Avdi Grimm: ** And it just like hooks its own handler into just the, like the very specific hook that is one tiny piece that I care about changing. It’s very small. The site-specific plugin is very small. I try to keep it very small and very focused.

[00:31:07] Dr. McKayla: Okay. But so it has a valid defined API or hooks that you can really enhance. You’re not going in and hacking in their, in their code base, right? So you’re on the outside, whatever they allow you to change.

[00:31:18] Dr. McKayla: Yeah. And if you’re going to really get into this ecosystem, that’s one of the things you want to keep your eye out for is like, does it seem like these people are really supporting that kind of external hooks?

[00:31:28] Dr. McKayla: Yeah, it sounds very interesting. And I know quite a couple of people that are running WordPress websites and have a lot of, you know, like you said, WooCommerce, or like a membership sites and they’re very, very happy with it. Maybe my last question for you is around, you said you are not going to plan for five years and so on, right? But I think everybody has some, some vision you know, some, some reasons why you’d be doing things like transitioning from RubyTapas to Graceful.Dev, right? What do you see yourself, do you want to do, is there a possibility that Graceful.Dev is really your full time thing and that you’re not doing any consulting or do you want to keep doing consulting on the side? Or, you know, where are you heading towards, what’s your ideal case?

[00:32:16] ** Avdi Grimm: ** I wish I had a good answer for you. You know, I want to keep being able to do what feels right at the time, which is kind of what I’m doing right now. You know, Graceful.Dev is supporting me pretty decently along, you know, that alongside of my other, you know, other products and things. You know, I take consulting gigs as they look interesting.

[00:32:35] Dr. McKayla: Yeah, and are you a solopreneur or do you have, like, a team that really helps you?

[00:32:39] ** Avdi Grimm: ** Oh yeah. Good question. I don’t have any full-time employees for years and years. I’ve employed people very part-time here and there, only ever like a handful only ever like maybe three to five at most, at any given time. Actually five is probably more than I have, but like I have somebody that’s I’ve worked with for a long time, that handles kind of first line of support.

[00:32:59] ** Avdi Grimm: ** So support emails first go to them and then they escalate them to me. I have somebody I’m working with now who’s doing a lot of, like, helping me with content, like doing video editing or fixing up blog posts that have become, like their formatting has gone wonky or is out of date or something like that. Yeah. So I have a few people that just like very part-time helpers.

[00:33:21] Dr. McKayla: Yeah. I’m currently right now in this position of getting people and I find it really difficult finding the right people because, you know, if you’re already in this, okay, I need help now. I don’t know how you overcame that stuff, but for me, it’s like, I need help now, and I can’t grow, you know, without this help. But I also can’t really make the time to find the right people and to teach them and do onboarding.

[00:33:44] ** Avdi Grimm: ** And that is, that is the classic catch-22. And there’s no easy way out of it. You know, the point where you absolutely don’t have, like, you don’t have the overhead space to train somebody, but you need to train somebody in order to get the overhead space.

[00:34:00] ** Avdi Grimm: ** Yeah, I wish I had an easy answer for that one, like that parts of slog. And eventually you kind of pull your head above it, but it’s hard because, yeah, like the effort involved in like getting through that catch-22 is exhausting. I will say this about it. And, and this has informed my work for a long time.

[00:34:20] ** Avdi Grimm: ** This is the most important kind of scaling to plan for. I think a lot of people in software are completely focused on either financial scaling or on like user scaling, you know, the, your user base scaling up like our, will our code base support unicorn scale. That is by far like the least common form of scaling that you have to support.

[00:34:42] ** Avdi Grimm: ** The kind of scaling you need to plan for is devolving stuff from yourself. Taking, removing yourself as a bottleneck. That is the most urgent and immediate form of scaling that you’re going to face. And so one of the reasons, I have a lot of reasons, but one of the reasons that I use WordPress is because it is the dominant player.

[00:35:02] ** Avdi Grimm: ** Like, it powers like half the web now, and there is this huge ecosystem. And if I need somebody to do like copy editing, I don’t need to teach them how to use GitHub and like commit things, you know, I don’t need to find a copy editor, but then teach them how to use my special, precious bespoke system.

[00:35:20] ** Avdi Grimm: ** They know how to use WordPress, whoever they are, they know how to use WordPress. And you know, if I need to get somebody, you know, if I want some help with my site because I don’t have time to diagnose one particular bug, it’s really easy to find WordPress consultants, and there’s just so many things there where it’s easy to find people that can do the thing that you need help with.

[00:35:44] ** Avdi Grimm: ** And that’s just as a general kind of policy. That’s one of my biggest considerations when choosing anything is not, you know, not is this going to scale up, but can I scale it away from me? Can, you know, can I remove myself as the bottleneck for this in the future?

[00:36:00] Dr. McKayla: Yeah. Yeah. That’s such a good mindset. And I’m currently learning a lot with it and you know, it takes much more time and much more energy than I thought, but I also see that, you know, if you have already one person, right, so finding this one person, it means that you have to work with six different people. And then you realize, oh, it’s, you know, it’s, it’s making more trouble that what I’m getting out of.

[00:36:23] ** Avdi Grimm: ** Yeah. And I should say here, like, use my bad example for learning. I hit a crash at one point where I really wasn’t like I was, my outgo was bigger than my income. And a big piece of that was that I had, I had tried to devolve too much of myself. You know, I tried to become too big and pay too many people to do too many different things.

[00:36:45] ** Avdi Grimm: ** And the funny thing about what was happening there was that I was still swamped. I still had too little time. And it was because I had basically, you know, installed myself as a manager and I was spending all of my time helping people get unstuck and managing things. And so, yeah, it’s really easy, like once you, once you kind of start going down that delegation road, it’s really easy to go too far.

[00:37:10] Dr. McKayla: Yeah. Yeah. I think, I think one step at a time and keeping the focus like I really would like to create more content, have more of this really quality time doing what I love to do like teaching, thinking about content, writing blog posts, right?

[00:37:25] Dr. McKayla: This is really what gives me energy and less about the administrative stuff. But then, as you say, I have to be real careful not to get people adding to my administrative stuff. So, yeah. But yeah, very, very good.

[00:37:38] ** Avdi Grimm: ** I think it’s important to always know that like you can do the thing. One of my personal policies is like, anything that I’m thinking of delegating or automating, always do it manually first and do it manually for a while first and get a really good idea of what it is that I’m either delegating or automating.

[00:37:55] ** Avdi Grimm: ** And usually what I discover is that I can automate less of it than I was planning. And it’s enough. Or I can delegate less of it than I was planning and it’s enough, but yeah, as it’s always very tempting to be like, man, there’s this one aspect of my business. I just don’t want to think about at all. And so I want to delegate, delegate that part of it.

[00:38:13] ** Avdi Grimm: ** And I think that’s really dangerous though, that leads down that road of like now I’m just jammed up managing everyone and paying too much, you know, not balancing my books.

[00:38:22] Dr. McKayla: Yeah. I think that’s true.

[00:38:25] Dr. McKayla: Do the thing the hard way for a while, figure out the smallest piece of it that you can automate or delegate.

[00:38:31] Dr. McKayla: Yeah, cool. So Avdi, thank you so much for sharing all your insights. Is there something like, if there are developers out there that think, oh, I would like to have some side hustle, you know, get a little bit more independence or maybe even go full in, what do you think what is a, is a good strategy nowadays?

[00:38:50] Dr. McKayla: You know, when there are already so many, screencasts, when they’re already, you know, so many other things, so many blog posts, so many podcasts and so on. What do you think? How should people start doing it? Is a blog still a good first outlet?

[00:39:04] ** Avdi Grimm: ** There’s no going wrong with blogging. Honestly, like, it really doesn’t matter like what your plan is. Get good at writing about things. Like, practice writing. It’s just that I feel like that skill has informed, has improved so many other aspects of my business and of my career. I mean, writing about what you learn is such great practice for even if you just stay a regular developer, you’re going to be a better developer because you are better at explaining and documenting your work to other developers. And so like, yeah, there’s just no downside to getting in the habit of writing all the time about the work that you’re doing.

[00:39:46] Dr. McKayla: Yeah, that sounds good. Yeah, I think so too. I think that’s a such a good advice. There’s I think there’s so many positive things that can come, be that job opportunities or maybe you have to jump on, you know, you get better as, as you said, in your communication skills, better at communicating with your colleagues and so on. So yeah, I think this is a great, this is really a great insight. Thank you so much, Avdi.

[00:40:09] ** Avdi Grimm: ** Oh, I have one other thing on that, on that note that I should include. Start building your, your mailing list now.

[00:40:16] Dr. McKayla: Mailing list, yeah. Good idea. Independent mailing list, I would say.

[00:40:20] ** Avdi Grimm: ** You know, do that blog thing and then slap, you know, go with ConvertKit or something and slap a mailing list, subscribe on that thing, and just start collecting that snowball now, because that, it takes a long time, but oh my gosh, the opportunities that come out of having a good mailing list. There’s nothing else like it.

[00:40:38] Dr. McKayla: Yeah, that’s true. Yeah. I think that’s a great add, great addition to what you said before. So Avdi, thank you so much for taking the time and talking with me and sharing everything with my listeners and yeah, have a good day.

[00:40:53] ** Avdi Grimm: ** Thank you so much for this. I really enjoyed it.

[00:40:55] Dr. McKayla: I enjoyed it too. Thank you so much. Bye bye.

[00:40:58] Dr. McKayla: This was another episode of the Software Engineering Unlocked podcast. If you enjoyed the episode, please help me spread the word about the podcast, send the episode to a friend via email, Twitter, LinkedIn, well, whatever messaging system you use. Or give it a positive review on your favorite podcasting platforms such as Spotify or iTunes. This would mean really a lot to me. So thank you for listening. Don’t forget to subscribe and I will talk to you in two weeks. Bye.

 

Make money with open source software

Alvaro Trigo is a web developer who could quit his full-time job due to his popular open source software FullPage.js.

We talk about:

  • how to use open source to make a living
  • how long it took him to build software people want to buy
  • what he does against fraud
  • and his advice for developers that also want to go independent with open source software. 
Picture of podcast guest Alvaro Trigo

Today’s episode is sponsored by Codiga, a smart coding assistant and automated code review platform. Try Codiga for FREE!

Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.

Transcript: How to make money with open source

[If you want, you can help make the transcript better, and improve the podcast’s accessibility via Github. I’m happy to lend a hand to help you get started with pull requests, and open source work.]

[00:00:00] Michaela: Hello, and welcome to the software engineering unlocked podcast. I’m your host, Dr. McKayla. And today I have the pleasure to talk to Alvaro Trigo, a web developer, who enjoys learning every day. But before I start, let me tell you about an amazing startup that is sponsoring today’s podcast. Codiga. Codiga is a code analysis platform that automates the boring parts of code reviews and lets you merge with confidence on GitHub, GitLab and Bitbucket.

I’ve worked at Codiga for around one year now and I love how it guides me in discovering and improving, aell, the not so nice parts of my codebase. But there is more. Codiga also has a coding assistant that helps you write better code faster. Find and share safe and reusable blocks of code within your favorite IDE on demand while you’re coding.

Codiga has a great free plan. So there’s nothing that stops you from giving it a try. Learn more at Codiga.io. That is Contiga.io.

But now really back to Alvaro. Alvaro created his first website at the age of 16 and did not stop learning and perfecting his craft. One day, he started to make JavaScript plugins and well again, to learn and as an experiment.

And three years later, he earned enough from his experiment so that he could quit his job. When I last looked his library. 21,000, I think downloads per week on NPM. And today I’m super, super excited to talk with him and learn how he actually makes money with open source, how he could, you know, write something on the side so that he can.

Quit his day job and become free and independent. So hello, Alvarado to the show. Welcome. And I’m really excited that you’re

[00:01:46] Alvaro: here. Hello, Mikayla. I’m happy to be here.

[00:01:49] Michaela: Yeah. So the last time I looked and this was 2020, right? The feed from 2020, it said like 21,000 downloads on NP. M what is it [00:02:00] now? Like? It must be even higher.

[00:02:02] Alvaro: Well, to be honest, I’m not sure I haven’t taken awhile, so I don’t know exactly, but, uh, so the similar, I guess I’m not very sure if the MBM stats are very representative anyways, but I think it’s just a way to, to show that, you know, you can have quite weight broadcasts. If you do something, you know, by yourself in your own house, nowadays is quite easy to reach so many.

And to, you know, to influence people in some way, right. Or companies or whatever. So I think it shows the power of open source in time.

[00:02:30] Michaela: Yeah. Yeah. So this is exactly what I want to deep dive a little bit into the power of open source. Right? I think the power of remote work. Yeah. It’s something that I’m very fascinated with and with the pandemic, I think a lot of people now really understood what’s going on here, but what about open source?

How did you even come up with the idea and maybe we should also explain, well, listen as a little bit what you were building, it’s called food page GS. Right? And as I understood it, it’s like a webpage that goes over our website that goes over the full page and it’s easy to set up. And,

[00:03:03] Alvaro: um, it’s a component that allows developers to create these kinds of websites, where you have like a full screen kind of slide.

That snaps to each of the sections. So when I created that, the fake wasn’t very popular yet it became very popular because I realized that almost at the same time that apple released the page four, iPhone five C the iPhone five C website was using these kinds of effects. So I think then people started searching for these kinds of effects and, and they were able to find my.

So, how did they come up with the idea? Well, I, I didn’t actually think too much about it. I wanted to create a component just to learn by myself. I wanted to keep on practicing jQuery at the time because the first version was a jQuery plugin. It wasn’t vanilla JavaScript. And well, I just came up with this idea that I thought it was cool because I was making a website in my.

At the time my boss told me, I, won’t kind of like a very simple website, kind of like a PowerPoint presentation. [00:04:00] And then I, I restart it to me. Then I came up with this idea that, uh, I took from different websites. And then after grading the website, I thought, well, this was quite difficult for me. I was trying to find for a component to do these kinds of websites and it doesn’t exist.

So it might be a good idea for me to create the components and see if other people find it also. He goes, he was out of that, saved them lots of time. And that’s what I did. And then decided to get some traction on GitHub. I remember one day. And seeing that you had like 500 more stars on GitHub and I didn’t even push it too much.

So I was quite surprised and then, uh, just kept moving. Cool.

[00:04:35] Michaela: And so did you, ’cause I, I looked on, on your GitHub profile in the size now, GDPs and GPL, right. Was that the initial license also that you looked up and you thought this is the right thing. Did you already think that you want to commercialize it a little bit?

Did you want to make money by. Having people that use it commercially?

[00:04:57] Alvaro: No, not at all. My whole purpose was just to, to keep on learning and at the same time to get the motivation for myself to, to, to keep on learning, to do something useful for others and that, you know, well, it makes you very excited about that and it needs to lead.

It was under the MIT. Because that’s what most open source kind of use writing in JavaScript the spectrum. And they they’re all, when I decided to start commercializing it is when I made the change to GPL person three, because I thought it was going to be more suitable.

[00:05:26] Michaela: Yeah. It’s also my license, like know it’s the Apache like years before it was the unpatched.

And now it’s always the MIT that I, that I use for open source. A lot of freedom to the user. Right. And so does it mean that if you already licensed it before under MIT that’s the previous versions are still licensed under that and only then the new things are under, you know, GDPR or how does that work?

I’m not really

[00:05:51] Alvaro: familiar with it. I don’t see this thing is quite complicated, so we understand I’m not really. Uh, an expert on the topic, but yeah, I guess what happens is [00:06:00] so full page version one and verse two, and they’re the MIT license you’re going to still find them under their releases sites and you’d have, and then after that I changed to GPL.

I don’t know how that legally works or I don’t know exactly how it does, but.

[00:06:16] Michaela: Yeah. Yeah. I probably, it will work like this, at least. That’s what I thought, but I’m also not, I’m not alone. I have no

[00:06:22] Alvaro: idea about it, but,

[00:06:25] Michaela: and so, so how long, because there’s also another tweet of yours and you were saying, well, I started to play around with that experiment with JavaScript, plugins and so on.

And now three years later, I actually quit my full-time job. How long did that really go? And where the times where you thought. This could be something or, you know, a lot of a long time where you just did it for fun, but never imagined that it’s, you know, going to be your bread winning. Um,

[00:06:56] Alvaro: yeah. Well, at first I couldn’t even imagine that I was like, somebody would be able to leave out from, from these kinds of things.

So I guess it’s kind of not right to me. I was working on it for free for three years under the MIT license. You know, at some point you start getting a bit, you have to take the seasons like, so that I keep on improving this or. And go for a barbecue with my friends. Right. Or, uh, so that has been extra hours doing this after work or so that just chill with my housemates or my friends or whatever.

So, you know, at the beginning of it’s very exciting. You, you get people using it and that excites you a lot. And then, um, you know, provides you some, um, help to keep on improving it. At some point you start having to work on it when you don’t actually feel like working on it. Right. Because people keep.

Requesting new features or they have bags, very specific bags that almost look like you are doing free consultants services for them. Right. And that’s when I thought, well, you know, maybe I can try to get something out of it. I got motivated by another developer it’s called. I don’t know how to pronounce it either.

I think it’s the Sandra, he created clickety Mansuri and [00:08:00] another popular JavaScript components. He was providing them the licenses for them paid like. I went into those, I read the bit how he was doing, and then I thought that I could do it as well. And that’s when I started charging for not for the product itself, but for paid extensions to the plugin.

So they were non opensource life extensions that I was selling on top of the open source project. So that’s how it just started. And then I saw people start buying them and that’s what motivated me to keep going. And then I noticed that I was more, I was feeling better about it all. Like if somebody reported the bag or wants it, this new feature or whatever, then I wouldn’t be so bothered about it because now I knew I was getting something in return.

So I think this way it works a bit better. Like when you can take the time to do something and you get compensated for that. And then you don’t feel as bad because you can, you’re not just wasting your free time. You’re actually doing something in your work time, I guess. And that’s a win-win for both sides, for the developer and for the users who get better support, better features, you know, better response times.

So I started sending the licenses, sorry that, um, extensions. And then after six months of doing that, I was able to quit. And then after a year or so is when I decided to also change the whole project and our license and try, uh, charting for the, for the license itself for commercial use, for non open source projects.

Yeah.

[00:09:33] Michaela: I think that it’s really, really important that, you know, projects, you know, that they are sustainable, especially if you have some success with it, right. Because. There is more and more time that you’re spending on it. And I think that, you know, nobody, like if it’s a hobby and you’re spending one or two hours per week or something, this, this idea doesn’t come up.

Right. But if it gets, as you said, if you have more users, you’re getting more requests, you’re getting more ideas maybe for features. So you’re [00:10:00] spending more and more time. And obviously, I mean, we all have to live somehow. Right. Um, obviously you have to think a little bit about how can I actually. You know, make that maybe my, my job.

And I think, especially if you like something, that would be like a win-win. So yeah, I can totally understand that. Another question that I had for you when you were, when you were turning the drought, I saw you have really big names. You have big names on your website for companies that are using full-page.

Yes, right. There was like a Google eBay, Coca Cola, Sony, and so on. Right. Did they all purchase a commercial license? Um, you know, did you reach out to them when you changed your licensing model and your, you know, your monitorization idea around that? Did you reach out to them and say, you know, I’m actually by now licensed for that?

[00:10:48] Alvaro: Or so some of them are using my license. That’s how I managed to discover, uh, website. Cause when you use the license for, when you buy an extension, you have to register it for a specific. Extensions of a different price, depending on how many domains you wanted, he wants to use extensive for those. That’s how I use for some of them all there’s I think I just discovered them by chance and they might not be using the license.

So it depends, but no, I, I didn’t read when somebody buys an extension or a license for the product. Now I get there. Um, I get to notify them about dates or changes. So yeah, when I released a new version and notified all of my previous customers and told them about that, that if they were not previous customers, they didn’t get a notification.

If they were using the previous restaurant, they can keep on using that forever and nothing’s going to change in their sites.

[00:11:37] Michaela: And so what’s preventing people from using. The new version and not buying for a license?

[00:11:45] Alvaro: Well, I guess some people, some people might not know that there’s a more recent version and others, I guess they they’re happy with their website and they don’t want to touch it at all.

So they don’t even want to bother to update to the latest version. All there is, they might not want [00:12:00] to pay. It’s not very expensive, it’s quite cheap, but you know, there’s all kinds of users, not only companies, but also freelancers or people who just make websites for. So that might be one reason because there’s no other good reason to not update because it’s totally compatible.

You don’t have to almost change anything in your code. I think it’s just one line. If, so

[00:12:19] Michaela: the question was more, um, are there people that are updating. Not paying if they use it commercially or is that not possible? Do you have some prevention mechanisms around that? What I mean is that, can I, you know, can I be a little bit cheat, cheat your sister?

[00:12:36] Alvaro: Yeah, you totally can. And there’s not much that we can do about that. I mean, yeah. For example, I discovered there was a McDonald’s website in Russia making use of day of the new version of the blogging with a new license and they were not paying for it. And there was a warning if you opened the JavaScript.

You were able to see a red warning say, Hey, is this somebody is not licensed. You can get the license here. There’s there’s not much that I can do about that. Uh, sometimes you can try to send, I think they’re called DMC a notices to Google or to some marketplaces to take down some of the staff at, you know,

Yeah.

[00:13:13] Michaela: Yeah. So you are more focused on, um, directing your energy to creating more value for your users and, you know, doing what you like and not so much buttered with, with the thefts and, uh, you know, trickeries and things like.

[00:13:27] Alvaro: I I’m only a little bit, but I try not to bother too much. It is true that with extensions, with, uh, extensions to that, to the main components in those, you have to register each of them for four different domains.

So you actually have more like, um, yeah, there’s kind of like a more sophisticated license key that you cannot trick so easy that that’s only on next sentence. I don’t want to enforce that on the product because then it will be too much of burden for many people. Yeah.

[00:13:57] Michaela: Yeah. And I mean, I think I would [00:14:00] probably draw a line a little bit between, as you said, smaller, you know, maybe individuals that even though I’m in $10, come on, but you know, like if then they’re like larger organizations like Google or E-bay.

In addition to this small fee, really small fee for you, are they providing some support? Do you get some sponsorship like there’s GitHub sponsors or something, or do you have other ways to, to support your work?

[00:14:26] Alvaro: Well, what I do is I also know I don’t, I don’t do sponsors and they don’t usually get support unless they go for a higher, higher license.

They do get support with. All kinds of tires get support for those, but not for the main license. And also what I do to get money from different places is also, uh, I sell, uh, against. I know you also do some affiliate things. And I also have another flagging that I also commercialized. So I have a few things that also drive money and not only the Fulbright silences also like sentinels, which are not opensource.

Yeah. And, uh, well, uh, I just remember that another way that, um, many people don’t even bother to get a license is because they don’t know very well how the GPL license works or, uh, you know, they are not very after with license. Terms and stuff. So they don’t even know that they have to purchase the license or they didn’t even know what is considered opensource or how to add a license to their own private.

So, this is a big issue that I see, especially on smaller developers, freelancers.

[00:15:31] Michaela: Um, so you were talking about plugins. Is it like a package or is it like a plugging? Was it the difference here?

[00:15:37] Alvaro: So well, back in the day is every time you made a component for jQuery, it was called a plugin plugin for jQuery.

And nowadays I tend to call it the library and JavaScript library, but yeah, also, um, the, I talk about plugins for work. Because a WordPress, you know, they have these kind of flagging stuff and then it’s flagging that it incorporates the library and allows you to [00:16:00] do certain things and you have a little interface.

So it’s not just for something on top of the company. That allows you to do things through an interface. Yeah. So

[00:16:12] Michaela: w when you were right at the beginning, you said, well, I tried to do that for my, you know, for my boss and try to implement that. And I was surprised how difficult it actually is. Right. I’m, I’m really in the same situation because I ported two websites from.

To get SPI now. Right. And I was like, oh, I studied excited, uh, you know, generator and gets me super supported and so on. And I completely underestimated how long, right. Even though there are so many plugins or, you know, uh, you know, components that you can use. But just even researching which plane to use, then writing the query really adopting it to your thing.

I mean, it’s like, it really blew out of hand. And even though their websites are, you know, now almost done, it’s like always like, oh, this little bit, you know, still like that, you even have to think about. I’m like, yeah, for work, like with word press, I was not so happy because it’s slow and I didn’t want to be bothered with, you know, going around PHP and, you know, changing something in the back end to improve my speed.

And then the loading time off each page really was annoying. So I thought like, okay, I’m going to do a guest beside, and then I will have everything with markdown fires and, you know, directly gets them from the fire system and it took. Actually no time almost right. To have that set up because there are already like start-up packages and then, you know, like, but then the small things like that, the canonical link is,

[00:17:40] Alvaro: you know,

[00:17:42] Michaela: it’s horrible.

Yeah. That I have a site map and then I have the keywords and I completely underestimated that. So, yeah, I totally understand. So if I want to use full page now in my guests beside, is that, is that something. Is that a thing? Can I do that?

[00:17:59] Alvaro: Would that [00:18:00] make sense? Yeah, I guess, I mean, well, I don’t know what your site looks like.

Is it more like a

[00:18:05] Michaela: blog? Um, it’s mainly a block, but it’s not only a blog. It also has like a run pages, right? Where landing pages and so on. I think for the landing page, probably something that if

[00:18:17] Alvaro: you go, yeah, I mean, you, you could, you could totally use it. Yeah. It’s just basically a JavaScript library, so you can initialize it, whatever you want.

[00:18:24] Michaela: And then it’s made mainly about the look and feel. Yeah.

[00:18:28] Alvaro: So yeah, what it makes is that allows you to create this snap scrolling experience, uh, full screen. So, um, well of course it is much more complex than that. It has many more options that you can configure. You have hash URLs, you have history back and forth.

You have the lazy load, you have, uh, play, um, pause of media elements. You have many more. Right.

[00:18:49] Michaela: And I think this is it, right? So first you think, oh, what is it? Right. And it’s really small. And now I’m like, I have this blog and I’m thinking like, if I’m in my blog and I mark anything, then I would like to pop up that says, share it on Twitter and so on.

And then realized.

[00:19:04] Alvaro: Yeah, exactly. So the very basic functionality seems very easy, always to implement by yourself. And then 20% of the extra features that you want. Those are what takes the most time. It takes a lot

[00:19:17] Michaela: of time. Yeah, exactly. Like, and then you want to have like previous, a previous RT connects article, and then this is not good enough because you wanted by category.

Right. And so, yeah. So another thing that I was thinking a lot about and reminds me also of your success stories, and there are, I mean, there are similar success stories. I think now more and more popping up right around the internet is that 10 years ago, If you ask somebody to pay one Euro or dollar or whatnot, or 10 for something, they would like crazy.

I mean, everything was free and it was like software should not cost any money. And I think, especially in the last two years, three years, it completely changed. I [00:20:00] mean, if there are like Google. You know, sunsetting, most of them products that are for free, right. And then the ecosystem completely changed into this SAS businesses.

But also that you have more and more smaller, I would say, yeah, smaller, independent developers also really making money for their, for their software. Right. And suddenly I feel like, okay, we have to pay for everything. It’s getting really expensive. Like for my website, if I don’t want to use Google analytics.

Right. Which is. And this is like the, you know, 10 years ago, mindset, like let’s use Google, Google analytics, and now the mindset is, oh, we don’t want to use Google analytics. So what else do we have here? And then I find like 10 different analytics platforms, but they’re all. $20. And I’m like, okay, this is for my private block.

It, you know, it’s already, it’s already a lot, right? Because it’s not only the analytics that you need, you need a lot of things, but I see that people are starting to value software more. What’s your experience?

[00:20:58] Alvaro: At the beginning, it wasn’t common at all to transfer these things. And now it’s getting a bit more common, right?

But still on the JavaScript environments, especially in the front end side of the offense is not yet to come on to transfer these kinds of things. You see libraries, components of all kinds, but usually they tend to be free because I think one of the main reasons is it’s not easy to. Protects in some way, like the code is it’s free.

Everybody can see the code when it’s front-end. So it’s very difficult to protect something like that. And when you can not protect it, I guess if that’s the make or some people think it doesn’t make much sense to charge for it. But yeah, I know a few libraries that are starting to charge for demonstrable libraries, but are still not very common.

I think it’s more comfortable for other kinds of products for backend staff for kind of like subscription services. But I think it’s sending to implement. In that regard, because I think it’s been a, so like sometimes when you don’t see this, when you don’t see that the owner of the, the great of the component is [00:22:00] getting some benefit out of it, then it’s easier to see projects in GitHub that.

Get unmaintained or too, you know, that they will eventually die or get obsoleted or whatever, because you know, somebody can not keep a mundane enterprise for some people think that you can create an open source project, tablets it, and forget about it. But the publishing part is just the very beginning.

Then you have to keep on maintaining it and that’s for years, like my component is more than seven years. And you have to keep on improving it and adding features and reporting and dealing with reports. And you know, so many people don’t bother doing this. And then you see the, uh, the, you know, the last release was four years ago.

So it’s not really a component that sometimes you can trust or you have to look for an alternative or you open a, you’ll never have the answers.

[00:22:46] Michaela: So your experience with, you know, there’s this rumor I’d say, or the anecdotes around customers and especially. You know, the free riders, they they’re really like heavy maintainers customers that are asking a lot of things.

And then the people that are actually paying are, are much more moderate. And I mean, my experience is definitely like this. Whenever I provided things for free people come with this attitude that, you know, it’s there, it’s there. Right? Yeah. I mean, sometimes I get emails. Like I have a newsletter and you get an ebook, right.

That I wrote, if you, if you, for my subscribers. And sometimes they can’t find their email in the spam, right. It goes in promotion or spam or whatnot. Right. It’s not really my father’s and thing I can do. And I’m always, if somebody is, you know, writes me an email back and asks, you know, I didn’t get it. I’m always going, doing the wig to write them a personal email, send them the book.

Right. But there are.

[00:23:44] Alvaro: Yeah.

[00:23:49] Michaela: And for other things as well, what’s your

[00:23:51] Alvaro: experience here? Yeah. You always get some people that is a bit aggressive a bit, uh, you know, they want everything for free when you to work for them [00:24:00] for free doing consultancy, you fix their bags that sometimes they are not even related with your own product.

Right. So, well, what I used to me do is just reply to them. Very politely, politely explain them the situation. Um, you know, always telling them, have you found a bag or you are not happy with this because you didn’t pay for it. You know, then you can just go and check the code because it’s open, you can check it yourself and does it go same?

Like everybody can check it and things back if they find them. So I think, uh, how many, this, an open source is also a way to, you know, move people in certain that I send and tell them, Hey, this is open source, you know? You know, you’re taking advantage of it, but it’s also good because you can fix your own easiest, right?

If you have them. So that’s what I do sometimes. And all the times you just tell them, well, if you need my help, you can always upgrade to a, you know, the business license, and then I’ll provide you whatever support or whatever. So I give them the options and that’s. Yeah. You only did some, some angry people, the money so much, if they’re angry and they paid for it and they are not happy because there’s a bag that I cannot fix.

For example, then I’m happy to refund them. You know, if I can not find, uh, fix their bags, you know, that, that makes sense to me. But otherwise, if they’re not paying anything, then, you know, I help them to, to some extent, but not, you know, there, there are some limits.

[00:25:13] Michaela: Yeah. So how much of your work day now is really?

Are you still. Program or is still a developer in your mind or are you now, uh, you know, like you are a salesperson already or, you know, like an admin person. Yeah. You know, how do you feel like in your, in your entrepreneurial journey right

[00:25:33] Alvaro: now? I don’t know. I think I like to consider myself more. Person than a developer.

It is true that another developer and, uh, you know, the background is, and I keep on developing the product. Uh, actually I’m about to release a new major residence. That’s it is also true that I don’t spend. My whole time developing anymore. Like, uh, I just have to do marketing. I have to do content marketing and I have to do, [00:26:00] you know, taxes.

Uh, you have to do all kinds of things like images. Uh, you have to think about potential new opportunities. You have to think about the license system. You have to think about. I don’t know, uh, so many kinds of things. So yeah, I guess I, I like to consider myself more as a, as a business person. I would like to maybe eventually in the future delegate parts of the developing side to somebody else that is even better than me.

And so also there are people. Benefit from that, you always try to look for the best outcome and sometimes it’s also gets into readable yourself for certain tasks.

[00:26:34] Michaela: Yeah. Yeah. True. Yeah. So I don’t know. Um, I couldn’t find anything about, um, how much you’re making per month or per year. I’m also not sure if you’re sharing something publicly.

Some people do some people don’t, you know, I’m totally going with whatever you decide. Do you share it? Do you say how much you’re making with it or can you give us

[00:26:56] Alvaro: in my case? I prefer not to be very open about it just because, you know, it’s open source, so anybody can just see my code and create another project.

And I started doing the same, so, and that’s one of the reasons if I had the SAS, you know, a vacuum product or whatever, I wouldn’t mind, but right now I prefer to be more primates on these aspects. So, uh, you know, we can say that I get an app to, to leave. And that have different sources of income. That’s an, all, everything comes from from the main component and it also comes from the plugins for, for WordPress, from AFI.

The links that I have for selling other WordPress themes from support is. From consultant services from, and now I’m starting a blog as well, which I’m also expecting to monetize in some way. So yeah,

[00:27:41] Michaela: it’s good. Yeah. Yeah. And I think it’s really good to have multiple income streams. I also try to have more than one, at least for me, it gives me a little bit, um, Ease of mind that, you know, if something dries up or doesn’t work out so well, maybe SEO doesn’t work or, you know, something else comes a copycat, as you said, right.

You have [00:28:00] other opportunities as well. So yeah, I can totally understand that. Cool. So I think I probably, there are a couple of listeners that. Are also like one baby more freedom, or at least, you know, a side project that gives some side income. What’s your advice for them? What would you do like now you’re in that game for a long time or is it seven years?

What do you think? Is there what’s the right time right now to start

[00:28:25] Alvaro: something you’re saying, oh, the right time, the right time is always there because some people are still waiting to finish that course to finish that book to become better. And, uh, you know, to master a certain technology, I don’t think.

The way you have to take this the way you have to do. You know, do your best, be wherever, you know, and you will probably end up helping somebody. When I created my project, I wasn’t an expert developer in jQuery. I created it because I wanted to keep on learning and creating something useful was what was a good motivation for me.

And I think that’s what the people have to do. Well, yeah, I haven’t the same when I created my first website, I do it. I created it using Microsoft. I didn’t know how to code. I didn’t know anything about websites, but I had a teacher that taught me how to make websites used to Microsoft word. And then I started seeing people using the website and that’s what motivated me to keep on learning.

Right. So the right time, I think it’s always now just do whatever. Keep on improving it, keep on iterating. It gets feedback from people and they will tell you sometimes how to improve things, what features they will need to add, what bags they found. So I think that’s what really. To improve my components at first.

Um, what I would say is don’t quit your job, do something on the side, see how it goes, get feedback. And then when you get some traction, you can decide to quit. In my case, I only decided to quit. When I saw that I was going to be able to keep on living from. Took me six months can take more, can take less.

It depends on people, but I was working in on the side for three years. That’s what I would recommend people to do it on the side, if they [00:30:00] can not get too crazy because you know, a great idea might not result in people buying your product. So, yeah, that’s one of the things. And another thing that I think helped me a lot at the beginning was making it well, I was open source or let’s say.

Because when you have something for free, at least at the beginning, or you have a freemium kind of product or something, you get much more exposure. Like people will blog about that. People will share it on Twitter, on Facebook, or so you create this kind of like snowball where, you know, the content keeps on spreading faster because it’s.

Unless you have a very good product and you can already charge for it or whatever, having it free at the beginning might be good because you not only get much more free marketing because you know, people don’t mind certain staff when they know that it’s free and nobody’s going to really benefit from it.

And you also get the feedback from the. The more people, they use it, the more feedback you get and the more you can improve it on different iterations. And then, you know, in the future, you always can start charging for it, release new virus zones or, you know, or even people to another area or whatever, but having that free feedback and that’s free marketing, I think it’s very powerful.

[00:31:12] Michaela: Yeah. Yeah, I totally agree. Yeah. Thank you so much for taking the time, talking with me about your journey and, um, about how we could, uh, leverage open source to actually start our own little business and, uh, you know, get

[00:31:25] Alvaro: independent. Thank you for you for having me here.

[00:31:29] Michaela: Yeah, it was really great talking to you and, uh, thank you so much.

[00:31:34] Alvaro: Okay. Bye. Bye.

[00:31:37] Michaela: This was another episode of the self engineering podcast. If you enjoyed the episode, please help me spread the word about the podcast. Send the episode to a friend Wyatt, email, Twitter, LinkedIn. Well, whatever messaging system you use or give it a positive review on your favorite podcasting platform, such as Spotify or iTunes.[00:32:00]

This would mean really a lot to me. So thank you for listening. Don’t forget to subscribe and I will talk to you in two weeks. Bye.

Getting ready to build a billion-dollar business

In this episode, I talk to Max Stoiber. Max is a JavaScript Engineer that is in love with React and Node, and also a fellow Austrian. He has a track record in the open-source world, worked for Gatsby, and Github, and also is a successful entrepreneur. 

We talk about:

  • what he learned about software engineering best practices at GitHub,
  • why he started his newest side-project bedrock,
  • why building an indie or small lifestyle businesses is not his thing anymore,
  • and how he prepares to build a billion-dollar business.

Book your awesomecodereview.com workshop! Secure Code Review Workshops are coming soon too!

Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.

Transcript: Getting ready for a billion-dollar business

[If you want, you can help make the transcript better, and improve the podcast’s accessibility via Github. I’m happy to lend a hand to help you get started with pull requests, and open source work.]

Michaela: [00:00:00] Hello and welcome to the software engineering unlocked podcast. I’m your host dr. mckayla and today I have the pleasure to talk to Max Stoiber.

But before I start, I wanted to update you a bit on what I’ve been up to lately. Over the last few months, I have been quite heads-down with some new exciting productivity research. Mainly investigating what makes developers happy, productive and successful. I’m planning on wrapping up this research soon, so I hope I can share more about the findings in near future.

Another thing I have been up to is preparing a secure code review workshop. I plan to release this worksop this fall. It will focus on secure coding practices, and shows you what to look out for when inspecting code for security vulnerabilities. If this sounds interesting to you, hope over to https://awesomecoderviews.com and either book a workshop or hop on my waiting list. But now, back to Max.

Max is not only a JavaScript engineer that is in love with reactive note, but also a fellow Austrian. He has a track record in the open source world and worked for Gatsby and get up. And he’s also a successful entrepreneur. Max built, for example, a community platform called spectrum. It became so successful. It was a quiet, but GitHub. And now he’s again, working on a new startup idea. So I’m super excited to talk with max about all of that. I’m super thrilled that he’s here. Welcome to the show,

Max: [00:00:39] max. I am super excited to be here as well. I’m a big fan. We’ve obviously spoken before. I’m really happy that I get to be here too. Yeah, I’m

Michaela: [00:00:47] really, really excited. Thank you so much for joining. So I want to start with something that I wanted to ask you a couple of times already, and that is you build this really amazing community platform spectrum. And I recently looked on their website and I see that I’m in the forums. There are several forums where people in communities where people are talking with each other and it seems really lively. Like when I went there, they were like 50 people online in that community and 60 people in that community and so on. Right. So it really seems like a big success, but on the other hand, there is the announcement that. It will be read only, right. It will not survive for me. It looks like it’s shut down. Is that, is that true? And if it’s, so how do you feel about that?

Max: [00:01:33] It makes me very sad to be honest. Whenever I build a product that they’re sort of like my, my babies, right? I want them to be successful. I want them to succeed. I want people to like them. And the spectrum no longer existing or, or only existing in an archive format is, is quite sad, honestly. But at the same time, the spirit lives on in GitHub as gets up, discussions gets up originally bald spectrum with the intention to eventually shut down the platform itself, integrated into, gets up. And that’s what, that’s what they’ve done. And so that was part of the plan. And I’m, I’m happy that that plan is being followed so closely, but of course I would much rather spectrum stayed around and lived on as its own thing, but that’s not the way it’s going. And we’ve, we’ve actually, I talk, I’ve talked quite frequently to my other co-founders Mike’s, co-founders about doing the same thing again, because with the, with the benefit of hindsight, there’s so many things we would have done differently or we would like to do differently. We have so many ideas about how we could have built spectrum better, but of course it’s all just wishful thinking. We’re very unlikely that we’re going to do that, but it isn’t fun. A fun thing to dream about.

Michaela: [00:02:41] Yeah. I mean, community is such a interesting topic and I mean, it’s so powerful and it’s so important and communities are, I mean, people are here for communities, right. We need communities to strive. So I actually also playing a little bit with the idea of building some community, but I feel also very overwhelmed at the same time, how to do that. but it’s just a fascinating topic. Right. And just having people around and I mean, a community can be also like five people or, you know, two people, three, two people. Right. So spectrum is on the very other end, right. There are like hundreds of peoples or thousands of peoples. But so I think community is really important. So, but you were saying that when GitHub bought spectrum, you already knew that they are going to shut it down. So you, you knew that that could be one of the paths or this could be leading towards that shut down off the platform.

Max: [00:03:33] Yeah, absolutely. Spectrum itself, technically just wasn’t architected well enough to SU to sort of sustain get-ups load. And it was clear from the very beginning that it would be a lot more work to make spectrum work at Kitsap, stay at scale, rather than trying to rebuild the parts of spectrum that we liked within GitHub. And so very quickly, we just arrived at the conclusion that we’re going to have to shut spectrum down as a platform. Sort of build that integration and gets up completely from scratch and separately because GitHub has so much tooling internally. And that, that helps it handle the scale it’s at, right. We’re talking hundreds of millions of developers, which is very different from scale. That spectrum is that spectrum as a couple of hundreds of thousands monthly active users, which is a lot, but it’s not by far, not as much as schizopath. And so it was clear from the beginning that we would either need to rebuild spectrum. I mean, it was clear that we would have to rebuild spectrum. The question was rested. We rebuild it as spectrum, or do we rebuild it in GitHub? And since we were already rebuilding it, we might as well just rebuild and get up. And that’s what discussion came from eventually.

Michaela: [00:04:32] Which

Max: [00:04:32] again, makes me a little bit sad because I would like spectrum to still exist, but that’s the way it is. And discussions actually turned out really well. I’m really excited about it.

Michaela: [00:04:39] But so for our community, there are two parts to it, right? So there’s the tech around, it enables people to meet in an online space and talk and, you know, like, you know, write or have chat or whatnot. Right. So there’s the tech around, but then there are also the communities itself, which are really, really valuable, right? So that hundreds of people come together on that place, like type in that URL, for example, and then meet at that forum or, you know, that, that place, that community place. So is that my graded are people migrating or is that as easy? Because I feel like there might be people that say, well, I’m on spectrum. I’m going to this community on that. You’re out, but I’m actually not on GitHub in, you know, in that space, which I think, you know, on one hand it feels like, well, what’s the difference here, but I can imagine that it’s not that easy. Right? So there’s like the tech around the community, but then the real heart of the community is the people that choose to be there to go there every day and, you know, provide benefit or value to other members. How is that what, what, what do you think about that? Spectrum

Max: [00:05:43] was always mainly used by developers. A large percentage of our users already authenticated with Kitsap even before we were bought by Gates. And most of the communities were around open source projects, or we also had some design communities. Those are gonna have a harder time migrating somewhere else. But most of them were open source communities, definitely the most active ones. And so I think those will migrate just fine. I think get up discussions is a great fit for that since it is based on a repository and GitHub and open source projects are just repositories, don’t get up. Right. And so having that community right there will actually be huge for the vibrancy for those communities and enable a lot more open source projects to build communities around their projects. I actually think that part of our fundamental assumptions about spectrum were, or parts of our fundamental assumptions were incorrect. We wanted to build a space where large communities do the order of magnitude of tens of thousands of people could communicate and connect with each other. But actually that doesn’t work super well. When you have 10,000 people in a community, you don’t really feel connected to any person anymore, right? Connection happens at much smaller, much, much smaller scales. And which you can see by the sort of prevalence of group chats now, right? Like you have telegram, you’re signaling for WhatsApp and within those chat messaging platforms, everybody’s a part of 20 groups, right? And you feel connected to each and every single one of those groups, but they’re much smaller in scope. They’re much more specific which allows much more of a community feel to build much more of a sense of community, much more of a connection to build. And so I think actually there is probably a way where you can scale that sense of community up to a larger scale, that you can definitely have a community of thousands of people I think that’s possible. But there has to be much more of a mechanism of sub groups within that. Right. I don’t know exactly what that’s going to look like. Somebody who’s going to figure this out eventually. But if you think about, for example, football fans, right? If you look at Liverpool, they have a. Fan base of, I don’t know how many hundreds of millions probably. Right. And they’re spread all around the world, but within that massive group of fans within that massive community, there’s these tiny subgroups of the fan club in Vienna, the fan club in Istanbul, the fan club in wherever. Right. And then even within that, there could be even smaller subgroups. Right. You could have your friend group of the fan, a fan group of Vienna, right. And so then that’s the 10 to 20 people you feel directly connected to, but yet you’re still part of this bigger community. And so in real life, it kind of already works that way. The online platforms just haven’t really been able to mirror that real, real life engagement. I would say if that makes any sense. I don’t think any online community necessarily has figured out how to represent both the large groups as well as the small groups. I think actually the one that’s the very closest is Facebook groups. I actually think Facebook groups for what it’s, I mean, it’s on Facebook, which kind of limits its usefulness, but actually Facebook groups works really well. And a lot of people are in very many different groups and sort of feel connected to many different communities through Facebook, which is very fascinating. But other than that, no, one’s really figured out how to make the, how to scale online communities beyond a couple of hundred members of most.

Michaela: [00:08:40] Yeah. And so when you build spectrum, was it mainly about the task and then you were all thinking of, you know, how many people do you want to allow in a student. Group and what interactions you’re facilitating and all of that. But did you also see the community itself? So how did you get the first people using your product? What were some of the strategies that you had there? Spectrum came to

Max: [00:09:03] be because my two co-founders Brian Levin and Bryn Jackson have a podcast called design details and they actually started a podcast network around that podcast that at the end, I think contained eight or nine podcasts. And it was all design and development focused podcast. And they created a Slack community for this network and where they want it to connect to all of the listeners together. They wanted to answer questions that they want people to chat with each other, basically build a community around that network. And eventually that’s like group that Slack workspace grew to eight or 9,000 members. And then Slack came to them and said, Hey, it’s really cool what you’re doing here, but either pay us or go leave somewhere else. And I think it’s Slack costs $5 per member. So they were looking at a bill of $45,000 a month for a free community that they were running, which is obviously not something they can pay. And so they looked around and they didn’t find anything that would sort of. That fit their niche, right? They, they wanted the community to Republic. They want people to be able to read the content, even when they’re not a member, but also they wanted it to be real time chats. They wanted it to be, to feel like the multiple people were there and talking at the same time with each other. And so they started building spectrum just for their own podcast network, which is where the name actually comes from because their podcast network was called spec FM. And so spectrum was sort of perspective and community platform. And interestingly enough, they had a problem. They, they were using one of my open source projects, style components, and they reached out to me from via Twitter because they were having an issue with it. They found the bug and I knew of Brian Levin and Bryn Jackson, but I’d never met them in person. I talked to them before. So I, I was a big fan of their podcasts and their work. And so I said, look, you have a problem. Don’t worry. Just give me access to the repo. And I’ll, I’ll take a look and fix it. And they gave me access to the spectrum reap, and I looked at it and I told them, Hey, I need this. Like, this is the platform I need for my open source projects. Right. I’d been building communities around my open-source projects for a lot, for awhile, but none of the platforms for that were very nice, like get like basically there was, gets her or gets up issues, but get the issues there for problems. And it gets, there was just one massive chat room, which doesn’t scale beyond 10 members. And so I said, look, forget about whatever I’m working on. I want to work on this and I want to make it more general. And so that’s where spectrum was born. And that’s also how we seeded it. We built the initial version and then immediately onboard at the eight or 9,000 members at a time of spec of him onto the platform, and immediately had that first community there, which was huge for us because that kicked up the flywheel of people joining over time. Because those people in those old spectrums, awesome. I’m going to create my own community there. Right. And invite my own people there. And so that’s sort of how it started growing and that’s why it really grew in the design and the tech communities. And why there was so many open source projects using. Yeah.

Michaela: [00:11:39] Very, very cool. And so spectrum itself, is it open

Max: [00:11:42] source? Yes. Then we asked her about a year of working on it, but we open source the entire copays. If he goes to getup.com/with spectrum you can look at it. It’s, it’s one big Monterey pro basically that contains all of our servers, all of our clients, everything we ever built. It’s all completely open source. It’s terrible code, please. Don’t look at it too, too closely. I love product what we did cause we did a lot of shipping and not a lot of cleaning up, but it works and it’s open social people to look at. It’s a, it’s quite funny because I think spectrum is quite a messy copays personally. Like it’s not, it’s not the nicest code I’ve ever written. I didn’t have as much experience then as I do now. And, and also we were just trying to ship as much as possible. I’m trying to figure out, trying to find product market fit and then eventually the business market fit And it’s funny because sometimes I see tweets of people saying, Oh, if you want to see a really well architect, the copays, go look at spectrum. And every single time I see that I like please, please. Don’t like, that’s not, it’s not that well, I can think of, it’s kind of a pain to work with. I don’t know. Yeah,

Michaela: [00:12:37] I know you cannot respond to every tweet like that. Like

Max: [00:12:41] exactly. Yeah. I can’t really be like, ah, hello. Yeah, please. Don’t look at my work. It’s really bad. That’s not a good idea. I can’t really do that. But it is, it was very interesting. I do think spectrum helped a lot of people think about how they build apps, right. And it has a lot of people to learn and it was quite fascinating to open source it and see how many people actually cared. Because there is so few food products out there that are open source, right? Usually when something’s open source is either a toy product, the toy project that somebody builds, or it’s a library that’s very encapsulated, very small, but very few people open source, entire apps, right. Century being one of the many, many exceptions and one of the most famous ones or ghost, for example, but there’s only like a handful of those. And so adding to that list was quite interesting how much people responded to that and how much they liked it.

Michaela: [00:13:27] Yeah, because I mean, I think so I’m a, for example, I’m learning Peyton things two years now. And I’m also a little bit struggling with, how should I actually go about learning Peyton. Right. And that, that has to do that while I’m not employed as a heightened developer right now. Right. Which also limits, you know, the. The amount that I can actually spend on it or that I spend on it. It also means that I don’t have like a network of people around me that I can learn from, right. Like code reviews that you have. If I would be a Putin developer right now, I would have like my colleagues also writing Python code and I can learn from them. Right. And so open source is definitely something that I’m also sometimes doing. Right. I go and look at Ida patent application to just understand, you know, how ID architecting something, because these are the questions that I still have. Right. I don’t have the question on which type to use or how to do it area or how to do a list, sorta whatnot. Right. So I know those things already from my other programming adventures that I did, but I’m more interested in, Oh, I’m coming from the job are object oriented C-sharp world. Right. So how do you do that in Piketon and, and how would you, you know, structured applications and open source is something that sometimes helps me, but it’s very hard to find like either like a good application again, because sometimes you find application and I’m looking at it. And even though I don’t feel like I’m the expert for piping, I can say, Oh, I shouldn’t call it. What’s going on here. Right. And then it’s big enough that it’s interesting to look at and has, you know, good quality and you can learn something from it. I think it’s very, very valuable. I can totally see how people are. Yeah. Interested in, in doing that and learning more about it. So, but now you, you build spectrum and then it was actually acquired by GitHub. Right. And so you’d done because it was acquired, you worked at guitar building, you know, GitHub or spectrum into get-ups right. And get into YouTube. How did their view changed on software engineering practices on good code? Did you experience something like that that suddenly you were in a team and they are all, you know, like working together and you can learn you know, you can improve your skillset, sat there with, with the input of your peers or how, how was that for you?

Max: [00:15:36] Because we very quickly realized that spectrum just wasn’t built well enough to run a Kitsap scale. It was very fascinating to learn how Kitsap scaled itself, because obviously when they started building gets up 10 years ago or however long that was, they also didn’t build it to handle the amount of traffic that it has now, because GitHub is massive. It’s one of the, I think, 10 biggest websites on the planet, maybe 15 biggest websites on the planet. It’s, it’s massive. It, it gets absurdly much traffic. And so it was very fascinating to be at Kitsap and to see How careful they are about the code they write and how many conventions and constraints they built into their systems, particularly for the developers. So that any code that that is that is written is good enough to run at that scale because most people have never worked at that scale before, unless you’ve worked at Kitsap before, or one of the other 15 companies, that’s this big, you have no idea how to work with that scale. Right? And so a lot of the work that many teams that get to did was building tools for other developers that gets hub to guide them towards success and to avoid expensive database queries, to detect them, to warn people when they were writing them, stuff like that, where they built a lot of internal tooling to make sure that they could run at scale and that they could continue scaling into the future. And I actually think a lot of what I, what I learned there was how important constraints are with programming. You have all the options, you have all the possibilities, you can do whatever you want, but a lot of what it means to be a senior or an experienced developer is knowing which 90% of those options are actually trash. And you probably shouldn’t do them because you’re going to run into problems. Right? A lot of the choices that experience developers make are based on experience and I’m talking to other experience developers and they avoid future problems, right. By, by making good decisions. Now you avoid a lot of future problems and sort of. Avoid running into troubles down the line. And that’s something I’d never done before with spectrum. And so with spectrum, we actually had a lot of scaling problems when there’s this sort of rule of thumb that started people say where every single time you get a new order of magnitude of users, you run into new scaling problems. And for us, it happened like that, like clockwork. When we ran from zero to a thousand users at the, when we onboarded our first community, we immediately hit scaling issues. We immediately had to move away from Firebase, build our own backend because Firebase was couldn’t sustain the load anymore. Then when we went from 1000 to 10,000 people, we hit the next set of scaling problems. As soon as basically as soon as the 10,000 persons joined almost to the day we started having server issues. And so we had to resolve those, then everything went fine. We’re going, we doubled, we tripled, we quadrupled. We went from 10,000 to 9,000 people. No problem. And then as soon as we hit the a hundred thousand monthly active users, the next set up problems, they didn’t get in with them releasing our server. Our servers were crashing constantly. And it was very fascinating how these, this sort of order of magnitude step change of traffic really impacted our stability. And so get ups really focused on making sure no one that gets up some writes code that doesn’t run it, their order of line of traffic, that no one, there can even commit something to the code base, no matter how inexperienced they are or how much they fork rails, for example, that could break their systems. And then when something breaks, they have a lot of infrastructure, of course, around that, to monitor, to fix those issues, to roll back deploys so that when problems do arise, they don’t impact many users. And it was fascinating to see that and to see how many constraints. They put on people, but they were very productive constraints as a developer. They made me free to build the stuff that I wanted to build without having to worry about scaling, because I knew if I did something that was bad, there would be an Arizona. Right. See, I would throw an error. There would be a winter error. There will be a test error, right. Like somewhere, somebody somewhere would catch my stupidity and tell me to do it differently. And so that was actually really fascinating. And they learned a lot about scaling engineering and then organizations there.

Michaela: [00:19:31] Yeah. And so it seems that this is also very specific. So some of the engineering practices, some of the tools, some of the processes are really made for the scale there. But now if you’re going back and I know you’re now building a new startup, so what do you take away from that? What do you say? Well, you know, this is overkill not needed for me right now in my next startup. Right. And what are some of the, the, the practices the knowledge that you acquired your thing? Well, I’m going to build that in from the start and get go, because I don’t want to run into issues. Long-term with maintainability, readability of the code base, many things.

Max: [00:20:08] We, we made many, many mistakes, or I should say I made many of those mistakes as the main technical person, that spectrum, I made many tech choices, mistakes. And one of the main things I really learned is that. Using technology that’s widely used is a very good idea. There’s a reason people use Maya’s quail or now Postgres, right? It’s because those two databases, they run and they keep running no matter what scaling crap, right? Like it’s a famously uses my SQL and is the 15th biggest website on the planet. And I think they’re now starting to hit the limits of that. And they’re starting to have to really work around a lot of these problems. But they managed to become the 15th biggest website on the planet with my SQL. So why would you use anything else? And I’ll be like, there’s no reason to choose anything that is less battle-tested because, you know, if, because if you end up being the 15th biggest website on the planet, you can fix my SQL. If you don’t end up being the 15th biggest website on the planet, it doesn’t matter. Right. It it’ll still work. And at spectrum we chose a database that was a lot less populated. What’s called rethink to be the company behind a shutdown because they weren’t financially successful. And the database system just wasn’t as well built as my, as going reading be. And we ran into a lot of scaling troubles because of our database choice or because of the database choice I made. And so I learned to rely on battle, test that technology, even if it’s under equals boring, even if it’s something that a lot of people use, that’s a good thing, because that means it’ll scale with you. And if you have a problem, you can Google it right with rethink to be almost nobody used it. And so when we ran into problems with our careers, when we ran into problems with the database engine, we Googled them and we found nothing. There were, there was no information, which is very different if you’re using MySQL or Postgres, if you Google any problem, I guarantee you you’ll find 10 pages of Google results with people explaining different solutions to the problem, how they approached it, how they fixed it, how it held up over time, right. And that that sort of Corpus of knowledge and that Corpus of experience is incredibly valuable when evaluating technology choices. That’s really one of the main things I learned, which is obvious in hindsight and is, it’s a common thing to say. Don’t use boring technology, use things that are proven to scale. But it’s really hard to keep that in mind when you’re using technology, because you will, you’ll see something that’s fancy and new and you’re going to want to use it. And it’s, it’s cool and everybody’s using it. And you feel like everybody in Twitter is talking about it, but if nobody’s used it at scale before, you’ve no idea if it works out right. And you can only, I think there’s often these tools have upsides, but the trade off of the missing community, the missing usage, the missing scalability, isn’t worth, there’s some tools where that isn’t the case. So I would still evaluate that sort of as a trader. Right. Does this tool make me so much more productive that I can handle production problems? Is it, is it production critical at all? So there’s like, there’s, you have to think about that, but always err, on the side of choosing boring technology, that’s proven to scale.

Michaela: [00:22:52] Yeah, I think that’s a, that’s such a good advice. And I also ran into dad when I was I was choosing which, you know, static site generator to use. And like, they’re, they’re the ones that, you know, right. Like Gatsby or Jacquelyn, I think like this. And then there are a lot of others, like tiny ones. And I was like, Oh, this is one that nobody knows over there seems really promising and interesting and you know, like shine in you. And I think it was also curiosity. Right? I think that a lot of engineers are very curious. I am curious. So I went with that one. But what I forgot to calculate is how much time I’m actually spending, building my website with that acquiring knowledge, then knowing how to use that thing, but also at the same time, learning that there is not enough support information around to, to get me out of errors that I run into, or maybe it’s even, you know, like the thing itself it’s broken. Right. And it also reminds me of, I actually tweeted, I think recently about this where some tools make me cry. And it was like when we, when I was at Microsoft and I had to use some internal tooling, that was really new and we just build it until we were doc fooding it. And we were forced sort of like to use that new thing, which is it’s a good thing. Right. But on the other hand, I couldn’t just go and search for the problems that I run into because it wasn’t even existing outside. And so internally people were building it, they weren’t really like, you know, supporting others or writing blog posts. So it was really a bad experience and something that made me think a lot about so important that if you’re stuck, that you can find information that gets you out of this, that gets you unstuck, it gets you out of this, you know, stuck situation and maturity of software projects and community and livelihood. Right. It’s definitely something that’s, that’s important here.

Max: [00:24:43] Absolutely. I think this is. Even more critical in areas where you don’t have a lot of experience that the less, you know, about a problem, the more you shouldn’t rely on boring existing solutions. I know nothing about databases, so I should probably use my SQL and Postgres because I know that those are gonna work. And any problem I have, I can find a solution for, I know a lot about react. And so I can, I know I can, for example, use Preact instead of react, because I understand very deeply how react and Preact work and I can debug my own problems. Right. And so a lot of this also has to do, like you said, with familiarity, right? If I’m familiar with, with a certain problem space, if I’m familiar with the tools within the problem space, I have a lot more leeway to use cutting-edge solutions. If I’m in a problem space where I have a NOAA experience where I don’t know how anything works, if that doesn’t make sense to be on the cutting edge, because I’m not gonna be able to resolve my own problems. And so I think, like I said, that that really ties into it, that sort of familiarity that understanding of the ecosystem is really critical. If you’re using something on the cutting edge.

Michaela: [00:25:39] Yeah. Yeah, definitely. And so maybe, I mean, what me too is very often startup founders, especially ones that are new and maybe they don’t even have a tech background. Right. They’re like what tech stack should I use? Grade one? What what languages and so on, should I build up? And most of the time the answer is, well, the ones that you’re mostly familiar with, right? So if you are a Python developer, probably just stick with Python. If you’re a Perl developer, maybe it makes sense, you know, to update your texts. Most of the time you’re like, Peyton is just fine or Ruby is just fine. Right? You don’t have to have, like, you don’t have to learn JavaScript and react if that’s not where you’re coming from. But so now for your new startup, I want to talk a little bit about the app. So you’re going to do something new. How are you going to, you know, how are you going to come up with the idea? And maybe with ties in a little bit here, it’s like bedrock. So recently you released a new product called bedrock and that’s like everything you need to know or everything you need to have to build SAS apps. Right. So it would be authentication. It would be emailing a little bit community subscription payments and all of that. Right? So sort of the pilot plate code of SAS applications that people can use. And when I saw it, I mean, it, it got really viral on Twitter. So people were really like, very happy to get that. And and I think it’s one of those problems that you see people running into. And so how was that for you? I mean, it looked like super popular. Was it also from the sales perspective, was it as successful as you hoped and, and will the next product that you’re working on being that space or will you go somewhere completely Allison? How are you going to, to tackle the next problem? How did you come up with this idea?

Max: [00:27:27] Sure. So I’ll start from the beginning. I I’ve spent the past, basically all of my career building JavaScript tooling. I’m sort of, I would say mainly well known for making a bunch of open-source projects, like react polo plate and style components that are cutting edge, new ways of doing things right. And I have a very deep understanding of react and JavaScript tooling and to have a good overview of the ecosystem. And I know how things work at a very deep level. And particularly at Gatsby now over the past year, I really dove deep into that because Gatsby basically is just a bunch of open source 20 combined in a very nice way. And what I realized was that I kept building SAS products on the sides, but I kept doing the same setup every single time. And every single time, it kind of sucked. Like I have enough experience to know, like I said, to avoid 90% of the bad choices, but in the JavaScript ecosystem, it can sometimes feel like 99% of the choices are bad. And you have to just make that 1% of choices to make all of the tools that you use work really well together. And making all those choices right, is really, really, really difficult and takes a very long time. When I set up my last, my last sort of SAS product feedback Fisher, I probably spent at least a week just setting up the boilerplate code, right. Just setting up TypeScript, prettier easily in payments, authentication database, a GraphQL API, graphical client, all of those stuff, all of that stuff. So that it works well together and sort of is easily usable. And doesn’t just break down after a while. It’s actually really difficult. And even after a week, I wasn’t happy with where I was at, but we just kind of have to build our product at that point. Right. Like you can only spend so much time setting up. And so after that, I actually took what I had after a week. And I said, okay, I’m going to sit down and I’m going to make this as nice as possible. And I spent at least three weeks of evenings and weekends just building Building a boilerplate really like I just plugged together glucose, right? Like it’s basically a bunch of configuration and glucose so that everything just works really well together. And now it’s at a point where, for example, if you change, if you add a required field in the database, your seat data for your end-to-end test is going to throw an error that, that the required field doesn’t exist. And the entire thing from tobacco just works really well together from testing over client, over backend, over everything you need just works really, really well together. And I had that, I had that boiler plate and I was like, well, this is kind of nice. Like, this actually feels really fantastic to work with just yesterday. I set up a new version of change feed one of my SAS apps. Cause we were we, we kind of need to rebuild it because it takes stack. Isn’t very nice that we chose there and slowing us down a lot. And so I basically rebuild all of the core functionality in an hour. Right. I took bedrock. I added a bunch of stuff to the API. I added some fields to the client and it’s ugly as hell. Like the client, doesn’t it it’s completely front-end list. So the client looks likely to sell, but everything works. And that only took me an hour. And of course there’s a lot of stuff to make it production ready into, add to make the build the client of course, make everything nice at onboarding, whatever, but it works right. And it has everything I sort of need. And so long story short, that’s why I thought about selling it. Right. And I was like, well, if I think this is nice and it’s, if it took me, somebody who really understands this problem very deeply into really understands that ecosystem deeply. If it takes me four weeks to set up something that’s good, that that’s really good. And that, that that sort of saves people time and is better than what they could do themselves. Then maybe it’s we are selling that, that sort of knowledge and that experience to people as a boilerplate and people were kind of excited about it. Then I think by now I have about a hundred pre-orders somewhere in that order of magnitude, 105, I think, which is really exciting to see. It’s kind of funny. I, I honestly didn’t expect to get a hundred pre-orders because there, there isn’t even a demo on the landing page. It’s just a landing page to explain what I want to do. It doesn’t even show anything yet. And yet people, a hundred people pre-order, which tells me two things. One, the community really trusts me, which is fricking scary. Like that is very scary to, for me because now I have to deliver and I have to deliver something. That’s actually as good as I promised, which I think I can do, but it’s a lot of pressure. And then secondly, there’s a, there’s a need for this, right. People struggle with setting up JavaScript project very well. And they’re willing to pay for a solution to that problem. And so that’s exciting to see, I don’t think I’m going to make this, my next startup per se, but it’s a really nice product to work on. And it’s just something that I personally really care about and I really enjoy doing. And so it was just like a fun, fun project, if that makes sense. Yeah. When I

Michaela: [00:31:46] started tweet was like, wow, that’s such a great idea because I was exactly imagining something like this that you run into the problem over and over again, you have this expertise, you have the wig Dan sort of, right. So you’re there, there’s obviously more work that you probably could in now to make this even better than what we would do for yourself. But in general, there’s like this foundation. And I mean, especially if people want to start a SARS app or, you know, do their own startup, I hope that they’re smart enough to realize that, you know, I think right now you’re selling it for 150 or 149 bucks. And later it’s like 200. I mean that this is like a bargain, right? Because I mean, if I’m spending a month, I could do. And as you said, they probably spend two months. They could really think about their, their solution. They could talk to customers, they could, you know, find out which problems to solve instead of doing that work for you. So I think it’s really a fantastic idea to, to go that route and do that. And it’s also great to see that people are backing you up. I think, I mean, obviously it’s frightening, right? If you have like, you have a platform, you have like a community around, but it also see you also, I think it’s also really beautiful to see that. They are people who care about what you’re doing and who trust, you know, you and I experienced you as a very authentic, very honest person. Right. So it’s not like, Oh, I’m doing everything that I do is really cool, but like, Oh, I’m making mistakes, but I’m learning from it and I’m sharing it here. Right. And so I think this is definitely something that people can, they realize, and, and this is why they are there right beside you. Right. And so but now we’re coming, you said, this is probably not what you’re going to do for your, for your new startup. So how, how is that? No, dis tricky, first part, like we have this idea, you want to do something and now you have to start in one direction. Right. And so how are you going to tackle that problem? And, and yeah. How do you think that you can set yourself up for success in the right direction? I think,

Max: [00:33:48] Multiple, multiple things. One is being very clear about what I want to accomplish. I want to build a billion dollar startup in my life. That is sort of the thing I want to try next. I’m not right now. I don’t want to build a, a indie hacker business. Right. I don’t want to build something on my own and I I’m perfectly happy to do that. Right. But right now at the life stage, I’m at, I don’t have kids. I’m relatively young, still. I don’t have a lot of commitments. I have the opportunity to try and really build something that changes the world. And so I want to try doing that. And that immediately already tells you a lot about the problems I can tackle, right? There’s problems I can tackle with that, that are big enough. Like the, basically the promise has to be big enough to eventually be worth a billion dollars. Right. They have to be really big problems. If you’re solving something that’s a small problem. It’s never going to be a billion dollar startup. It might be a nice indie hacker product business, but it’s never going to be a billion dollar startup. And so I know that that already deletes 80% of the ideas I have probably if not even 90%. And then the other, the other fundamental assumption, or, or axial I have is that I want to build something that I use, that I need myself. And that doesn’t necessarily mean a problem that I have myself right now, but something that we’re, if it exists, I’m an, I’m a user. Right. And I can think about what I needed and talk to my customers and figure out what they need and sort of reconcile that with my own needs, for the product. I don’t, I’m not very good at building stuff for other people. I would say, like, I, I’m fine at doing that, but I’m much better and much more motivated if it’s something that I want to use myself and that I want to make better for myself, where I see, ah, This part of the app kind of sucks, right? Like I want to fix this NAF part because it’s really confusing. Right. And no one needs to tell me that. I just feel it because I use the thing every single day. And so again, that restricts the problems based on a lot, right? There’s only so many things I know so many problems I care about. And so immediately that restricts the problems I can tackle a lot. And where exactly that Venn diagram of big problems that I have sort of overlaps. And then ideally that the other part of this is that I want to solve something that businesses are willing to pay for it because we spectrum, we had, we built a product that many people found valuable in that many communities found valuable, but we never managed to get anyone to pay for it. We never made any money. And so that’s why eventually we just had to sell because we ran out of money and our server costs were exploding, but we didn’t, we that doesn’t correlate to an increase in income. And so now I want to build something that businesses are actually willing to pay for it that solves a problem for them that they’re willing to pay for. And so again, that restricts the progress based on even more. Right. And so the more of these sort of axioms, I add the more of these properties I want to have in my idea, or in the problem that I want to solve really that the smaller, the space of possible problems kits. And I have no idea what I’m going to build. I have a couple ideas that that I want to maybe explore. We’ll see. But right now I think. The main thing I’m doing is talking to people. Right. And I’m doing a lot of customer research. I’m talking to people I’m talking many to developers because I kind of want to build something for developers, not for again, I want to solve my problem. Right. And so talking to a lot of developers about what they struggled with day to day, what their work life looks like and thinking about how one could make that easier. And we’ll see where that leads. I have no idea. It’s very scary. It’s sort of a pretty scary time in my life right now because I have no idea what I’m going to do. But it’s fun. I’m looking forward to it. I’m looking forward to the challenge and I’m really excited to be back in sort of back in the trenches of trying to figure out how to leave my stamp on the world, if that makes any sense. Yeah. Yeah.

Michaela: [00:37:19] It definitely makes sense. And I mean, I think we are in very different situations, as you said, right? You’re looking at your own situation, do you think? Well, right now I’m really free and I want to tackle this 1 billion thing. And for me it was more like, well, I’m completely not free. Sorry, I’m competing. I have my two kids and I want to spend a lot of time with them. But on the other hand, I want to go. And for me the thing, he was more, how can I use the time that I have right now to set myself up for success in two, three years, right? When my kids are a little bit more grown up. And I think that I’m getting closer and closer to that clip where I feel like, well, maybe, you know, my time to build something really cool will start soon. And And so, yeah, I think this, this all, I, it really resonates with me, like thinking about, you know, what can I actually tackle? What do I want to do? Right. What is really my, my ambition to, to do here and then trying to figure out. But I still think that even if you take this Venn diagram, it’s a huge problem space still, right? So there are so many things that you could tackle. And so if you do something like, do you try to get now this idea by talking to people, or are you going to build a little bit and testing the waters? So, so what will be the next steps to really understand if there is there’s a market for it? Or, or do you say, well, I’m completely committed. This is the idea I’m completely committed. I’m going to build it. I give it a year. Or is it like tiny bats that you do? Like, Oh this week I’m trying out, you know, I’m sending a tweet and see if people respond or I’m building like this little email list about something. How do you, how do you see that? I do all of

Max: [00:38:57] those things. It sort of depends on how serious I am about an idea and how much I believe in it, myself. Right. There’s thanks to my audience. There’s a lot of things I can validate just by tweeting. Like you said, particularly if I’m building something for developers, I can tweet, does anyone else else have this problem? And then I will feel the resonance or not. Right. Maybe nobody will respond or maybe a thousand people respond. Right. And sort of in that spectrum, I can tell how much that problem resonates with people. And then I can think about how would I approach solving that? There’s a, there’s a little validation that happens that way. And then the other thing is that I. Just ping friends and colleagues that I’ve worked with before or people that I know are using certain technologies. And I talk to them about how they’re using them and what they’re struggling with. And usually I go into those calls with some sort of hypothesis, right. I think maybe there’s this problem that maybe I could solve this way. Let’s see if they have the problem. And if you ask people straight up, do you have this problem? Would you pay for a solution if they’re friends of yours? They’re probably just going to say yes. Right. Because they’re friends of yours. They’re like, they’re probably not going to pay for it, but they’re still going to say yes. And so I actually go into those conversations and don’t even talk about my idea of what I want to do. I asked them what their problems are and then I look and listen and see if they even think about that problem at all. Right. And if they sort of stumble upon it themselves, and if they, if they’re annoyed by it, if it’s grinds their dead, their gears, right. Like the sand in the gears that grinds and it’s been really fascinating. It’s helped me invalidate a lot of ideas and, and tell me that people probably wouldn’t really care about them. Which has been really fascinating to do. I learned that from a great book called the mom test. I highly, yeah, I know that one.

Michaela: [00:40:22] Yeah. When you said that, I was thinking I should have mentioned it, but

Max: [00:40:29] it’s really well, it it’s helped me invalidate a lot of ideas. I have very, very quickly by just talking to someone for five minutes and being like, Hey, you know, what are your problems? What are you struggling with right now? What do you care about? And that very simple approach would be to the tests. We do daycare about your. Problem. And then could your solution solve that problem or not? And it also helps us cover other problems, right? Like I’ve discovered other problems that people have. And now I’ve talked to, I don’t know, 10 to 20 people and I’m starting to see patterns. Right. I’m starting to see, Oh yeah. A lot of people care about this one problem. I wonder if we could maybe solve something there, maybe there’s a solution for that. Right. And so that, that process is very, it’s very fun right now.

Michaela: [00:41:02] Yeah. That’s so smart. It’s so smart because it’s not like just, Oh, I’m going to build this and then you build it. Right. And you’re spending so much time doing it. Then I think it felt, feels maybe a little bit slow. And because you’re not really building something, which I think everybody wants to fill it, rightly we want to do, and we want to make progress. And if you just, just talk to people, it doesn’t feel like progress. It feels like, Oh, I’m still, you know, even before my idea phase, but this can pay off. So I mean, tremendously, if you’re studying and you’re going the wrong direction, I actually tweeted recently about that the tiny steps actually bring you the big success and, and, and do you have to be in the right direction? And this is also what I, I try to be very patient with myself thinking, well, you know, my steps are tiny right now, but as long as they are going in the right direction that I want to go and, you know, have a go completely straight. Right. So you, you learn and you bounce back and you think well, but if you’re open enough to see, well, this is the wrong direction. Now I have to go the other way around. And you know, even six sucking your way to success. I think this is so important and I see that. Yeah. I think you will be very successful. I can can see that. And so I’m definitely going to invite you again. Yeah. In, in a couple of years, right? I know we talk about like how it went

Max: [00:42:19] there. Yeah. We should

Michaela: [00:42:22] do that. Like we do that like in a year, maybe we do it, like go on a journey. Right. So in a year we talk again and then in a year we talk again and look how it goes.

Max: [00:42:34] Exactly. Yeah. I do think one of the things you, you said is really important is, is realizing when you’re doing something that’s wrong when you’re building a company or when you’re building a product, you’re so enamored with that product that you forget to think about. Am I even building the right thing in general? Right? You’re so in the deep, in the specifics you’re showing, Oh, which button do we put? Where, what feature do we build next? What features should we not build? What is more important? What do our users care about? Then you stop to think about the higher level. Does it, is this even a problem we’re solving, right. Is this even something that people care about at all? Or should I do something else entirely? Right. And I see a lot of startup founders particularly end up with problems or solutions to problems that no one cares about. And they never stopped to sort of reflect on, am I even working on the right. Thing right now, like, am I even doing something that anyone’s going to care about? And there’s, there’s sort of different there’s different problems to solve, right? Some are more immediate, some are problems that are problems right now. And people try to solve them right now. And then you very quickly learn whether it’s something that people very much care about or don’t care about whether you have product market fit or you don’t, if you sort of want to talk in the startup lingo. But then there’s sometimes there’s founders that are working on stuff that is way in the future, right. They have an idea of how the world should look like in 10 years and they want to help people get there. And that is really, really hard because at that point right now, no, one’s going to care, but maybe in 10 years, people care and you have to have a lot of conviction to sort of stay on your path, stick true to your values and goal the 10 years to see if that’s actually the future. That’s something I’m way too scared to do, right? Like I, I don’t have time to wait 10 years. I only have very limited time on this earth. And I know a lot of funders that are doing that and I respect the hell out of it. Right. But I’m, I’m way too scared of that. I would much rather solve an immediate problem right now where I know that people care about it rather than trying to do something so big. And so future that it would take decades to realize. Does that make sense?

Michaela: [00:44:38] Yeah, I think it’s, it’s painful. I mean, it’s painful to look at what you have invested in what you have spent your time on and to say. Honestly, I have to do something else here. Right. It’s it’s like I was standing, so I was, I was studying in London and then there was this really cool discotheque where you can go in the night. Right. I think it was called February or something like that. I forgot. And so we got a ticket there and we went there probably at, I don’t know, maybe it was like one in the morning or something or 12. And there was a line around like one of these huge buildings and we really wanted to go in, first of all, the ticket was expensive. Right. And say, if we wanted to see it and experience it. And so we stand in line and we stand in line for an hour and I say, you know, we didn’t even come, you know, like sit around. So what are we going to do? But then, because you’re already standing in our, like, it feels like, Oh, any minute, anyway, we stood actually three and a half hours and it wasn’t a morning when we could enter it. Right. And so it, and it was really this problem off, you know, like you’re standing already in line, so are you going away now? Or, and you leave all this waiting time for nothing. I was really horrible. And I think that this happens also to, to pounders. I mean, it, it also happens to me that you feel like, and, and it’s, it’s a blurry line. Like it’s, Oh, is there not traction because I’m doing it wrong? You know, is there not traction because I don’t have an audience yet? Or, you know, nobody goes to, I mean, there’s also build it and they will come if it’s not true. Right. So. It’s a little bit different, I think for especially people that don’t have like a platform and an audience yet to say, well, I’m tweeting about this amazing thing. And it could be that I am getting zero likes. So one like, and it doesn’t green really mean that, that what you’re building is not interesting. And so, you know, it’s not always easy to really understand is that the wrong direction or is it not? And then to be as honest to you and take this pain to say, well, I think it’s the wrong direction. Let’s do something else. Let’s start over. Yeah. So, so what I try to do is I try to have my, my activities always have one purpose that I know it will definitely work out. Right? So I’m doing this stuff and maybe the whole idea of turns out, but at least I know that whatever happens, there are three steps that are going into the right direction, right. Is it building an audience or, you know, building a community or learning something about the tech that I know I will use. Right. So I have, I have a couple of different goals around something where I say, well, maybe it doesn’t completely work out, but I can for sure say that those three checkpoints that are on my way to success, those three are going to work out. Right. I don’t know if that’s something, how you think about things, but this is, this is really my salt pattern pattern for everything I do. And very often it’s just learning right? Learning about. You know how to blog or how to do a podcast or, you know, something like this, which brings me to the right, you know, brings me closer to where I actually want to want to go. And then I know I have it. I have control over that.

Max: [00:47:49] Absolutely. That’s one of the big reasons I joined spectrum was because I said, there’s no downside, right? I get to work with two fantastic designers that I know online that are very famous for their great work. I get to watch them close and learn about design myself. I get to be a technical co-founder, even though I had no idea how to do that, I could learn how to do that through spectrum. And then you worst case scenario, if it doesn’t work out at all in one and a half, two years, I’ve made two new friends, at least if not many more and learned a ton about how to build a startup and what that even means. Right. And so really even if the product itself had gone in a completely mood, I knew there was no, like, I wouldn’t have any regrets about it, but I knew it could only work out and any success at the proton on top of that was just a bonus. Right. There’s the fact that we got acquired, but gets up is just a bonus, right? Like that’s sort of like that happened and it’s fantastic. And it was a great experience, but it’s not something that was required for it to be a success in my mind. Right. It was always already a success just by the fact of me doing it. And I, I think very much in the same way that you do where I sort of consider the, the whole, the, the implication of everything that I do on a sort of broader scale, right. It’s not just, I’m building a startup, is it going to be a success or not? And that sort of binary, the outcome is good or bad, but it’s. How much do I learn? Who do I get to know? What do I, what do I do? Do I enjoy my life? Do I have fun? Right? Like all these things can tie into it and can make something a success. Even if maybe directly it isn’t the success. If that makes any sense.

Michaela: [00:49:14] Yeah. That’s exactly how I approach things in life. So I think I’m fairly new. I’m happy that I got some confirmation bias here.

Max: [00:49:26] yeah, maybe. Yeah. I have no idea.

Michaela: [00:49:30] Yeah. We can see, maybe people can reply to this episode on Twitter and tell us if they are the same pattern.

Max: [00:49:37] I really curious if anybody else thinks that thinks that way. Yeah, absolutely. Please let us know. I’m I’m I’m super curious. I only start

Michaela: [00:49:43] things where I know it can, can only be a success and it can be a bigger success. Right. But it’s sort of the things that I’m doing are already success, right? Independent of how it turns out. I mean, yeah. So, well, I took already much more time than we actually that I actually set out to talk with you. So I already stolen a little bit of your day-to-day, so I I’m going to end it here, but we did promise that in a year I’m going to schedule again and then in a year we are going to talk again because I really enjoy it. I could talk on and on. And so I’m really curious where your journey goes and how, you know, how you think about the things that we talked about today in a year from now and 10 years from now. So thank you so much, max, for being on my show today, talking with me about all. All these really interesting topics and getting, picking your brain and getting a little bit an idea of how you approach things. I think this was so valuable, at least for me, I hope for my listeners as well.

Max: [00:50:39] Thank you for having me. I hope it was interesting were valuable or at least the pertaining, I hope it was at least entertaining. And I can’t wait to be back in a year and see, I, I honestly can’t wait to listen to myself. Talk about what I’ve just done for the past year. Cause I’m really curious to see where I live.

Michaela: [00:50:55] Cool. Yeah. Okay. So I will link everything in the show notes like bedrock and your Twitter profile. Is there something else that you think my listeners should know or, you know, they should check out that that’s important to you?

Max: [00:51:09] No, I think that’s it. If by then I’ll have a, start-up maybe link that to but I don’t know what that is yet. So cuddly can either yet.

Michaela: [00:51:18] Thank you so much for taking the time and enjoy your Sunday and talk to you in a year on this podcast again, hopefully. Yeah.

 

Episode 37: Underrepresented, Underpaid & Undervalued – Having to change jobs to advance your career

In this episode, I talk to Jenn Creighton. Jenn is a Senior Staff Engineer at Apollo. Jenn specialized in frontend-end development is currently working on the open-source work for  Apollo GraphQL.
She also is a frequent conference speaker, an authoritative voice in tech, and recently started her own podcast called single-threaded

We talk about:

  • what a senior staff engineer does, and which responsibilities this title entail, 
  • why she needed to frequently change her job in order to advance her career,
  • how gaslighting, bias, and being underrepresented, underpaid, undervalued is part of her decades long experience as a developer
  • and how she makes sure she is helping others to enter tech and have a better experience.
Continue reading

Episode 30: How I got into FAANG companies without a CS degree

In this episode, I talk to Ben Lesh. Ben is a Senior Software engineer at Citadel Securities. Before that, Ben worked amongst other companies, at Google and Netflix. Ben is also the Project Lead for RxJS. RxJS is a library for composing asynchronous and event-based programs by using observable sequences.

We talk about:

  • how he got into several FAANG companies without a CS degree, 
  • the importance of building relationships, and an online brand,
  • the benefits of being helpful and kind to others,
  • the differences in engineering practices at Google, Netflix, and Citadel Securities, and
  • what RX.js is and why you might need it. 
Continue reading

Episode 29: No mocks allowed – A testing discussion with Kent C. Dodds

In this episode, I talk to Kent C. Dodds, a software engineer, and teacher. Before starting his entrepreneurial journey, Kent has been working for PayPal. He is a major open source contributor and also the creator and maintainer of the widely used open-source testing-library.

Code that he writes is used by millions of people around the world, and he also teaches thousands of engineers how to test their JavaScript systems, and how to work with React.

We talk about:

  • Why you should not mock your software system during testing,
  • how “testing library” helps create more meaningful and maintainable tests,
  • if and how manual testing is still needed to increase your confidence in the software system.
Continue reading

Episode 26: Software success through community building

In this episode, I talk to Chris Biscardi, an independent software consultant about how he became successful through open source and community building.

We talk about

  •  how he niched down to only work with open source companies
  • how he build the Party Corgi community by showing up and leading by example
  • and what he thinks it takes to start your own successful software business in 2020.
 

Links:

Continue reading

Episode 24: Why you should double down on integration tests with Kent C. Dodds

In this episode, I talk to Kent C. Dodds, a software engineer, and teacher. Before starting his entrepreneurial journey, Kent has been working for PayPal. He is a major open source contributor and also the creator and maintainer of the widely used open-source testing-library.

Code that he writes is used by millions of people around the world, and he also teaches thousands of engineers how to test their JavaScript systems, and how to work with React.

We talk about:

  • best practices in testing modern software systems, 
  • the testing pyramid and it’s “successor” the testing trophy,
  • why integration tests might be more beneficial than unit tests,
  • how you should avoid testing implementation details,
  • and how testing sentiments have changed over the last 10 years. 
Continue reading

Episode 22: Becoming a Machine Learning Engineer at Twitter

In this episode, I talk to Jigyasa Grover, a machine learning engineer at Twitter. Jigyasa is my first data engineer, and so it’s great to learn from her about what her day to day work entails. But in addition, she is also very ambitious and tells me about her successful career path through internships and research projects.

We talk about:

  • what a machine learning engineer does, 
  • how to get started as a machine learning engineer,
  • open source and Google’s summer of code projects,
  • and her role at Facebook combing data and software engineering. 
Continue reading

Episode 20: Fundamentally Changing How We Develop Software

In this episode, I talk to Tudor Gîrba, CEO and co-founder of Feenk, a software consultancy. Over the last 10 years, Tudor researched new ways to develop software – called moldable development. In this interview, I did deep to understand what that exactly means, and how he started to work on a novel IDE that enables moldable developments. 

We talk about:

  • how reading code slows down software productivity,
  • building developer tools,
  • starting your own software company,
  • transitioning from consultancy to product company,
  • and applied research.
Continue reading