Huawei Technologies Canada Co., Ltd.

Company Description

About Huawei
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.

Job Description


  • Research and development of distributed, highly available share nothing transaction processing database management system focusing on algorithms for scale up and scale out
  • Work with a team of architects and engineers to develop proof-of-concept systems and components across the data manager, buffer manager and transaction processing components.
  • Investigate and design new data structures and algorithms focusing on lockless and NUMA aware approaches on the latest and state of the art hardware technology
  • Continuous enhancements on the AI-native distributed database system to fulfill customer requirements utilizing AI techniques for self-tuning under differing workload conditions.
  • Mentor junior colleagues on algorithm design, data structure and software engineering aspects. Focusing on high performance scalable code.
  • Work with QA and continuous integration teams to drive a quality overall solution though a combination of automated unit tests, functional testing and system testing of the solution.


Minimum Qualifications

  • Bachelors’ or Master's or Ph.D. in Computer Science, Computer Engineering, Applied Mathematics, Physics or similar field
  • 3+ years software engineering experience at the systems level
  • High proficiency with C/C++ must be able to write strong/ clean, brand-new code
  • Deep understanding of fundamental concepts such as design of algorithms & data structures, object oriented design and operating systems
  • Understanding of distributed database/ storage system/ file system/ memory allocation/ cache system
  • Highly analytical with strong problem solving skills
  • Self- motivated with a proven ability to learn and take initiative
  • Ability to clearly articulate technical concepts and challenges

Preferred Qualifications

  • Experience with SQL, Python and Linux environment
  • Any experience with RDS/NoSQL kernel; distributed file systems, TCP/IP and RDMA a plus
  • Experience with open source community
Job Overview