There are several options when it comes to IoT development. You can hire freelancers, outsource the development or gather your own team. The last option is very time and money consuming, the first one is too risky because you'll need to provide the freelancer with your device for testing, etc. And there is no guarantee that the job will be done on time and as you've expected. To outsource the development is better since it offers perfect price/quality ratio and minimizes the risks.