Security Software Engineer
- 300 Hagey Blvd, Waterloo, ON N2L 0A4, Canada
Huawei is a leading global provider of information and communications technology (ICT) infrastructure and smart devices. With integrated solutions across four key domains – telecom networks, IT, smart devices, and cloud services – we are committed to bringing digital to every person, home and organization for a fully connected, intelligent world.
At Huawei, innovation focuses on customer needs. We invest heavily in basic research, concentrating on technological breakthroughs that drive the world forward. We have more than 180,000 employees, and we operate in more than 170 countries and regions. Founded in 1987, Huawei is a private company fully owned by its employees.
About Huawei Canada
Huawei Canada helps connect Canadians to world-leading high-speed wireless Internet – and supplies them with cutting-edge smart devices. In partnership with Canadian telecommunications providers, we work to bring the benefits of a reliable and secure digital experience to every person, home and organization, including those in rural and remote areas of the country. Huawei first came to Canada in 2008. Today, the company employs more than 1,100 Canadians in research and development, IT, sales and other fields. Huawei Canada is an active supporter of many charitable and community initiatives from coast to coast.
- 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
- Proven experience with platform/system level development with performance profiling and tuning skills. Familiarity with various design patterns, good component and modeling ability.
- Deep understanding of object-oriented design principles
- Concrete programming ability in C++, C, Java and proficiency in scripting languages such as Python and Bash
- 3+ years’ experience of software development in a Linux based environment
- 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), and blockchain.
- Experience with cryptographic libraries (e.g. OpenSSL, GMP)
- Must demonstrate strong communication skills to explain complex technical concepts with ease both verbally and in writing.
- Strong collaboration skills to partner effectively with teams throughout the organization
- Bachelor/Masters in Computer Science or Computer Engineering
- Experience with server hardware virtualization technologies such as KVM/QEMU or Xen would be an asset.
- TPM and kernel development experience would be an asset.
- Experience with open-source contribution (nice to have).
- Industry experience with distributed system, massive parallel processing, optimization and cloud application (nice to have).
- Experience with different optimization techniques in implementing symmetric/public-key primitives and writing optimized symmetric/public-key implementations (nice to have).