Skip to content

Security Software Engineer

    • Waterloo, Ontario
  • 6rhge

Job description

Huawei Canada has an immediate 12-month contract opening for a Software Engineer.

About the team:

The Data and Privacy Protection Technology Lab is dedicated to ensuring user data flows while maintaining privacy. Researchers focus on key areas such as user identity authentication, data integrity, privacy protection, extensive model privacy assessment, multi-modal data identification, differential privacy, and federated learning. The lab supports deep research and encourages publications in leading journals. Research outcomes are applied across various Huawei product lines, including mobile phones, smart devices, and communications technologies.

About the job:

  • 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

About the ideal candidate:

  • 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

or