Skip to content

Security Software Engineer

  • Waterloo, Ontario

Job description

Our team has an immediate 12-month contract opening for a Software Engineer.


  • Design solutions and develop prototypes of innovative data security solutions for different Huawei products.
  • Work closely with the product team to help them optimize your solution and integrate it into the product.
  • Research, investigate, and evaluate data security technologies and propose solutions.

Job requirements

What you’ll bring to the team:

  • Bachelor/Master in Computer Science or Computer Engineering with 3+ years’ experience in software development in a Linux-based environment
  • 3+ years experience with platform/system level development with performance profiling and tuning skills. Familiarity with various design patterns, good components, and modeling ability
  • Concrete programming ability in C++, C, Go, Rust and proficiency in scripting languages such as Python and Bash
  • Experience with Build Systems and Package Managers: CMake, Make, Gradle, Maven, Yarn, NPM
  • Good understanding of security concepts: symmetric-key cryptography (block ciphers, MAC, and authenticated encryption), public key cryptography (digital signatures, encryption, and key establishment), data loss prevention technologies, Key management systems
  • Experience with cryptographic libraries (e.g. OpenSSL, GMP)
  • Industry experience with distributed systems, massively parallel processing, optimization and cloud application as an asset
  • Experience with different optimization techniques in implementing symmetric/public-key primitives and writing optimized symmetric/public-key implementations as an asset