Anyone trying to build a business around a tech app is faced with a decision to make, should they try to code their app (or parts of it) themselves or should they hire or partner up with someone else to take care of all the underlying technical stuff.
A lot of the business-centric advice out there claims that a good founder should not have to know anything about the underlying technology stack (the layers of code that make up the application) and can partner with others to do that work for them.
What they fail to understand:
- Knowing how to code helps the founder find, pitch and manage good developers.
- Anyone with any programming talent is constantly getting offers from established companies and if they haven’t taken an offer yet, it’s because they are working on their own project. So why would anyone in his right mind code an entire application for the founder without having any stake or equity in the product? Why would they give someone else 50% ownership of a product that won’t exist unless they build it?
- From a programmer’s point of view, having someone who’s not technical is a liability, not a benefit.
At this point, you may be thinking:
What if I just pay someone right from the start to build my app for me?
Here are some problems:
- Software is very difficult to estimate, especially if you don’t come from a software/tech background. You will always be thinking: “Did I pay too much for feature X?” Knowing what is actually possible/feasible to build out of a possible solution will be tough.
- You will not be happy with the process. Individual developers can easily stall your development process if they are not happy.
- You will get something that you don’t want.
- You will pay too much. This is the best-case scenario and why consultancy companies that build apps, take on other businesses as clients and not individuals. Anyone who’s been involved with building software is too familiar with the problem of Scope Creep. Especially from individuals who don’t want to pay much. They are not worth the time to take on as clients from a developer’s point of view.
So what should you do?
If you are bootstrapping your business, the best approach would be to get involved in coding your beta version, then think of hiring others after you’ve gained some traction. This way you also understand the foundational structure of your app and this will help you be more in control in the later stages. You will also be more attractive to the technical partners that will initially work with you.
How long it will take to learn how to code?
It can take up to ~6 months to get to a level that is good enough to hack together a prototype. It’s important to be clear on this distinction.
That the goal is not about becoming the lead developer for your product. It’s about being able to build the prototype.
And then finding someone to take over once you’re able to bring on a bigger team, raise money, do whatever you need to do. Knowing how to code, lets you pitch and manage the technical people that you will hire down the road. You know what you’re asking people to do. You know what you’re asking them to build.
Because you can talk in their language. This is expected in today’s startup scene. It’s very rare to find a CEO of a successful startup who is a technical illiterate. And you can certainly gain extra mileage if you can take on the first few steps on your own.
We used to think that technical people would gravitate towards non-technical founders if they are able to raise capital to fund the startup. However, that turns out to not be so true today. It’s important to note that for non-technical founders, what attracts technical people to work with them is their ability to get the first critical mass of the user base (not their ability to raise cash). That’s a very surprising result but it makes sense, as the cost to start something has gone down dramatically and technical people can in most cases figure out how to get the cash to start on their own.
Andrew Chen’s post about the number one trait in a founder of a tech startup hits the nail on its head.
The Sweet Spot
So now we arrive at a turning point in technology where it is possible and affordable for someone with a good idea to build software, deploy it, launch it and host it in the cloud as a service-based business.
And there are many people out there with amazing ideas for apps who come from nontechnical backgrounds.
Set your expectations straight. Learning how to code is not the same as how to be a Software Engineer. Dennis Crowley, founder of FourSquare self-taught himself how to hack together a prototype. My goal is to be able to build an MVP.
What I think is important to learn as someone venturing into the tech world trying to build a web-based software application:
Marketing concepts. Growth hacking. Product launches. Coding skills that are good enough to hack or build an MVP (i.e. prototype). You can be a bad programmer, but you’ll know enough to hack together a prototype. If you get stuck look for someone to help.
The important thing is to get started then keep moving forward figuring out how to resolve every obstacle along the way.