I'm in early stage for my start up. Now that I have the business idea and plan together I'm ready for it to be built. I'm not a techie to build my app and site. So is it better to hire a cofounder/cto to build the app or pay a company to build it. What are pros and cons of each?
Hi Ayan, I went through this same dilemma many years ago (and technically still going through this). I'm breaking down your question into three possibilities:
CTO/Co-Founder - YES, this is 100% the best way to go. The only problem is finding someone with your same vision and drive for the company your building. Note that a freelance developer and CTO/Co-Founder are NOT the same thing. A CTO will be there from beginning to end, will be willing to negotiate his/her price in exchange for equity and you should still consider letting this equity vest over the course of a few years. Don't give someone 10% just to build an app once at a discount, and then disappear. This happened to me.
Freelance Developer - Over the course of my startup I have hired 4 freelance developers. The problem with [some] Freelancers is that not all of them are very forward thinking. They are here to do a project and then bounce. Some even bounce before the project is done (yes, this happened TWICE to me) to chase that next big client. Twice I was left with terrible and incomplete code. Trying to go after them for the remaining project or returning funds was futile. It would have cost more in legal fees than hiring a new developer to finish the code.
Development Firm - This is now the route I'm looking at. While it costs more money, development firms have repetitional risk they're concerned with. They are less likely to drop your project or develop a bad product bc as a company they have a reputation to maintain. These guys don't want a nasty review on Yelp or the Better Business Bureau, etc.
You probably need to do both. It's imperative that you have a full-stack developer as a partner (for equity since most likely you can't afford one) to help watch over things. This person will already have a good paying job or his own gig. They will be hard to find. There are more elements to developing than you are probably aware....scripting/outlining the app functions, wireframing, graphics, developing, adding api's, determining your stack, implementing the stack and testing. Finally, you need to publish with the stores and market it....website (another development.) If you can do a lot of this work yourself, you can submit it to a variety of overseas shops (assuming you're in the US.) You can get the work done for 10-25% of the cost in the US. There are inherent problems and barriers going this route....you must be very, very explicit in what you want..notice I exaggerated it to make an important point. If not well thought out, you will be adding and changing things frequently which will up your costs. Be prepared to take twice as long and spend twice as much as you think. This will happen regardless of how exacting you are with your requirements. If fairly accurate, some will quote on a lump sum basis..others are time and materials.
I spent three years and $110,000 developing an app, two websites, two CMS and a database hoping to find someone to run with it. This can be another problem. In my case, we had a few young people that were originally partners but as time went on they lost interest. They needed immediate gratification....obviously an MVP, which we are not. It is still a viable product, but needs a CEO to move it forward.
You are certainly at a very exciting time for your idea as you work to bring all that planning to life. I’ve certainly seen this debate a lot in the last 10 years as for the first time real, viable, (and in many cases more efficient) alternatives to internal technical hires are available.
A Co-Founder and CTO is certainly an attractive option in some ways. They share the burden of building the company and if chosen correctly can be a valuable asset in planning and building your app and site. However, it should be remembered that all things in the world adhere to the risk-reward paradigm—the higher the risk, the higher the reward OR the lower the risk, the lower the reward. Make no mistake, having a Co-Founder is like being married—you are together for better or worse. I am particularly fortunate to have an amazing Co-Founder but my experience is uncommon. It is risky to vet a Co-Founder for the depth and strength of relationship needed to run a company with you, and certainly this is all the more challenging when you have little time to make the decision. There is also the added risk of ensuring your new CTO is up to the job and truly has the requisite skills. All in all, a very risky move that can pay off but also hints at the majority of startups that ultimately fail because one of the founders wasn’t truly “in it to win it.”
An increasingly popular alternative is to hire a design and development firm to build your app and site for you. This trend has exploded in recent years as companies have realized that for the cost of a good CTO in salary, equity, or both buys a very talented design/dev firm. The wins of hiring a strong firm are many. As professionals, they deliver your app and site to your specifications. Said another way, your dream comes true, not a compromise of it. A good design/dev firm also has a health bench of talent so instead of a single person (as with a CTO), your project benefits from many great minds all with deep experience building and shipping projects. Delivery is also a considerable win here. A CTO with hopefully the full skill set you will need will spend a great deal of time building your app. By comparison, a professional firm will scope the timeline and cost of your app and site at the very beginning. You will have transparency on an actual delivery date which as anyone will tell you in the startup world is huge! Plus, with so many talented folks all tasked to your project I can just about guarantee that your project will be market launch ready in considerably less time.
I’m not really going to touch on freelancers because in the world of design and development, this option is frequently the costliest in time AND money. Generally, freelancers have consistency issues in sticking with a large-scale project like an app and site. And it can easily sink a startup when a freelancer disappears or fails to deliver. Additionally, with harder to define hourly rates coupled with the slower or inconsistent output, costs tend to inflate quickly and unexpectedly with most freelancers.
In short, there is a reason that so many startups and established companies are turning to quality design/dev firms to build their first or next big idea. You can’t beat having a professional team build your project and all that talent frequently comes in at a bargain (in time and money) when compared to an internal CTO or the inconsistency of freelancers. With a firm you will be riding an increasingly popular wave that is making it easier for entrepreneurs to realize their vision at a significantly higher level of quality without much of the potential downside. I’d be happy to talk with you more about this if that would be helpful.
Hiring a development company is beneficial, and can try to tell you why:-
1. You get all expertise at once place:- You need to acknowledge that app development ain't a single guy job, you need a designer, a developer (or two) for front end, a backend developer and a supervisor to professionally execute the work.
You get this edge while working with an agency, and not with single guy.
2. A pro App team doesn't need to learn many things since they do it everyday, in fact most of the times we've reusable codes for regular things, it helps in making things cost and time effective.
3. You should be hiring (or partnering with) a CTO even when you are outsourcing work, he is the best guy to manage an team of app developers and can get most out of them and ensure things ain't going wrong. It's not only coding where you need a CTO but across many strategic and tactical decisions related to product development, monetization, marketing and what not. The vision to have a CTO is far expanded than what it looks in the begining.
4. Accountability A legally incorporated app company is hard to ditch you, more so if they are around from sometime. We live on our work, we do it "Full time" and not as a part time gig and would never do anything that makes us look unprofessional so far as we are in senses. :)
5. Easy to scale-up/ plug out You don't need to commit an year's salary to an app company, you build a product, launch, test waters. If success, then continue, else you know what I mean. Easy it is, believe me. Also, you can take professional handover from such company whenever you build your inhouse team (we never mind that I know).
We App development companies exist for a reason, and that's a real one. And yes, we don't ask you to write a review on yelp. :)
There are a number of things to consider when hiring an app development company. The short list:
I think it all comes down to experience, risk and of course dollars. If you've got significant (millions) in investment, and you've done this before, you put together an executive team with the contacts you've made over the years, filling the CTO to lead the tech team. This person will not be programming - most importantly, they'll know how to find and hire the right people with the right experience and they can can align business needs with development focus.
Assuming, your budget is much lower - say self, or angel funding of $200K, half of which you'll put towards technology. In a perfect world, you'd find a full-stack developer capable of developing your backend, and your web or mobile apps... Of course they'd be designers too and be trained and passionate about UX. They'd have enough development experience to be dangerous, but not enough that they'd be afraid of the realities startup life brings. They'd work for $60K plus equity, and with other indirect costs you'll stay under budget the first year... Now, it's not to say that diamond-in-the-rough doesn't exist, but without solid referrals, direct technology understanding and experience, - and still - a hell of a lot of luck, you're walking a very fine line. And then you're hoping just one person can pull this together without the support of a team around her or him. Now I've seen this happen, but it will take much longer than you expect.
The other option is to hire a team...
Go offshore, and although the price-tag looks fantastic, you'll need to be ready to hand-hold at every stage, and that one month will turn into two, and three, and four. If you turn away for a second you're in trouble. When you do decide you've had enough, and costs have spiraled, with no-end in sight, you're gonna have a really hard time with anyone back here you hope to hire later to pick up the pieces. Again, overseas outsourcing can work out very well, but it is vital that someone on your end is managing the product, and the project closely, and attentively. I've seen this experiment go badly time and time again, so apologies to any good outsourcing firms.
you really have to consider carefully before picking one. There are few points you should check while finding the right company for your needs:
1. Don’t hesitate to ask questions which are really important to you. As well as communication. Client communication is really important, literally for any software development company. So solution provider should understand all your needs, and should be able to contact you freely when needed.
2. Check on software company experience, technical skills and portfolio. Another really important step. For how long is this company operating? Can they show you some samples of code, or completed projects, or working applications that are being used? That will help you to understand user experience, business model and technology.
3. Check the price. Find the right company and check the cost of work so you afford their services. There is always a chance of lowering their rate of services if you have a very good negotiator with you. Do not forget to look for hidden or additional costs in the contract.
4. Reputation and feedback.The testimonials on their website are unlikely to list their faults, but could give you an idea of the size of their fanbase. An established company of several years’ existence should have a reasonable record of past projects. If they haven’t, you should be asking why?You can always check some good rating lists for companies https://www.ibm.com/developerworks/community/blogs/32a1ed73-f18f-428f-9c75-0eb2dfdcd50a/entry/Top_custom_software_development_companies?lang=en as an example, those will help you to find a company serving your needs as well.
When the MVP is simple to code then get a CTO to do it.
When its complex and costly, then get a CTO who pays money and other doers who also pay money. Dont get people who dont contribute with money. Then choose out of 100 companies based in India and Ukraine the best one to develop it after you approached all of them. Your research the portfolio and check if there is something similar to your app. You talk with 10 of them in a Skype call, where you explain them the wireframes that you designed via Screensharing. You contact former clients of them and ask them how it was. Finally you make a contract where you pay only after you have seen the working functionality and where possible the most complex features are developed in the first milestone and the least complex features in the end. Also the least money should be paid in the beginning for the complex features and the most money in the end for the simple features so that the company has the motivation to finish the project.
I believe the whole "CTO" model doesn't work. It is too long to hire someone, who has little incentive in joining your business and who will cost you a lot upfront whether in cash or equity.
I suggest you identify experts who are currently working / freelancers to define exactly what you need, architecture, etc. and pay them to draft a clear specification.
This specification needs to be broken down into clearly defined and independent parts, which you can assign to different developers : freelancers (upwork), agency, etc to build your MVP at an optimal cost, while having no single point of failure (as you would with a "CTO").
Get different quotes, ask questions, refine your specification with people's inputs and get going with dev.
You can hire one of the "experts" you identified to lead the integration.
Once you have your MVP, you can put it in the hands of your customers, as suggested by others and try and gain traction.
With an MVP and traction, eventually revenue, you can go out and raise cash to hire a CTO on his/her terms, to whom you can give some equity, but nothing like what you would have given up pre-MVP + traction.
You may need to rebuild things from the ground up if your vision becomes more ambitious than your MVP, but the point of an MVP is to test your market and gain insights into it anyway.
Also, I would strongly suggest you spend some time skim over some MOOC / tutorials on app development so you get a rough idea about what is involved in the process.
I hope you are doing fine.
Think simple: Is this app / website your core business proccess or will it only support and optimize your operation?
Another question to assist you: Would it make sense for the spotify (for eg.) To outsource the development of spotify?
You see? If your system / app is your golden key, hire a software developer (probably offer him a minor society) and make sure to have a fair and safe contract in hands. (Never underestimate the value of a good lawyer's assistance).
If not, if the app will only assist you on collecting information and you have a specific product or service behind it, hire a company stead.
I really don't recommend to use freelancer developers, most of them have their own priorities, they will probably not focus on your project and you will probably have deadline's issues.
That's what I put on perspective to decide for my yellow brick road.
Hope to have helped.
Best of luck!