Overview
Senior C++ Software Developer position based in Ottawa, Ontario, Canada (onsite only).
Responsibilities
- Lead and contribute to software development efforts using modern C++
- Design and develop concurrent and multithreaded applications for performance-critical systems
- Implement solutions based on PKCS#11 (P11) cryptographic standards
- Design and maintain RESTful APIs using curl or similar tools
- Develop and integrate gRPC services with protobuf and optionally JetStream
- Write unit tests and follow Behavior-Driven Development (BDD) practices
- Apply secure coding practices in all phases of development for mission-critical products
- Build, deploy, and manage applications using Docker or Podman containers
- Participate in architecture and design discussions, code reviews, and technical mentorship
Mandatory Skills
- Senior experience in C / C++ development (7 years; primary skill)
- Experience and understanding of PKCS#11, esp. as a client application developer or PKCS#11 library implementor
- 6 months experience with gRPC interface in C / C++ (optional but strongly recommended)
- 6 months experience with REST API services using C / C++ (optional but recommended)
Required Qualifications
- Proven domain expertise in C++ software development
- Strong experience with multithreading and concurrency models
- Solid understanding and implementation experience with PKCS#11 cryptographic standards
- Expertise in REST APIs, gRPC, and protobuf
- Working knowledge of JetStream (nice to have)
- Experience writing effective unit tests and using BDD methodologies
- In-depth understanding of secure development practices
- Hands-on experience with container technologies like Docker or Podman
- Strong problem-solving skills, attention to detail, and ability to work independently or in a team
Job Details
- Job Type: Full-time
- Location: Ottawa, Ontario, Canada (onsite only)
- Pay: $95,000.00-$100,000.00 per year
Application question(s)
- How many years of recent hands-on experience with PKCS11 (Public-Key Cryptography Standards #11)?