Depends on the product and the stage of your startup. My rule of thumb is to not outsource anything you consider core to your product (and its future updates). I had previously outsourced things like mechanical engineering, firmware development and app development. Simply for cost reasons and because we couldn’t find the right talent at the time. Depending on your product this may be flawed as you and your company will be held hostage to an outside party that is not sitting in your office and that you have little control over. The quality will often also not be on par with what you can deliver in-house.
Early on, I’d recommend to have at least a business co-founder who understands operations, planning, and perhaps UX/UI. Then you will want 1-3 technical co-founders who can manage the hardware and the software engineering (if applicable) of the product. Now the amount of these and whether they need to be co-founders depends on the complexity of your product.
Things like branding (and to some extend graphic design), website, industrial design, accounting, you can but needn’t do in-house in my opinion. For these I believe it’s better to hire agencies that can come in and work closely with you.
With more funding, I’d of course increase the development team wherever you see the greatest bottlenecks within your founding team.
Later on when you get closer to sales you will want to hire some more business and support staff to help you with the marketing and sales of the product.
Martin Kessler @kesslerhk
CMO @ Ambi Labs