[00:00] Rob: In this episode Startups for the Rest of Us, Mike and I asked the question. Should a non-technical founder learn to code? This is Startups for the Rest of Us, episode 224.
[00:17] Welcome to Startups for the Rest of Us, the podcast that that helps developers, designers, and entrepreneurs be awesome at launching software products whether you’ve built your first product or just thinking about it. I’m Rob.
[00:26] Mike: And I’m Mike.
[00:27] Rob: And we’re here to share our experiences to help you avoid the same mistakes we’ve made. So what’s for this week, sir?
[00:32] Mike: Well, we got an email from Aaron Weiner from Software Promotions. And he had a comment and sort of a clarification question about episode 223 where we had given some advice about when bootstrapper should start worrying about insurance and security and things like that. And he got a question what it was we were really trying to say when we talked about security because one of the things that I had said was that these companies have billions of dollars at their disposal. And they have large security teams. And if you’re being actively targeted, there’s absolutely nothing that you can do about it. His disagreement on that was that it sounded like I was saying that entrepreneurs shouldn’t spend any time on security.
[01:12] To clarify for everyone, the issue isn’t so much that you shouldn’t spend any time on security. But what I was saying was if you were being actively targeted. And so the difference between actively targeted and what I call more of a drive by is that if a hacker has a vendetta against you, there is absolutely nothing you can ever do that is going to stop him. So they can essentially go through your testimonials page, find out who your customers are, and then target them. Do DDOS attacks. Take down their servers and say, “Hey, if you don’t stop doing business with this person, I’m going to keep coming after you.”
[01:42] And it could very seriously and negatively affect your business. And they don’t even have to get your customer list. If they get your customer list and they have half of it or most of it, then you’re in serious trouble because then you’ll have very big PR problem to deal with. And they have the list of all your customers. They can go after them as well.
[01:58] But on the flip side of it, if it’s a matter where you have the ability to lock down your server and you’re not, those are the things that are more like targets of opportunities. So people who – I refer to them as script kiddies. They’re just writing the scripts against every IP address on the internet trying to see what it is that’s out there so that they can dig in and start pulling information out of those servers. And if you have a server out there that isn’t properly locked down or secured or there are cross-site scripting vulnerabilities in your code on your SaaS app, those are the types of things that they’re going to exploit. And it’s not because they don’t like you. It’s because they can. And so you do have to do the basics and the bare minimums just to make sure that those things are taken care of. But if they’re actively going after you, then you’ve got a really serious problem at your hands.
[02:41] Rob: It’s a judgment call. It’s like how much life insurance should you get? Well, you should get enough.
[02:46] Mike: All of it.
[02:47] Rob: You should get enough. Yeah. I mean there is a point of diminishing returns at a certain point. And I think that’s kind of how you have to handle it. You know how we answer a lot of questions with, “It depends.” This is a really it depends like it’s very heavily that your call, your risk tolerance, and how much you stand to lose. Thanks for the question, Aaron. I’m glad you wrote in to clarify that.
[03:07] So I want to announce the launch of my new podcast. It is called Zen Founder, and it’s myself and my wife. She’s a clinical psychologist. It’s at zenfounder.com. We have links there to get into iTunes and subscribe to email and such. We have four episodes live right now. One is called “Three Strategies for Staying Sane While Starting Up.” And then we have one all about retreats where we outlined how we’d structure our retreats because she’s kind of the one that got me started with annual retreats. We have one about procrastination. And then we actually interviewed Greg Baugues who did this talk at BOS about depression and developers.
[03:44] So kind of a gist of the whole podcast is like staying sane while starting up and it’s how to balance startup family and life. And so we plan to put out an episode every Wednesday morning. So if you like this show and you like the mental aspects of getting all this going, I think Zen Founder will be a good fit for you.
[04:04] Mike: Very cool. I’m looking forward to it. Something else related to MicroConf is that we’re in the process of looking for sponsors for MicroConf. So, if you’re interested in sponsoring MicroConf or if you know of somebody who is, feel free to drop us an email. You can send it to email@example.com. We also have a pool of tickets set aside specifically for sponsors. Our expectation is that when people sponsor the event, they will be coming. And we do make tickets available for those sponsors. It’s not a huge pool of tickets, but there are some available for them. And so if you’re interested and weren’t able to get a ticket, you could also sponsor the conference and you’ll be able to get a ticket in that way.
[04:39] So when you’re sponsoring MicroConf, MicroConf sponsorship started about $1500 and they go about to about $6000 for the kind of top-tiered sponsorship. And depending on what level of sponsorship you sponsor the conference at, you get more tickets. So for example, the community sponsorship at $1500, you get one ticket with the master plan, the $6000 sponsorship that comes with four tickets. But one of the things that sponsoring MicroConf does for you is that it gives you additional publicity for the conference. We do call out our sponsors at the conference. We include information from the sponsors on the USB drives. We include information about the sponsors to the attendees. There are links back from the website over to the sponsors’ websites. And essentially, we will work with you to try and figure out what other ways we can be creative to help the sponsors get additional publicity and meet their goals from the sponsorship. So again that’s firstname.lastname@example.org if anyone’s interested.
[05:34] Rob: So we’ve received a lot of feedback about the possibility of diving into more technical topics. And overall, it looks like there are a lot more downvotes than upvotes on doing that. But what’s interesting is the few upvotes have kind of said, “Yes, I’d like to hear more about technical topics.” But then they’ll say something that’s not really a technical topic. So it’s maybe the bare minimum you need to know about hosting a SaaS app or topics that are – I mean they’re semi-technical, but it’s not like digging into the nitty-gritty like a developer podcast would do.
So maybe we may want to look at doing one show where we kind of walk through because we’ve had several suggestions on some specifics of how to do that and to kind of make it non-technical founder friendly or at least just give it like a founder’s point of view, right? You don’t need to be at such detail to know everything about it, but as an example like I know that we use Honeybadger which is from Benjamin Curtis. And we use that with Drip and HitTail, and it shows us all of our errors.
[06:29] Now, I couldn’t show you every point of integration that we use or how Honeybadger gets our info, but I don’t think that’s what people need to know, right? I think people might just need to know, “Hey, if you’re going to be launching something, you have to have a way to capture your errors in a way that you can dig into them and then talk about at a perspective of here are a few services that do it rather than the nitty-gritty nuts and bolts to have to do it all.”
[06:50] So in today’s show, we’re going to be talking about whether a non-technical founder should learn to code. And this is actually spurred on by a question that I received via email from a friend of mine. And unfortunately, I didn’t get his permission in advance to use his name. So let’s just call him John for the sake of this. But he says, “I’ve got solid marketing chops, but there’s a part of me that wants to get in on the SaaS action. If I was going to get into software and wanted to bootstrap it, would it be worth learning to code myself? And if the answer is yes, where would I start?” So we seemed to have three questions going on here. The first is talking about starting a SaaS app at all. The second is, is it worth learning to code if I’m going to do that? And the third is where you would start if you were going to move forward with that.
[07:32] So let’s start off with the first topic here. John had asked, “I’ve got solid marketing chops, but there’s a part of me that wants to get in on the SaaS action.” And I have some thoughts on just that statement which isn’t even really part of his question. It’s kind of setting the stage. But it comes back to what we said a couple of episodes ago in episode 222 where we talked about the stair-step approach to launching products. I’m concerned with the idea of being a non-technical founder and jumping directly into launching SaaS. And I’m actually concerned about a technical founder doing it as well but for different reasons.
[08:05] So a technical founder is probably going to know how to build the SaaS, but they’re not going to know how to market it because marketing a SaaS app is more complicated than say marketing a WordPress plugin because it’s a multi-channel. It’s more expensive. It’s recurring. There’s a lot of complexity there. A non-technical founder may know how to market a SaaS app because they’re able to handle the multiple channels. They have that tool belt. But purely getting one built is maybe ten times more complicated. And be supporting it ongoing in terms of the hosting and the error stuff, all the stuff we’ve kind of talked about it already and scaling it for a non-technical founder is going to be a real challenge. So I think if you’re non-technical, you haven’t learned to code, or you’re considering, I wouldn’t try to jump to that third step just yet. And if you don’t know what I’m talking about, go back and listen to episode 222. It’s just two episodes weeks ago and we talked through kind of the progression that I think is best both for technical and non-technical aspiring software founders.
[09:01] Mike: I also think there’s a big difference between a SaaS app that’s simple versus one that is a lot more complicated. And I mean you’re kind of a prime example of this where you’ve got HitTail and Drip where HitTail is very – I don’t want to call it a simple app. But the concept behind it is the valuable proposition is very simple to explain. And the application itself has a lot less code than something like Drip does. There’s a very big difference between trying to sell something like HitTail versus trying to sell something like Drip where Drip has a lot more complexity to it not just in the application, but in all the marketing that goes behind it. And that makes it a lot more difficult to sell. And it’s not to say it’s not worth it or that it ultimately won’t be able to overcome those hurdles because obviously you’re making it work. But at the same time if you’re jumping right to that level 3 as you call it from episode 222 that makes it much more difficult to do that versus doing a much more simplistic SaaS app like HitTail. And I’ve actually heard a lot of people who are going after this very, very tiny niches where the only thing that the app does is keeps track of what people are doing. And I’ve done this and a half dozen other clones of that type of technology where all it does is send you an email every day. You reply to it, and it aggregates those things and then sends out an email as a team. And something like that is much more simplistic than something like Drip.
[11:33] Mike: The other thing just doing what you just recommended is that essentially what that does is it allows you to figure out what it is that people really want before you’re going through that process of building all of that stuff. I’m technical and my inclination would be to sit there and write the code and show it to somebody and say, “Is this what you want or do I need to tweak it a little bit,” versus someone who’s non-technical who has to do that first and kind of describe it and then take that and then translate into software. And you’re going to have to do it through an intermediary. And I think that that forces you to not only figure it out a little bit better, but also learn how to communicate it because you’re going to have to not only communicate it back to the person who’s explaining it to you, but then you’ll have to turn around and communicate it to the developer because they’re the ones who are building it. You’re going to become very good at that communication process.
[12:24] Rob: Right. And if you look at say building a WordPress plugin, I mean you could get a plugin built in a few weeks, maybe a month, that solves a pretty reasonable problem for a lot of people. There’s no chance you’re going to do that with a SaaS app. There’s a lot of low-hanging fruit that has been taken out of the SaaS market. Certainly, there are still small apps that you could launch and make a few bucks here and there. It’s not as easy as it was. I think that there’s more long-term sustainability moving into that more complex range of SaaS. I think the other thing we haven’t even brought up is human automation. Can you use human automation to do it temporarily? Meaning you’re a non-technical founder. Don’t go try to build any software. That’s the mistake that all the technical founders do. Don’t build anything. Find a pain point. Figure out how to solve it without writing a line of code. So you hire some VAs. You do it yourself manually. Instead of having a fancy SaaS interface, it’s all done with Excel spreadsheets over email. And can you do that via human automation for five paying clients? Figure out all the ins and outs of it. And then you know exactly what the software needs to do, and you can build it one piece at a time. And that makes it so much easier coming back to the translation process that you were talking about where you’re going to have to talk to a customer. Try to figure out what they need. Try to turn it into a requirement. Then try to communicate that to a developer when you’re not a developer. That’s a tough process to do. The odds of you getting that right the first time are almost nil. Whereas using human automation if you have some folks that are cranking up these reports and you’re getting feedback. You’re iterating on those reports very quickly because it’s just a different way to prepare the same report. That’s the kind of thing you can iterate on fast. And then you have so much more intimate knowledge that you can use to basically this is exactly what we’re trying to do. We’re trying to take this process and turn it into code.
[14:15] So then this brings us to the second part of Johns’ question. He says, “If I was going to get into software and I wanted to bootstrap it, would it be worth learning to code myself?”
[14:25] Mike: I think that generally speaking, trying to learn to code if you’re the non-technical person and you’ve got solid marketing chops is not necessarily the way that I would go about it. There is a little bit of a caveat to that. And I think that if you’re bootstrapping it, and again, this is the difference between bootstrapping and self-funding where self-funding you are funding the development of the products from previous things that you’ve done or from your own salary versus bootstrapping whereas you’re building it from scratch yourself. I think that if you’re going to do that and you’re going to bootstrap it, then you need to at least learn a little bit about coding. That’s not to say you need to learn a lot. You don’t need to necessarily build the entire application. But you’ll also need to be able to learn enough about how to code to be able to ask the right questions and to be able to see if somebody who’s working for you knows what they’re doing. And again, it’s a lot easier in most cases to read well-written code than it is to build it from scratch.
[15:21] And as a non-technical person coming in and you know the basics of code, if you can read their code and understand it and it makes sense, then that’s probably a really good sign especially if they’re putting in on all the comments. They’re following the processes and stuff that you’re putting in place. That will help you do that. So you do want to learn at least a little bit about code. Do you need to become an expert in it? Absolutely not. And again especially if you have those marketing chops that you’ve kind of said that you already have.
[15:50] Rob: Yeah. When I think about timelines for doing this from a standing stop how long would it take you to learn how to write software and be able to build a production X, where X — let’s say it’s a WordPress plugin or X is a SaaS app. And I think if you’ve never coded in your life that to learn enough PHP and server setup and the development environment, I mean there are so many concepts, HTML, even just all markup and CSS and that kind of stuff. I think that if you basically invested full time from a standing stop that maybe you could have a WordPress plugin out in three months.
[17:47] I think there are three types of people in terms of coding. There are people who hate it. There are people who do it, but they put up with it. I mean they don’t love it. And then there’s just the people who is their brain. It works exactly how their brain works. I’m in the latter group like I love writing codes. I actually get an endorphin rush from building a class and having the polymorphism work. And then the first times it appears on the screen, it rocks my world. You need to figure out which type of person you are because if you hate it, then you shouldn’t learn to code at all. If you can up with it, you should learn to code enough to be able to hire someone as you said. And if you love it, then it’s debatable, right? If you love it, should you put in the year to kind of get decent at it and the two to three years to become really, really good at it? Well, I don’t know. That’s a question you need to ask yourself in terms of where you want to go with your life.
[18:33] Mike: You know your comments about running into very simple things that take you six hours to figure out what the problem was. It brings me back to some of those where I did run into those problems. And running into those circumstances, they can be a huge, huge time sink and they are not productive at all. They actually make you start to hate what you’re doing.
[18:55] Rob: Yeah, a quick anecdote. I was teaching my son who’s eight now. But when he was seven, I wanted to start to teach him how to code. And so I was thinking he’s going to need to build games like mobile games like drag and drop and blah blah blah. And I had him start with codecademy.com. And it was basically some simple like HTML and CSS stuff that I was thinking this is going to be so boring and there were some Python as well. And the first time he did like print Hello World or What’s your Name. And then he replies with Hello, Your Name, it puts your name in there. I just thought he’d be really bored with it. But it totally fired off the endorphin. I could see it and he got really excited. And I found this kid is done for like he’s going to be a programmer because he loved just the whole mechanism. He was fascinated with the mechanism of how it worked. Whereas I showed that – when I was younger, I remember showing it to my mom as I was learning to code. And she just had really no interest in it like it just didn’t click with her mind. I think that’s to kind of illustrate what it’s like for people who don’t necessarily have an interest in code and those who it really works for.
[21:19] Mike: I think there’s also lots more resources for PHP for people. But it seems like when you’re looking around and you’re trying to find just how do I write PHP, there are tons of examples all over the place. And anywhere you turn like if you have a particular question about PHP, there’s usually more than one way to do it. But there seems like there’s like one straightforward way to do it versus something like Ruby and Python where because they touch on a bunch of different technologies, the answer tends to depend a little bit on what it is that you’re trying to do. There’s a little bit more complexity to Ruby and Python just because of the fact that there are additional I’ll say abstract frameworks that you kind of have to keep in mind. There’s conventions that you have to keep in mind. And if you’re not the type of person who is going to look at that and look at it in a more abstract fashion, then PHP is going to be a lot more straightforward versus something like Ruby or Python. And it’s not to say anything about power or efficiency or anything like that. It’s if you’re coming at it from a strictly non-technical point of view. PHP is going to be more straightforward to understand because you don’t need to know anything about some abstract framework that’s going to be make assumptions about how stuff works.
[22:26] Rob: I think another advantage is that it powers WordPress, Drupla, Joomla, Magento. These are great plugin and theme ecosystems. And so if you do learn PHP, then you’ll know enough to be able to participate in those and be able to kind of hack some code there.
[22:43] Mike: Another advantage is that PHP developers can be found all over the world. And they tend to be a lot cheaper than Ruby or Python developers especially when you start trying to find experienced ones. And part of that is just the factor of PHP being around for so much longer.
[25:10] This is the path that I’ve been meaning personally to go down since I basically started having all of our apps done in Rails because both HitTail and Drip now are completely in Ruby on Rails. And I know just enough Ruby to be able to kind of maybe read some of it, right, and I couldn’t code it at all. And this is the path that I have set out for myself when I have time. And that’s I think which you might find as an non-technical founder is that if you do this upfront, it will help you be able to hire and manage people. If you try to learn it well enough to actually build or produce SaaS app, it’s going to take a really long time, a year or more. And if you push this off and you try do it while you’re building the SaaS app while someone else is building, you may run out of time to do it, which is the situation I found myself in.
[25:52] Mike: Yeah. I think there’s a couple of differences I want to point out between something like codecademy and One Month versus Go Tealeaf. And that’s that codecademy and One Month are both more self-paced instruction. So you’re essentially going through them. It’s generally free, but you have to essentially teach yourself versus Go Tealeaf. It’s paid, but there’s an instruction there to help you. So depending on the type of person you are, you might want to lean towards one versus the other. But if you’re under a time crunch or you don’t necessarily do well with setting your own deadlines, for example, which may be a problem in and of itself later on when you’re trying to launch the SaaS app. But if you’re going to much better with an external company setting that deadline for you and setting that course schedule, something like Tealeaf is going to be a much better preparation for you because they have a set course schedule and an outline. And it only lasts for so long and you have to show up and you have to do the work. So it’s not like the other ones where you can push it off and push it off and push it off. Then eventually you still haven’t learned anything.
[26:56] Rob: You know, Mike, there are a lot more topics surrounding this to discuss. Kind of the next step is OK so I’ve done all that. Now what like how do I hire a developer? There’s thoughts of like OK. I’ve hired a developer. How do I spec this thing out? Do I try to do the waterfall approach? Do I try to do more of an iterative approach? I think there’s couple of different topics there. And if you’re listening to this and you’re interested in hearing about either one of those or both, hit us up on Twitter. I’m @robwalling and Mike is @singlefounder. Let us know what you’re interested in hearing about along these lines.
[27:26] Mike: If you have a question for us, you can call it into our voicemail number, 1-888-801-9690 or email it to us at email@example.com. Our theme music is an excerpt from “We’re Outta Control” by Moot used under Creative Commons. Subscribe to us on iTunes by searching for “startups,” and visit startupsfortherestofus.com for a full transcript of each episode. Thanks for listening, and we’ll see you next time.