Sep 13, 2013

What?! I've lost my coding knowledge.

Let's say tomorrow I had to create a startup from scratch without knowing how to code. No Ruby, no HTML, not even a single line of code. What would I do?

Lately I've came across with lots of articles talking about finding your technical co-founder. I think it's super important to find a good technical partner but is something I wouldn't do in a hurry. While searching for someone, here I list a couple of things I would do:

Talk to customers

This may sound like a cliché, but If I'd have to choose just one thing to do, I'd definitely pick this one.

It maybe counterintuitive, but not knowing how to code can have its benefits. We(developers) don't like to talk to customers and prefer to start coding as soon as possible because that's where we feel comfortable. If you'd make me choose between working sitting on the floor during one week or getting out of the building to talk to a bunch of strangers and getting rejected, I'd definitely go for the first one.

So, as a non-technical founder, I would start doing the most important task of all: Talking to customers.

  • First: I'd find where potential clients are. If it's a restaurant manager I'd visit him; if it's a plumber, I'd call him; if it's a growth hacker, I'd tweet him; if it's a social media manager I'd send him a Facebook message. You get the idea.
  • Second: I'd search for communities where these potential clients hang out (read: Quora, SubReddits, LinkedIn, HackerNews, Inbound.org, StackOverflow, GitHub, Niche Blogs, etc.), I'd listen to their problems, help them & get to know them.
  • Third: If it's too difficult to reach out potential customers, I'd try out tools like Survey Gizmo or Google Consumer Surveys — but I don't think I'd need them and I don't think you can get the same level of rich info you get when you speak to people.

While talking to potential customers — 20, 30 maybe — it may be a good idea to start showing them something. I'd create some mockups or wireframes using Mockingbird, Keynote or Photoshop and start hearing some feedback on the product idea.

Talking to these people would give me the opportunity to receive feedback early, before anything is made. It's important to receive feedback before you have built something or settled the idea because, as you may know, nobody likes change and nobody likes being told that their baby is ugly.

If I had received good feedback and found out that this product solves the customers' problem and they are happy to pay for it, I'd create a landing page using simple tools such as Squarespace, Unbounce or Launchrock.

But now… how do I drive people to my landing page?

In several past projects I've tried sending emails to tech press sites such as TechCrunch, Mashable, between others, but I didn't have any results. That's why I would just start selling the future product to real customers and worry about press later.

Here I will list a couple of techniques that may not be scalable but as Paul Graham said: it's essential for a startup to do things that don't scale.

Actually startups take off because the founders make them take off. There may be a handful that just grew by themselves, but usually it takes some sort of push to get them going. A good metaphor would be the cranks that car engines had before they got electric starters. Once the engine was going, it would keep going, but there was a separate and laborious process to get it going.

  • One. I'd create a blog using Tumblr or Wordpress. Then I would cold call customers using this technique I learnt from Robert Graham, and would say something like:

“Hi, I’m Ignacio and I run a blog focused on [E.g. Travel & Vacations ]. I am looking for [modern hotels like yours] and would love to talk to you about your business. I can then write up the experience and link you up on the blog."

I've used this technique and it works like magic. This way, it's less likely to be rejected because you really have something valuable for them. You are going to feature them on your blog and you are going to write about them.

  • Two. I'd try to grow an email list to keep future customers updated about the progress. It's common to think that if you create a blog and add an email list subscribe form, people will start coming in. It doesn't work like that, you need to move your ass and look for ways to drive traffic to your content.

With Viralica we used a technique that got more than 300 hundred targeted email subscribers in just 6 weeks. We wrote a couple of guides and white papers with valuable content for our audience and we contacted our potential customers through their facebook pages or email contact forms saying something like:

Hi. Loved those beautiful wallets that you sell! Beautiful design. Our App helps stores get more sales by allowing them to create AdWords campaigns in a blink. I'd love to send you a brief white paper on how to sell more through AdWords. At what E-mail address should I send it?

People usually answered saying they would love to receive the guide, and then, we'd asked them if they wanted to subscribe to our list and receive more guides.

Next steps

Ok. Now I have people that subscribed to my imaginary product and I don't know how to code and don't have a technical co-founder. What do I do?

I've reached a good amount of beta testers so it makes sense to start building something. If during this time I couldn't find a good tech co-founder I'd opt for learning to code or hiring a freelancer.

In both alternatives it's important to consider building a Minimum Viable Product. A simple and scrappy product that can get the job done and solve the customers' problem. Nothing else. Nothing fancy.

It's obvious that it is important to build something simple when you are learning to code, but not so obvious when you hire a freelancer. When hiring a freelancer I'd aim to ask the freelancer to build something simple no matter his skills or my budget.

If we accomplish to build something simple, later, it will be easier to improve and change the product as long as we didn't build a freaking frankenstein software. Every feature you add now, increases exponentially the costs of changing the software later. So let's keep it simple.

Back to real life

I know how to code, I have a technical co-founder & I know how to build something, so when I have a new idea I tend to skip this whole process and start building something right off the bat. I am trying to change this. I know I'm not the only one who acts like this. Who knows? maybe there are Anxious Software Builder Anonymous Meetings and I'm not aware.

But if I'm suddenly struck by lightning and lose all of my coding knowledge these are all the things I would do.

Discuss on Hacker News

I send out my best writing and ideas every week to my mailing list—