I've enjoyed working on this software partially because the whole team is good to collaborate with but also because I've really had a lot of opportunities to exercise diverse skills.
By nature, Internet of Things software must deal with moving data between different types of devices, and that tends to mean having code in several different languages working together. Because of this I have found myself coding in seven languages on five platforms as my role expanded from maintaining a peripheral component to maintaining the core.
Besides all of this programming I have also had occassion to use skills I previously picked up doing system administration and server support as well as others.
I needed to switch quickly between working on software that runs on iPads and software that runs on devices out in the field so I used crosstool-NG to make a cross-compiler. This compiler now allows Rasperry Pi software to be compiled directly from macOS.
The operating software running on those devices out in the field needed to be documented and standardized so I produced an unattended install recipe with PiBakery.
These devices in the field need to be monitored and kept in service, so I wrote a custom Nagios plugin and deployed a monitoring system that reports failures conveniently into a Slack channel.
Cordova, JNI / Android NDK, Angular, Ionic, Flask, SQLAlchemy, Raspbian, CuTest
PiBakery, crosstool-NG, Nagios, Vim, XCode, CMake, Arduino IDE, Android Studio