Contract length: 200 days remote + 20 days onsite per year (onsite in Strasbourg, France)
ASAP start
The profile is a Senior C++ / Computer Vision Engineer to develop and maintain software components for biometric applications, including image quality assessment and biometric data validation.
The role covers the full development lifecycle, from technical design and algorithm integration to testing, optimisation and release, working closely with the domain specialists.
Key responsibilities
- Develop robust, modular and reusable software components in C++.
- Integrate and adapt open-source, third-party and internally developed image processing and biometric algorithms.
- Translate technical specifications and research prototypes into maintainable production software.
- Develop libraries, APIs and integration components for different platforms and applications.
- Implement data parsing, validation and error handling.
- Optimise execution time, memory usage and concurrent processing.
- Develop automated tests, investigate defects and support system integration.
- Participate in code reviews and maintain technical and integration documentation.
Essential knowledge and experience
- Strong professional experience (6+ years) developing and maintaining modern C++ software.
- Solid understanding of memory management, concurrency, debugging and performance optimisation.
- Practical experience in computer vision or image processing.
- Experience developing reusable libraries and APIs and integrating external dependencies.
- Experience with cross-platform development and build automation.
- Strong software engineering practices, including automated testing, version control and code reviews.
Tools and working practices
- Modern C++, CMake and relevant compiler and debugging toolchains.
- OpenCV or equivalent image processing libraries.
- Git-based collaboration workflows, preferably GitHub.
- Profiling, memory analysis and static analysis tools.
- Continuous integration pipelines and automated testing frameworks.
- Jira and Confluence, or equivalent tools.
- Biometric quality assessment, feature extraction or recognition algorithms.
- Integration of machine learning models into C++ applications.
- Python for prototyping, evaluation and test automation.
- Native library integration with Java, Android or iOS.
- Binary data formats, parsers and validation engines.
- Secure coding and robust processing of malformed or untrusted inputs.
- Experience with biometric image quality assessment libraries, particularly NFIQ2 and OFIQ