Discover Technata Job board

Find your next tech job in Kanata North, Canada’s largest technology park. Then explore endless international opportunities and dream about where your career will take you. With the Country’s largest density of technology companies ranging from promising startups to leading global giants, Kanata North is the place to be if you are serious about a career in tech.

Software Engineer - Distributed Database

Huawei Technologies

Huawei Technologies

Software Engineering
Markham, ON, Canada
Posted 6+ months ago

Job description

Huawei Canada has an immediate permanent opening for a Software Engineer.

About the team:

The Distributed Data Storage and Management Lab leads research in distributed data systems, aiming to develop next-generation cloud serverless products that encompass core infrastructure and databases. This lab addresses various data challenges, including cloud-native disaggregated databases, pay-by-query user models, and optimizing low-level data transfers via RDMA. Teams within this lab create advanced cloud serverless data infrastructure and implement cutting-edge networking technologies for Huawei's global AI infrastructure.


About the job:

  • Research and development of distributed, highly available 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.

  • 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 through combination of automated unit tests, functional testing and system testing of the solution.

Job requirements

About the ideal candidate:

  • Bachelor, Master or PhD in Computer Science or related area.

  • Proficient in C and C++ programming.

  • Excellent documentation, organization and communication skills.

  • Self-motivated; strong desire to learn on the job.

  • Must be a team player.

  • Experience with design and development of a distributed database, storage system, file system, or cache system is an asset.

  • Experience in open source community is an asset.

or