Senior Software Engineer C++
Since our founding, IDEMIA has been on a mission to unlock the world and make it safer through our cutting-edge identity technologies. Our technology leadership makes us the partner of choice for hundreds of governments and thousands of enterprises in over 180 countries, including some of the biggest and most influential brands in the world. In applying our unique expertise in biometrics and cryptography, we enable our clients to unlock simpler and safer ways to pay, connect, access, identify, travel and protect public places – at scale and in total security.
Our teams work from 5 continents and speak 100+ different languages. We strongly believe that our diversity is a key driver of innovation and performance.
Purpose
Key Missions
Job Overview: We are seeking a skilled Software Developer proficient in C/C++. Good to have Java, C# but not mandate, and Android development. The ideal candidate will be responsible for coding, debugging, executing non-regression tests, and adding new tests during feature development.
Skills required
Experience: 4-8 years
C Programming: Mandate
• Experience with low-level C programming.
• Driver development for Windows, Linux (Libusb), and Android.
• Ability to write driver services and unit tests.
C++ Programming: Mandate
• Proficient with C++20 features (Threads, Mutexes, Futures, Promises).
• Experience with Boost Libraries and writing unit tests using Parasoft.
• Familiar with compiling on Win32 and mixed platforms.
Java Programming: Good to have not mandate
• Strong knowledge of Java programming and JNI interface.
• Experience with Swig libraries and JUnit for unit testing.
C# Programming: Good to have not mandate
• Advanced knowledge of C# (Events, Delegates, Mutexes).
• Ability to develop.NET applications and write unit tests using Parasoft
Android Development: Good to have not mandate
• Experience with Android API 34 and Android Studio.
• Knowledge of Gradle and unit testing Android applications (.apk).
Platform Experience: Mandate any one skill
• Windows: Proficient with MSVC and Windows 10.
• Linux: Familiar with Ubuntu/Fedora and compiling with GNUC.
• Android: Experience with NDK and Android packaging.
General Skills: Good to have not mandate
• Experience with design patterns, GIT/SVN, Jenkins, Maven, and Powershell scripting.
• Optimization of workflows, memory, and multi-thread development.
• Knowledge of USB drivers (libusb, winusb), protocols (bulk, isochronous), and real-time development.
• Proficient in using OS features like scheduling, thread synchronization (semaphore, mutex).
Key Responsibilities:
• Develop and debug code using C/C++ and other technologies.
• Analyze and resolve bugs in existing systems.
• Execute non-regression tests and enhance test suites during feature development.
• Document features, bugs, and test results as required.
Profile & Other Information
By choosing to work at IDEMIA, you will join a unique tech company, offering a wide range of growth opportunities. You will contribute to a safer world, collaborating with an international and global community. We value the diversity of our teams and welcome people from all walks of life, regardless of how they look, where they come from, who they love, or what they think.
We deliver cutting edge, future proof innovation that reach the highest technological standards and we’re transforming, fast, to stay a leader in a world that’s changing fast, too.
At IDEMIA, people can develop their expertise and feel a sense of ownership and empowerment, in a global environment, as part of a company with the ambition and the ability to change the world.
Visit our website to know more about the leader in Identity Technologies