Rob Walling on How to Create Your First Software Product (Even if You Can’t Code!)

Vinay’s note – Rob Walling is a serial entrepreneur who most recently co-founded Drip, one of the fastest-growing email marketing and automation tools. He’s been teaching software entrepreneurs how to build, launch and grow software startups for 10 years through his blog, acclaimed book Start Small, Stay Small: A Developer’s Guide to Launching a Startup and the most popular startup podcast for bootstrappers Startups for the Rest of Us. In this interview, he explains how to create your first software product, including why it’s best to start with a tiny product, how to pick a profitable niche, how to hire and manage developers, and more.

rob walling

Please tell us more about your experience with building and selling software products.

I launched my first software product about 16 years ago… and it was a miserable failure.

Then I had several other failures after that. It wasn’t until about 5 years in (I was doing all this on the side while I was working at a day job) that I finally managed a profitable product. It was a small app that brought in $1k-$2k/month.

After that, I built and acquired several products over the next few years. Most notably was a SaaS app called HitTail, which I bought, grew well into 6-figures in annual revenue and sold. That exit happened last year.

Now, I’m working on marketing automation software Drip, which I launched with my co-founder Derrick Reimer in 2013 and have since grown into a 7-figure business.

You often talk about micropreneurship. Can you explain what that is and what are the pros and cons of it?

Micropreneurship is being a solo founder with no employees. That’s what you do when you want a lifestyle business – you find something (say, an ebook or a small software product or a SaaS app or whatever), you make it profitable, and you live off the income.

The positives of being a micropreneur are the ability to keep things simple, stay in control and have the lifestyle that you want. For example, there was a time when I only worked for around 12 hours per week, and I was still making 6-figures.  As a micropreneur, you don’t have to deal with being tied to a specific schedule, managing employees or any other headaches that come with growing a “real” company, so you are pretty much free to do whatever you want.

The negative of being a micropreneur is that you are limiting your growth. You can only do so much as a single person. Of course, if a lifestyle business is all you want, that’s totally fine, but a lot of people eventually get bored of that. For example, I did it for 3-4 years, and it was a lot of fun, but then I realized that it was time to expand my horizons and learn new things, and that I had bigger ambitions.

I think that when you are only starting out, micropreneurship is a great way to test the waters and see if you like running your own business. Then, if you want to do something bigger, you can always go and do that.

There was a time when I only worked for around 12 hours/week, and I was still making 6-figures.Click To Tweet

Is building and selling software products even an option for someone who can’t code?

Yes. It’s challenging, but definitely possible for a non-technical person to build a profitable software product. Many people have done this.

However, I think that ability to code is extremely helpful, even if you don’t write the production code yourself and instead hire someone do do it.

What I’d recommend is to acquire enough coding skill to build some small application from start to finish on your own. That might sound daunting if you have never done any coding before, but really, it’s pretty simple, especially given the amount of free resources available on the Internet. You can do it in your spare time over the course of a few months.

Where to start? I suggest you try One Month. They have a bunch of great courses where they give you a sample project, and then you build the whole thing from start to finish. During that process, you will learn what it takes to develop a simple application, things like what is a database, how you connect to it, how you put data in, how you push data out, etc.

That will help you immensely with your own software products because you will have a much better understanding of what needs to be done.

What kind of a product should someone who has no previous experience in building and selling software start with?

The people that I see having success, and who constantly launch things that work, are the people who put the time and effort into learning the ropes with small, simple products in less competitive niches and only then moved to bigger, more complicated products in more competitive niches.

So I’d recommend picking an existing ecosystem and building an extension for it. Think tiny products like WordPress plugins, Magento addons, Drupal addons, etc.

Okay, so once someone decides to build their first software product, where should they start?

You need to find a group of people who are willing to pay for it – in other words, you need to find a market.

However, not all markets are made equal; there are vertical markets and horizontal markets:

  • Think of a vertical market as a single industry or hobby. Examples of vertical markets include pool cleaners, dry cleaners, web designers, wine collectors and punk rock enthusiasts. Though I recommend selling to other businesses rather than consumers.
  • By contrast, a horizontal market cuts across many industries or hobbies. General purpose invoicing software is a horizontal market since it can be used by pool cleaners, dry cleaners and web designers.

When starting out, you should go after vertical markets and steer clear of horizontal markets. If someone asks you, “Who needs your product?” and you say, “Anyone with a small business!”, that’s a terrible idea. You need to focus on a specific niche.  Don’t think, “I’m going to build a product.” Think, “I’m going to solve a very specific problem for a very specific group of people.”

Don't think 'I'm going to build a product', think 'I'm going to solve a specific problemClick To Tweet

So that’s where I’d start. I’d try to find vertical market, figure out what people’s pain points are, and then build something that solves those problems.

You emphasize focusing on a vertical market instead of a horizontal market. Why is it so important?

