When you work with electronics, firmware development is the key piece of software and it is very beneficial to have your own engineering team working on it.
Firmware development can be split into two parts: writing code that runs the business logic and controls the electric circuit of the device and code that manages the connectivity and data transfer to/from the cloud.
An average annual salary of a firmware engineer (C++) in the US ranges from $90,000 to $145,000 per year according to Glassdoor
. Ideally, you want an electrical engineer who is capable of writing firmware.
You would also need resources to test the firmware. Count in another QA specialist or trust your engineers :).
An important element to consider is integrating firmware over-the-air updates (OTA or FOTA) from the very beginning. It can mitigate a lot of issues, but can also create a lot of trouble when executed poorly.
FOTA technology allows manufacturers to remotely install new software, release patches and bug fixes, or update features and services after the device has been deployed to the jobsite, home, or office. FOTA involves recurring costs mostly on the Cloud side. Often this functionality is covered by IoT platforms.
In a long-term perspective, as with any other software development, expect fixing bugs, releasing new versions, dealing with memory leaks, providing technical support, etc. The major ongoing expenses you would face are human resources to perform all of these tasks.
Once your company collects enough data for analysis, another piece could become important: optimized ML models that can run on the device. For such development you would need a data scientist familiar with embedded tech experience.
Salary of Data Scientist: