Role Overview
We are looking for an experienced Linux Software Engineer to support the development of software for our scanner. This role requires strong expertise in C++ and Python, as well as
experience interfacing with cameras, smart cards, and HID devices. The engineer will contribute to the design and implementation of scanning, image capture, user interface, and peripheral communication functionality.
Key Responsibilities
• Develop and maintain Linux-based software for passport scanning devices
• Implement image acquisition and processing functionality using Video4Linux (V4L2)
• Integrate with Human Interface Devices such as buttons, LEDs, and sensors
• Manage smart card interactions using PCSC
• Design and implement GUI components using GTK
• Optimize performance for real-time image capture and processing
• Troubleshoot hardware/software integration issues in a Linux environment
• Document technical designs, APIs, and user guides
• Collaborate with cross-functional teams including hardware, QA, and support
Required Skills & Experience
• Proficient in C++ and Python development on Linux
• Experience with Video4Linux (V4L2) for camera and image capture
• Knowledge of for user input/output hardware
• Experience using PCSC for smart card communication
• Hands-on experience with OpenCV for image processing and computer vision
• GUI development experience with GTK
• Strong debugging and profiling skills in Linux
• Familiarity with device drivers, USB interfaces, and low-level hardware interactions
• Comfortable using Git and build systems like Make or CMake Public
Desirable Skills & Experience
• Previous experience developing software for ID readers, ID scanners, or similar
embedded devices
• Knowledge of ICAO standards and e-passport technologies (e.g., MRZ, RFID chip access)