3 reasons why vertical markets are better than horizontal markets:

  • Products take much less time to build. For example, building a Microsoft Word clone (horizontal market) would probably take you a decade, while you could probably build a text processor for computer scientists who write technical papers in less than 6 months, and your customers would love it. Why? It’s much easier to meet the needs of a specific group of people than to please everyone.
  • There’s a lot less competition. Horizontal markets are extremely competitive, so unless you are a pretty skilled entrepreneur with a decent budget, you are going to get crushed. For example, if you built a Microsoft Word clone, you’d be competing with, well, Microsoft. Meanwhile, if you built a text processor for computer scientists, it would either be the only product in that market or you’d be competing against a few other small products.
  • Higher profit margin. For example, people might be willing to pay $50 for your Microsoft Word clone, but a specific group of them (computer scientists) would probably be happy to pay $300 for your text processor that is made specifically for writing technical papers. It’s easy to charge a premium price when your product is the only solution out there that meets the specific needs of your customers.

In essence, going after a vertical market instead of a horizontal one allows you to narrow down your focus, and that makes things much easier.

What are your rules of thumb when it comes to finding a profitable niche for a software product?

My main rule of thumb is to pick a niche that you have some connection to. It’s certainly possible to go into a cold niche that you don’t know anything about and build a profitable product, but it’s much easier to do that if you go into a warm niche. So take a look at your occupation, your hobbies, your interests…can you solve a specific problem in one of those niches?

Okay, so once the product idea is validated, how should a non-technical person go about finding a developer?

I’ll be honest here, even technical people struggle with hiring developers (I have a team of them, and finding the next one is always a challenge). If you don’t know how to code, it’s going to be that much harder.

The main problem you will have as a non-technical person is being unable to evaluate a developer by looking at their code. That means that you will have to use metadata around that person to make a decision. You’ll have to go through their portfolio, reach out their past clients, get recommendations, etc.

I would start with your network – whom do you know who has hired a developer they’ve had great results with?

Know that you will probably have to pay more for development than a technical person would, because developers who are willing to work for $10/hour usually don’t have a network, don’t have a portfolio and don’t have a reputation, which means that there’s isn’t enough metadata for you to evaluate them.

So what would be a reasonable rate to pay a developer?

Hiring someone based in less expensive regions like Eastern Europe or South East Asia would cost you around $10-$25/hour for PHP and around $20-40/hour for Ruby on Rails or Python.

Hiring someone in more expensive regions like Western Europe or North America means that the rates will be around 2x-4x higher.

Now, you can find people cheaper than that, but you’ll need to vet them really well. The horror stories I hear are non-developers who try to go cheap and hire $10-$12/hour developers. Don’t do that. Just accept that as a non-developer, you won’t want to hire the cheapest developers available.

The horror stories I hear are non-developers who try to go cheap and hire $10-$12/hour developers. Click To Tweet

What should a non-technical person know about managing a developer?

I’d say that the most common mistake is not being specific enough about the software and assuming that the developer knows what you mean when you say, “Please build a plugin that does X.” The developer is going to do it in the fastest way possible… and that usually is not the best way.

For example, if you say, “Please build a WordPress plugin that allows someone to sell tickets to their events,” a developer might go and build a WordPress plugin that has a one big table display on the backend with the information about people who bought the tickets and one big single page on the front-end that asks for your name, credit card, etc. That’s the simplest way to do it, and it would only take 1-2 days to build it.

But is that really all you need? Or should there be a multi-step checkout process on the front-end? What about integration with payment processing providers such as Stripe, PayPal, etc? Once someone buys a ticket, do you give them a PDF? And what happens when you have sold out all the seats? Yes, it’s a simple app, but there still are a lot of decisions to be made.

The developer is going to do it in the fastest way possible… And that usually is not the best way.Click To Tweet

All of that needs to be spec’d out in detail, you need to know how you want each screen to look on the backend and on the frontend, because if you don’t spell it all out, the developer is going to do it the way he or she thinks is best, and it’s probably not going to be what you want.

I’d recommend building screen mockups using a tool like Balsamiq or Keynotopia, showing those mockups to your potential customers and asking them if the app does what they need, making adjustments based on their feedback, and only then handing the spec to the developer and saying, “Please build this thing that I have visually spec’d out here.”

You often talk about things like landing pages, email marketing, pay-per-click advertising…but do you need all that for tiny products (WordPress plugins, etc.)?

No, you don’t. Usually, the main source of traffic for tiny products is the ecosystem they live in. For example, if it’s a WordPress plugin, then its main source of traffic will probably be WordPress plugin repository. Same applies to Magento addons, Drupal addons, WordPress themes that are sold on ThemeForest, etc.

What should one aim for in terms of revenue with their very first tiny product?

I think you should aim for $1000/month.

That might not sound like much, but it’s enough to live on in many places in the world. At worst, it can pay a good chunk of your mortgage.

Revenue goal for your first software product? I think you should aim for $1000/monthClick To Tweet

Is there something one should keep in mind once their tiny product starts gaining traction?

You want to look at how people are finding you and why they are buying, and then see if you can optimize that in any way (so, for example, if people are finding you on WordPress plugin repository when searching for certain keyword, can you try to rank higher for those keywords?).

That being said, tiny products usually plateau at a certain level (say, $500/month, or $1000/month, or $2000/month, it’s different for each product), and once that happens, it’s often best to move on to the next thing.

And probably something bigger this time, since now you’ll have experience under your belt.

Thank you, Rob!


Agota Bialobzeskyte is a content strategist that helps entrepreneurs grow their business with value-packed content that readers love.

WordPress problems?

Our WordPress experts have you covered.

Hyper-responsive 24/7/365 WordPress support, maintenance and small fixes.