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.
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. :)
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.
There are a number of things to consider when hiring an app development company. The short list:
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 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.
If you don't know exactly what you want, start by drawing out EVERY screen on paper, and explode out all of the options. Put into powerpoint/or similar and link every option of the flow, and story board each type of user. No CTO, dev, or dev company will want to work with you without these wireframes ... then you can consider:
Directly hire software developer PROS: directly responsible to you/responsiveness, can educate you on the decisions along the way, if you can get good talent/and have product and project management skill, then can get a terrific result because you can build, test, polish. build test polish, until you are happy with the result. takes more management time than an outsider would think, but you'll thoroughly understand what you built and why.
Directly hire software developer CONS: one hire typically does not have all of the technical skills necessary, so you will have to hire several. they might be distracted with their own project or other billable projects. if you have never product or project managed--you are part of the experiment then on your own dime. Very hard to find and hire for short term projects, if you haven't fired someone before and understand what you are hiring for, how to communicate expectations, and motivate the team. will take longer than a dev company that can immediately put the force of a team on it. Not something a first-time startup ceo should attempt out of the gate, unless you have a personal relationship where the talent is invested and focused.
Pay a dev company PRO: fast, have on staff or the relationships with all the required tech skill you need, they know landmines, and put experience to work. they also know how to hack together the fastest MVP with their wide skillset.
Pay a dev company CON: need to spec whole project at beginning, you need to write specs at outset, and any deviation will cost you because the dev company lines up the talent, and plans their sprints accordingly. tends to appear more expensive because they put all the costs into the project, including some management time, and profit. A good dev company will save you time, and money because they will use components, libraries, frameworks, templates, github opensource stuff, etc to get your MVP as fast/cheap as possible, and want to build your 2.0 after you get funding with your MVP.
If you know exactly what you need, I would recommend a dev company that agrees to do light product support through your testing. Learn as much as you can as you work with this team, and ask for their recommendation in what skills you need to support your project. Unless you have a personal relationship, it's pretty hard to get a high caliber CTO or any talented developer that will work for just equity, or just an idea. I personally tried the cheap route and use low cost programmers, and have driven myself crazy. I ended up finding a USA based dev company that does the project management (I am product manager) and uses cheaper labor for parts of the heavy coding to get the best bang for the buck, and fasted combo.
--> Get your MVP out fast with a dev company. Use it as an opportunity to learn. Then, hire direct talent as you can afford, and know what you need.
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!