IoT Software Engineer (Freelance)
Job Description
We are seeking an experienced IoT Software Engineer to join our team, working across two core disciplines: Linux-based operating system development for edge devices and Azure IoT Edge application development. This role sits at the intersection of embedded systems, cloud-connected software, and cybersecurity. You will be key in hardening our custom Linux OS and applications for IoT deployments, building and maintaining cloud-connected edge software, and driving compliance with emerging cybersecurity regulations including the Cyber Resilience Act (CRA) and NIS2 Directive.
Responsibilities:
- Develop, maintain, and harden a custom Linux-based operating system (Ubuntu) for IoT edge devices.
- Build automated OS image CI/CD pipelines and manage system services, networking, and boot processes.
- Implement OS-level security controls including secure boot, disk encryption, firewall rules, and certificate management.
- Manage device provisioning and lifecycle using Azure Device Provisioning Service (DPS).
- Execute global-scale OS rollouts and manage the security update lifecycle.
- Develop various Azure IoT Edge modules in C#
- Build machine connectors for telemetry ingestion and predictive maintenance.
- Write automated tests and technical documentation.
- Integrate devices with Azure IoT Hub and Device Update for IoT Hub.
- Maintain container-based workloads and troubleshoot production issues.
- Support NIS2 and CRA compliance activities.
- Perform threat modelling, security reviews, and vulnerability remediation.
- Maintain logging, monitoring, and compliance documentation.
About You:
- Bachelor degree or a Master degree in computer science or related field.
- 5+ years’ experience in IoT or embedded Linux software engineering.
- Strong proficiency in C#. C++/Python a bonus.
- Microsoft Azure IoT Edge and Docker experience.
- Strong Linux system administration skills
- Experience using LLMs for software development
- Excellent interpersonal and cross-team communication skills.
- Excellent written and spoken English.
- Curiosity, willingness to learn, and motivation to help shape TOMRA’s digital capabilities.
Other Skills
- Experience with NIS2, CRA, or IEC 62443
- Excellent technical problem-solving, troubleshooting, and follow-up skills.
- Ability to cooperate with multiple R&D teams in Europe and New Zealand.
- Organized, detail-oriented and able to break-down work.
- Self-motivated and disciplined.
- Willingness to travel internationally to support new digital solutions and/or new applications (<10%).