A common question I get from non-technical founders is whether to outsource development of their product, or hire a full time developer.
There's several factors at play here - I'll break them down, along with how each one contributes to the outsource vs. hire decision:
It's easy to fall into the trap of thinking that your app or business idea isn't "real" until you've hired developers, built out a team, and shipped a product.
In reality, you can do a lot before ever paying a penny for software development - in house or otherwise.
If you are just starting out, outsource vs. hire is the wrong question to be asking. The right question is: how do I figure out whether this idea is worth pursuing? The vast majority of the time, this question can be answered without any coding.
For example, one founder I worked with was trying to build a kind of Carfax for specialized industrial equipment. He had various data sources he was planning on using to build out reports on the history of a given piece of equipment that would help inform buying decisions. He came to me asking about where he could hire developers.
My response? Don't.
Start small. You don't need custom software for this - just sell the reports one-off, and fulfill orders by hand. See if you can sell 10, 20, 100 reports and compile all the information manually.
This does two things:
So - if you haven't validated the idea, don't jump the gun. Focus on what you can test first, and only once you've reached your threshold of confidence in the concept can you continue on to building.
If your product's implementation is what separates you from your competition - whether that's a great user experience, a truly novel technology, a wide range of compatibility, or something else - then hiring in-house might be a better approach.
You'll want to build up that kind of team knowledge in-house, rather than trying to bring a potentially rotating roster of contractors or agencies up to speed each time a new feature needs to ship. Building that tribal knowledge in-house will ensure that any moat you dig stays your own.
On the other hand, if you differentiate yourself by something other than product implementation - maybe through network effects, fantastic customer support, or a novel sales strategy - then outsourcing might work quite well. If one implementation of your product is interchangeable for another, then the flexibility and scalability an outsourced development team offers can be appealing.