Job Description & How to Apply Below
Job Description:
Embedded / Software Engineer (Middleware & Equipment Integration)
Employment Type:
Full-time
Reports To:
Engineering Manager / CTO About the Role
We are looking for an Embedded/Software Engineer to design and build a middleware layer that connects our physical equipment to our software platforms. You will own the bridge between hardware and software - reading data from devices, translating protocols, and exposing clean, reliable interfaces (APIs/services) that our applications can consume in real time.
This is a hands-on role: you will work directly with equipment, firmware, drivers, and communication protocols on one side, and with our backend/application teams on the other.
Key Responsibilities- Design, develop, and maintain middleware that interfaces between equipment (sensors, controllers, instruments, machines) and our in-house software systems.
- Ethernet/TCP-IP, and industrial protocols (e.g., Modbus, CAN bus, OPC-UA, MQTT, BACnet - as applicable to our equipment).
- Build and document APIs and services (REST, Web Socket, gRPC, or message queues) that expose equipment data and controls to our software applications.
- Develop data acquisition, buffering, and synchronization logic to ensure reliable, low-latency, loss-tolerant communication.
- Parse and normalize vendor-specific data formats and SDKs into a unified internal data model.
- Handle error recovery, reconnection logic, logging, and health monitoring for connected devices.
- Collaborate with software/backend teams to define integration contracts, and with hardware/field teams to troubleshoot equipment issues.
- Write unit/integration tests, simulators/emulators for equipment, and maintain clear technical documentation. including packaging, updates, and remote diagnostics.
- Bachelor's degree in Computer Science, Computer/Electronics Engineering, or equivalent practical experience.
- 3+ years of experience in embedded systems, device integration, or systems level
- Strong programming skills in C/C++ and/or Python (Go, Rust, or C#/.NET a
- Hands-on experience with at least one hardware communication protocol: SDKs.
- Experience designing or consuming APIs (REST/Web Socket/gRPC) and working with message brokers (MQTT, RabbitMQ, Kafka, or similar).
- Solid understanding of multithreading/concurrency, real-time data handling, and networking fundamentals (TCP/UDP, sockets).
- Proficiency working in Linux environments (shell scripting, systemd services, debugging tools).
- Experience with version control (Git) and CI/CD practices.
- Experience building middleware, gateways, or SCADA/IoT edge software in
- Familiarity with databases (SQL, time-series DBs like InfluxDB/Timescale DB) for equipment data logging.
- Experience with Docker/containerized deployments on edge devices.
- Knowledge of firmware development (STM
32, ESP
32, ARM Cortex) or ability to read firmware code to understand device behavior. - Experience with equipment in [your industry - e.g., medical devices, manufacturing, laboratory instruments, energy].
- Understanding of security for device communication (TLS, certificate
- Month 1-2:
Understand our equipment fleet, existing software stack, and - Month 3-6:
Ship a working middleware MVP connecting priority equipment to our software with documented APIs. - Month 6-12:
Harden the middleware for production (monitoring, error recovery, OTA/update strategy) and onboard additional device types.
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
Search for further Jobs Here:
×