Algorithm Engineer
OverviewAs part of the Decoding Software team, you will contribute to the design and development of the software library that reads barcodes and OCR text on edge devices. You will advance multi-threaded signal and image processing components across diverse edge platforms, from CPUs to accelerators, while integrating ML-driven decoding methods. You will help improve usability and performance to maintain leadership in decoding solutions. This role offers hands-on work on cutting-edge computer-vision and ML techniques within a scalable, cross-platform architecture.
Responsabilità
Design and develop multi-threaded signal/image processing libraries for edge platforms with varying CPU architectures and OSDevelop new software components following SQA best practicesResearch and integrate next-generation decoding algorithms based on ML and traditional CVIntegrate ML-based algorithms into the existing Decoding-Library architecture (1D/2D codes)Improve ease-of-use and performance of the Decoding-Library to support product leadershipMaintain released versions via debugging, analysis,
and defect fixingMigrate to an Agile delivery approach enabling autonomous builds/releases and CI/CD integrationCollaborate across cross-functional teams to optimize decoding pipelinesContribute to ongoing platform optimization for different hardware accelerators (CPU, GPU, FPGA, SIMD)
Requisiti fondamentali
Master’s Degree in Computer or Electronic Engineering or Mathematics or PhysicsItalian and English (intermediate or better)Strong knowledge of C/C++Hands-on debugging, profiling, and code analysisExperience in analysis, understanding, and optimization/refactoring of existing codeExperience in design of signal/image-processing algorithmsExperience in image-processing acceleration (OpenMP, FPGAs, GPUs, SIMD, NN inference accelerators) preferredKnowledge of DevOps tools (Git, Docker, Jenkins) and CI/CD principles preferredC/C++ programmingdebugging and profilingsignal/image-processing algorithm designimage-processing acceleration (OpenMP, FPGAs, GPUs, SIMD)Neural Network Inference acceleratorsDevOps tools (Git, Docker, Jenkins)
Responsabilità
Design and develop multi-threaded signal/image processing libraries for edge platforms with varying CPU architectures and OSDevelop new software components following SQA best practicesResearch and integrate next-generation decoding algorithms based on ML and traditional CVIntegrate ML-based algorithms into the existing Decoding-Library architecture (1D/2D codes)Improve ease-of-use and performance of the Decoding-Library to support product leadershipMaintain released versions via debugging, analysis,
and defect fixingMigrate to an Agile delivery approach enabling autonomous builds/releases and CI/CD integrationCollaborate across cross-functional teams to optimize decoding pipelinesContribute to ongoing platform optimization for different hardware accelerators (CPU, GPU, FPGA, SIMD)
Requisiti fondamentali
Master’s Degree in Computer or Electronic Engineering or Mathematics or PhysicsItalian and English (intermediate or better)Strong knowledge of C/C++Hands-on debugging, profiling, and code analysisExperience in analysis, understanding, and optimization/refactoring of existing codeExperience in design of signal/image-processing algorithmsExperience in image-processing acceleration (OpenMP, FPGAs, GPUs, SIMD, NN inference accelerators) preferredKnowledge of DevOps tools (Git, Docker, Jenkins) and CI/CD principles preferredC/C++ programmingdebugging and profilingsignal/image-processing algorithm designimage-processing acceleration (OpenMP, FPGAs, GPUs, SIMD)Neural Network Inference acceleratorsDevOps tools (Git, Docker, Jenkins)