Principal C++ Developer

Montreal, Quebec, Canada

At OneSpan, you‘ll be part of a team that is trusted by more than 10,000 organizations around the world to safeguard their customers against cyber-crime and fraud, and deliver exceptional digital experiences that build lasting customer loyalty. Your contribution will help us to push the boundaries of what is possible to improve the security and lives of millions of people around the world.  In short, what you do here matters!

We are looking for a Principal C++ Developer who will be part of our research and development team to develop OneSpan’s SaaS e-Signature solution. Our products are large and complex solutions that will challenge you to expand your knowledge and think outside the box. The chosen individual will have abundant opportunities to contribute to product evolution, and to acquire new knowledge and skills. If you want your abilities to have a tangible impact, join our team!

Job Duties and Responsibilities: 

  • Design, and develop scalable, high-performance, highly reliable applications;
  • Research and evaluate software (including open source libraries and 3rd party products) for inclusion in the development process;
  • Help drive the DevOps practice within R&D with the support of management;
  • Participate in product and cloud architectural design and analysis;
  • Implement Continuous Delivery solutions and help automate various stages of the deployment and testing processes by leveraging Infrastructure as Code;
  • Perform development, unit testing, and application testing individually and in collaboration with the team;
  • Perform code reviews;
  • Create and maintain technical documentation;
  • Work with the SQA team to design automated performance and scalability testing strategies;
  • Act as a go-to person for more junior team members.


    • Bachelor’s degree or Master’s degree in Computer Science or equivalent;
    • Minimum of 6 to 10 years of experience in developing scalable, high-performance, enterprise applications;
    • Expertise in building containers using pipelines such as GitLab CI, GitHub Actions, Jenkins, etc.;
    • Expertise with Java technologies and frameworks: Spring, J2EE, JMS, Hibernate, etc.;
    • Excellent knowledge of Modern C++ (C++17/C++20) with at least 10 years experience;
    • Proficiency with scripting languages (Bash, Python, etc.);
    • Virtualization and in-depth Linux knowledge;
    • Good understanding of cryptography (openssl, PKI, digital signatures, TLS)
    • Basic level experience with handling PDF files;
    • Experience with centralized logging and APM tools (Asset);
    • Infrastructure Provisioning experience and Continuous Delivery experience using tools like Ansible, Terraform, Puppet, Chef;
    • Containers experience – Docker and Kubernetes;
    • Cloud Experience – Knowledge of cloud operations tasks in regard to scalability, deployments and zero-downtime upgrades;
    • General cloud ops knowledge with at least one provider, private or public, such as attached volume lifecycle, auto scaling, cloud-config, security, instance lifecycle, etc.;
    • Troubleshooting large cloud infrastructure;
    • Ability to work independently and proactively within a team-oriented environment;
    • Excellent written and verbal communication skills in English and French;
    • Excellent problem-solving skills;
    • Ability to learn quickly new technologies.