Why learning to code isn’t always crucial for startup founders
I’m creating a mobile app without coding it myself.
There, I said it. Is that crazy? Some people in tech seem to think so.
But I thought it could be useful to explain why, and to share my perspective on this relevant post at Inc: “How To Build A Mobile App Startup With No Technical Background” by Rahul Varshneya, founder of mobile consultancy Arkenea.
I’m basically doing things precisely the way that Varshneya suggests not to do them.
Since the search for a technical cofounder is like “dropping a rose petal down the Grand Canyon and waiting for the thud sound,” Varshneya suggests 1) learning to code, 2) hiring a professional team, or 3) using app-building software that simplifies the process (similar to DIY web-building platforms). He strongly suggests not outsourcing — which is what I am doing for Bstow, the mobile app that I’m working on.
Before we get into how I am outsourcing dev for my app, let me address his three suggestions. Please note, by the way, that I do see value in Varshneya’s insights — and I think they’d probably be right for many people. But there are various reasons why I’m going in a different direction. If you’re working on a product, and you have a similar thought-process and skill-set to me (a few years’ experience in tech; moderately tech-savvy; but a first-time founder and not much coding capability), you, too, may want to consider outsourcing.
Learning how to code really does sound awesome.
You get to build a great (you hope!) mobile app and learn a valuable new skill at the same time. I considered doing things this way, but have held off for several reasons.
First of all, code school can be just as expensive as paying someone experienced to build your app for you. And paying that person has the added benefit of leaving you with free time to work on essential business needs — which is, you know, your job as a founder.
Second, your product timeline will be limited by your skill-set advancement. Internet technology generally tends to follow Moore’s Law, improving at exponential rates. It can feel as if we are all racing against becoming obsolete any day, minute, second. I don’t want to be beaten to market because I was sitting in class learning to code, when I could have had someone else do it, allowing me to release the app faster. I can always go back and learn later on.
Third is a slight reiteration of number one — if you’ve ever tried to create something where you were both the project manager and the expert, then you know how hard it is to get out of your own head with nuanced specifics that may not even matter to your users (hopefully, you have some of those) once you release your first version. The bottom line: if you set out to learn to code and build your first app simultaneously, then learning to code will always take priority over the app because you can’t advance on the latter before completing the former.
Taking the leap to launch an app is one thing, and sure, takes a lot of confidence. But learning to code, and then having faith that you’ve mastered the skill well enough, seems to me like an additional leap of faith, and maybe an even greater one. It’s one I’m not yet ready to take at the expense of launch speed.
Hiring a professional is the most viable of the three options.
It really depends on how much money you have saved up and are willing to put into your project. This option might easily require tens of thousands of dollars and, if you get a full-service team to help with user acquisition and your business concept, it’s not uncommon that it could run you $100,000. And that’s just to get you up and running. Every build afterward will be at an additional cost. If you have the funds then this may be a great option — but if you’re not personally involved to a certain degree, then you may risk your product becoming sterile or your idea losing its original intention. Even if you aren’t the one coding, take a close personal role in the process. Look over shoulders. Take notes. Add insight, even if you’re only on the sidelines for this part.
Using an app-building software to simplify the process is a good option as well. Varshneya mentions BuildFire and Como. These are some pretty cool tools that I didn’t know existed before. I played around with them and this may be a great starting point, depending on the purpose of your app. If you are trying to create breakthrough technology, though, this doesn’t seem like the best option. It wouldn’t work for my app, Bstow, a fully customized app with non-standardized features. But I do recommend seeing if any of these DIY sites provide the feature set and customization that you need. If they do, go for it. It’s not very expensive and provides the lowest barrier to entry in order to get something functional up and start testing the market to see if anyone wants to use your product and if they will use it more than once. For example, I just used Wix to build my landing page for the app. It was easy, straightforward, and good enough for now.
So, how did I go about finding someone to develop my app for me?
I interviewed about 20 candidates and created a short paid test to see who created something closest to my original intent.
There are several sites that you can use for outsourcing various types of work, including oDesk, Fiverr and Elance. During my interview process, I asked all of the developers detailed questions about how they would accomplish building my mobile app, timelines, costs, and how they’d submit updates for my review. I even asked what programming languages they would use and was able to learn a lot from digging in deeper to understand their methodology. I improved my own understanding after each interview and my job postings improved as well.
In order to ensure accurate results from my developer, I provide detailed UX/UI designs in both Photoshop and JPEG formats, a PowerPoint presentation that maps out where every single click should lead and from where all content is generated (Bstow employs various APIs), a clickable prototype built with InVision (proto.io is another option), and all icons, colors, and fonts. I also Skype regularly with the developer I chose (he is from India so this means burning the midnight oil) in order to ensure we are on the same page.
Whenever we start a new section of the project, he and I go over this initial assessment in order to agree on how many hours the task will take. He sends me a test build every two to three days so that I can test it out to make sure it matches my specifications and provide feedback.
Play to your strengths.
Does it take me a lot of time to accurately manage my hired help? Absolutely — but it takes nowhere near as long as it would have taken to learn how to code and I would have had to do all of this planning anyway.
Managing my own project to this level of detail makes me a part of it (I still am the one building it), provides me with plenty of technical growth, and, most importantly, frees up a ton of my time so that I can play to my most tangible strength — sales and marketing. My most important task at the moment is building the proper distribution channels. “If you build it, they will come” is a myth when applied to tech, no matter how good “it” is.
Play to your strengths. Identify your niche within the project and find good partners or hired guns to handle the other tasks. Alternatively, if you do have expertise in coding, I recommend finding some talent in order to build the proper distribution channels so that you don’t build something awesome that no one ever uses.