This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
The Senior Software Engineer is responsible for developing, maintaining, and enhancing the software on embedded Linux-based devices, including RFID readers and edge computing platforms. This role is ideal for candidates who thrive in a cross-functional environment, demonstrate strong ownership of their technical domain, and are passionate about building robust device software that seamlessly integrates hardware and cloud solutions.
Job Responsibility:
Develop and maintain Linux-based services, microservices, and system components (primarily using Python, Bash, or other scripting languages)
Design and implement REST APIs for microservices, device UIs, and Azure cloud integrations
Collaborate with firmware engineering teams to define and consume hardware-level interfaces (RFID, GPIO, drivers, etc.)
Enhance telemetry, logging, diagnostics, and observability to facilitate support for QA and Field Service teams
Write unit, integration, and system-level tests suited for embedded environments
Conduct peer code reviews, ensuring code quality, maintainability, and adherence to security and architectural standards
Document APIs, service behavior, package flows, upgrade procedures, and troubleshooting guides
Contribute to design discussions, evaluate technology stack choices, and champion improvements for performance, reliability, and architecture
Stay current with Linux, networking, packaging technologies, RFID standards, and cloud-integration approaches
Partner with QA to review test plans, validate regressions, and resolve field or production issues
Support operations and manufacturing teams by ensuring reliable flows for device provisioning, configuration, and upgrades
Mentor entry level engineers and help develop team skillsets
Demonstrate readiness to learn new frameworks, languages, and platforms as the technology evolves
Requirements:
Bachelor’s or Master’s degree in Computer Science (or related)
Equivalent experience with demonstrated software engineering roles may be accepted
8+ years of software engineering industry experience, with at least 3 years in a senior-level role
Strong Linux experience, including system services, networking, permissions, and shell tools
Solid background in developing microservices, service orchestration, REST APIs, and cloud integrations
Proficient in Python, or willingness to ramp up quickly
Front-end development experience using React
Familiarity with systemd, service orchestration, and Git or equivalent version control
Hands-on experience with software updates, OTA, commissioning, remote device management, and telemetry
Deep understanding of unit, integration, and E2E testing for embedded systems
Ability and drive to troubleshoot complex hardware, software, and system-level interactions
Openness and aptitude for learning new programming languages, tools, and frameworks
Nice to have:
2+ years of direct experience with embedded software engineering
Exposure to Rust and/or Go
Experience with RFID systems, IoT, sensor integration, or field-deployed devices
Azure cloud integration experience
working knowledge of MQTT, Linux networking, reverse proxies (e.g., Traefik)
Familiarity with DevSecOps, CI/CD (GitHub Actions, Azure Pipelines), and automated testing
Experience navigating compliance or regulated product environments