R&D Decoding Software Application Engineer
Descrizione della posizione
The Decoding Software team is responsible for research, development and maintenance for the main software asset of Datalogic: our “Decoding-Library”. It is a suite of proprietary algorithms to read traditional barcodes, 2D codes and some kind of OCR text. Pictures of codes and text are captured by cameras and their resolution, contrast, SNR, background clutter and other image‑quality parameters strongly depend on specific use case.
The images are processed by edge‑computing platform embedded into Datalogic scanners.
We are looking for a proactive and technically skilled Software Application Engineer to join our Decoding Software Team. You will become part of a growing group responsible for ensuring software quality of our “Decoding-Library”. You will play a crucial role in supporting business units across various platforms and tools and managing software releases, maintaining CI/CD infrastructure. This is a dynamic, hands‑on role with close collaboration across R&D, DevOps, and technical support teams.
Key Responsibilities
Business Units Support
Technical Collaboration & Issue Resolution
- Interact with Technical Support and R&D teams of our Business Units
- Assist BU technical support teams during field issue analysis
- Help determine whether issues originate from the decoding library or the application software
- Conduct preliminary analysis of requests and defect reports
- Attempt first‑level issue resolution via library configuration
- Manage and track issues through our lifecycle management tool
- Support deployment of new library features and patches
Application Integration
- Support Business Units during the integration of new libraries into their applications
- Troubleshoot integration issues in collaboration with Business Units teams
- Identify potential integration challenges and propose improvements to enhance the usability and quality of the software library
Decoding Software Team Activities
Release Process Management
- Maintain and improve the library release process (Python‑based scripting)
- Handle lifecycle management tools
- Draft and review release notes and integration documentation
- Handle merge requests from release to development branches
Test Farm Maintenance & Expansion
- Manage and improve a test infrastructure composed of Linux/Windows servers and embedded Linux devices for performance and regression test.
- Ensure device boards are operational and integrate new hardware into the CI system for testing
- Use the library’s CI/CD system based on technologies such as:
- Docker, Jenkins, JFrog, Network Filesystems
- Static analysis tools (clang, cppcheck)
- Dynamic analysis tools (Valgrind)
- Develop optimized build scripts and perform validation tests on evaluation boards
- Support development of a unified testing framework
Requirements
Education: Bachelor’s and/or Master’s Degree in Computer/Electronic Engineering or Computer Science or equivalent fieldLanguages: Italian and English (intermediate or better level)
Experience: more than eight years of hands‑on experience in SW engineering
Technical knowledge:
- Experience with embedded Linux or Android development environments
- Hands on experience on Linux Shell and Windows Batch scripting
- Familiarity with CI/CD pipelines, DevOps tools, and automated testing
- Ability to work collaboratively across technical and non‑technical teams
- Proficiency in Python, C++, and/or C# is a plus
- Good knowledge of Git versioning system
- Previous experience with IBM Jazz, Jenkins, Docker, or static/dynamic analysis tools is a highly preferred
- Strong problem‑solving skills and attention to detail
- Ability to work both in team and autonomously
- Ability to both communicate, actively listen and interpret technical concepts
- Resilience and ability to work in a fast‑paced environment
- Ability to work hard in a team setting to meet tight schedules
¿Te interesa este puesto?