About ValPayValPay is an embedded payment solution that allows you to onboard merchants, process transactions, and effortlessly optimize your revenue—without the burden of managing underwriting, compliance, and regulatory complexities that come with being a PayFac. Our PayFac-as-a-Service model gives you all the benefits of integrated payments while we handle the heavy lifting.
About the RoleValpay is seeking an experienced C++ and Java Developer to join our agile development team. This role involves working on industry-standard payment devices from Ingenico and Verifone, delivering robust, secure, and high-performance embedded software solutions as well as contributing to our backend solution. Our team specializes in providing cutting-edge payment technology services and solutions, ensuring seamless transaction processing for our customers.
If you are passionate about embedded development, payment technologies, agile methodologies, and thrive in a collaborative and fast-paced environment, we invite you to apply.
What You'll Do
- Develop and optimize embedded software for payment devices, ensuring security, performance, and reliability.
- Implement and maintain integrations with JSON-based platform APIs and 3rd-party APIs.
- Design, develop, and debug C/C++ applications for payment terminals and related devices.
- Collaborate with cross-functional teams to define requirements, enhance system performance, and troubleshoot production issues.
- Contribute to best practices for development methodologies, coding standards, and system architecture.
- Ensure compliance with security standards (PCI DSS) and industry regulations.
- Utilize source control systems to maintain code quality and track software changes.
- Comfortable with tools and practices related to the Software Delivery Life Cycle (SDLC)
- Write and maintain technical documentation to support development efforts.
- Participate in code reviews, agile sprint planning, and daily stand-up meetings.
What You Bring
- Strong C/C++/Java programming skills, with experience in embedded systems development in C/C++.
- Proficiency with GNU and Microsoft Make for build automation.
- Experience in Windows Embedded C/C++ Development, using Visual Studio.
- Hands-on experience with Linux GNU C/C++ compilers and make tools.
- Familiarity with Rocky Linux (replacing CentOS 7) for payment application development.
- Experience with XML/JSON APIs and integration with 3rd-party services.
- Experience with backend microservices developed in Java with Spring Boot
- Experience with applications hosted in the cloud (GCP, AWS, ...)
- Basic SQL skills, preferably using MariaDB and MySQL, and also No-SQL database like MongoDB
- Familiarity with scripting languages, including Windows CLI (.bat scripting) and Linux Bash.
- Experience with JIRA and Confluence for tasks, issue tracking and documentation.
- Strong debugging and testing skills to ensure software reliability.
- Experience with source control systems (e.g., GitLab, Github, ...).
- Ability to work independently with minimal supervision while collaborating effectively in a team setting.
- Strong written and verbal communication skills to document and present technical concepts.
- Experience with efficient troubleshooting of production incidents using modern observability platforms (Datadog, New Relic, ...)
- Fluent in English and French
Bonus Points For
- Experience in the payment industry, including payment processing applications, certification and PCI compliance.
- Knowledge of embedded device security and encryption standards.
- Familiarity with OpenSSL, Boost, or other relevant C++ libraries.
- Understanding of real-time operating systems (RTOS) for embedded systems.
- Cloud-based API integration experience (AWS, Azure, etc.).
- Experience working in an Agile/Scrum environment.
-----------------------------------------------------------------------------------------------------------------
A propos de ValPay
ValPay est une solution de paiement intégrée qui vous permet d'intégrer des commerçants, de traiter des transactions et d'optimiser vos revenus sans effort, sans avoir à gérer la souscription, la conformité et les complexités réglementaires qui vont de pair avec un PayFac. Notre modèle PayFac-as-a-Service vous offre tous les avantages des paiements intégrés, tandis que nous nous chargeons des tâches les plus lourdes.
A propos du poste
Valpay est à la recherche d'un développeur C++ et Java expérimenté pour rejoindre notre équipe de développement agile. Ce poste implique de travailler sur des appareils de paiement standards d'Ingenico et de Verifone, de fournir des solutions logicielles embarquées robustes, sécurisées et performantes, ainsi que de contribuer à notre solution backend. Notre équipe est spécialisée dans la fourniture de services et de solutions de pointe en matière de technologie de paiement, garantissant à nos clients un traitement transparent des transactions.
Si vous êtes passionné par le développement embarqué, les technologies de paiement, les méthodologies agiles, et que vous vous épanouissez dans un environnement collaboratif et rapide, nous vous invitons à postuler.
Ce que vous ferez
- Développer et optimiser les logiciels intégrés pour les dispositifs de paiement, en assurant la sécurité, la performance et la fiabilité.
- Mettre en œuvre et maintenir les intégrations avec les API de la plateforme basées sur JSON et les API de tierces parties.
- Concevoir, développer et déboguer des applications C/C++ pour les terminaux de paiement et les dispositifs connexes.
- Collaborer avec des équipes interfonctionnelles pour définir les besoins, améliorer les performances du système et résoudre les problèmes de production.
- Contribuer aux meilleures pratiques en matière de méthodologies de développement, de normes de codage et d'architecture du système.
- Veiller au respect des normes de sécurité (PCI DSS) et des réglementations sectorielles.
- Utiliser les systèmes de contrôle des sources pour maintenir la qualité du code et suivre les modifications apportées au logiciel.
- Être à l'aise avec les outils et les pratiques liés au cycle de vie de la livraison du logiciel (SDLC)
- Rédiger et maintenir la documentation technique pour soutenir les efforts de développement.
- Participer aux revues de code, à la planification des sprints agiles et aux réunions quotidiennes.
Ce que vous apportez
- De solides compétences en programmation C/C++/Java, avec une expérience dans le développement de systèmes embarqués en C/C++.
- Maîtrise de GNU et de Microsoft Make pour l'automatisation de la construction.
- Expérience dans le développement de systèmes C/C++ embarqués sous Windows, à l'aide de Visual Studio.
- Expérience pratique des compilateurs Linux GNU C/C++ et des outils Make.
- Familiarité avec Rocky Linux (remplaçant CentOS 7) pour le développement d'applications de paiement.
- Expérience des API XML/JSON et de l'intégration avec des services tiers.
- Expérience avec des microservices backend développés en Java avec Spring Boot
- Expérience avec des applications hébergées dans le cloud (GCP, AWS, ...)
- Compétences SQL de base, de préférence en utilisant MariaDB et MySQL, ainsi que des bases de données No-SQL comme MongoDB
- Familiarité avec les langages de script, y compris Windows CLI (.bat scripting) et Linux Bash.
- Expérience avec JIRA et Confluence pour les tâches, le suivi des problèmes et la documentation.
- Solides compétences en matière de débogage et de test pour garantir la fiabilité du logiciel.
- Expérience des systèmes de contrôle des sources (par exemple, GitLab, Github, ...).
- Capacité à travailler de manière indépendante avec un minimum de supervision tout en collaborant efficacement au sein d'une équipe.
- Solides compétences en communication écrite et orale pour documenter et présenter des concepts techniques.
- Expérience dans le dépannage efficace d'incidents de production en utilisant des plateformes modernes d'observabilité (Datadog, New Relic, ...)
- Maîtrise de l'anglais et du français.
Points bonus pour
- Expérience dans le secteur des paiements, y compris les applications de traitement des paiements, la certification et la conformité PCI.
- Connaissance de la sécurité des appareils embarqués et des normes de cryptage.
- Familiarité avec OpenSSL, Boost ou d'autres bibliothèques C++ pertinentes.
- Compréhension des systèmes d'exploitation en temps réel (RTOS) pour les systèmes embarqués.
- Expérience de l'intégration d'API basées sur le cloud (AWS, Azure, etc.).
- Expérience de travail dans un environnement Agile/Scrum.