SU - Software Developer (Industrial IoT Platform with Arduino-based devices)
Somewhere
Job Description
Role Description
This is a full-time remote role for a skilled Software Developer at a growing U.S.-based company. The Software Developer will be responsible for designing, developing, and maintaining our Industrial IoT (IIoT) platform, with a particular focus on supporting Arduino-based edge devices and other microcontroller-driven solutions. You will play a key role in developing both the cloud/backend systems and the embedded applications that power our connected industrial environments.
This position is ideal for someone passionate about bridging embedded systems with cloud computing in industrial settings.
Qualifications
-
Bachelor’s degree in Computer Science, Electrical Engineering, or related field.
-
3+ years of software development experience, including hands-on work with Arduino-based or similar microcontroller platforms.
-
Proficiency in C/C++ for embedded development and at least one higher-level language like Python, JavaScript, or Go.
-
Familiarity with industrial-grade sensors, actuators, and protocols (Modbus, OPC UA, RS485, etc.).
-
Experience with MQTT, CoAP, RESTful APIs, and message brokers (Kafka, RabbitMQ).
-
Experience integrating with public IoT platforms (AWS, Azure, GCP)
Preferred Qualifications
-
Experience with other MCUs (ESP32, STM32, Particle, Raspberry Pi Pico).
-
Knowledge of low-power sensor networking and battery-operated deployments.
-
Familiarity with CI/CD pipelines for embedded systems (e.g., PlatformIO, GitHub Actions).
-
Understanding of edge computing frameworks (AWS Greengrass, Balena, etc.).
-
Industrial domain experience (manufacturing, energy, agriculture, or logistics).
Soft Skills
-
Strong analytical and problem-solving mindset.
-
Clear and proactive communicator.
-
Comfortable with rapid prototyping and iterative development.
-
Self-driven with a high attention to detail.
Responsibilities
Platform Development and Maintenance
-
Design and develop backend software and APIs that support data ingestion, device management, and analytics for our Industrial Internet of Things (IIoT) platform.
-
Build and maintain edge-to-cloud communication flows, including support for Arduino and other microcontroller devices (e.g., ESP32, STM32).
-
Create and manage Over-The-Air (OTA) update mechanisms for edge devices.
Embedded Software & Device Integration
-
Develop, deploy, and optimize firmware for Arduino-based devices used in industrial applications (sensors, actuators, gateways).
-
Interface with industrial sensors and actuators via analog/digital I/O, I2C, SPI, UART, and protocols like Modbus or CAN.
-
Design robust telemetry and remote control workflows using MQTT, HTTP, or custom protocols from Arduino to cloud.
Cloud & Edge Synchronization
-
Develop cloud connectors and integrations with platforms like AWS IoT Core, Azure IoT Hub, or Google Cloud IoT.
-
Synchronize edge device states, commands, and alerts to cloud dashboards and data pipelines.
-
Implement time-series data storage and visualization using tools like InfluxDB, Grafana, or TimescaleDB.
Security and Reliability -
Implement encryption and secure bootloaders for Arduino-based devices (e.g., TLS with WiFi/BLE modules).
-
Build resilient mechanisms for error recovery, watchdog timers, and remote debugging.
Collaboration and Documentation
-
Collaborate with embedded engineers, OT specialists, and cloud developers for end-to-end IIoT deployment.
-
Maintain clean documentation for hardware-software interfaces, firmware upgrades, and integration workflows.
Compensation
$ 1,700 - $ 2,200 per month, paid in USD depending on experience.
Details
-
Independent contractor agreement paid 2x monthly.
-
Client has a desire for long term commitment.