Job Postings
Software Engineer - Distributed Database
at
Huawei Canada
Software Engineer - Distributed Database
  • Company
    Huawei Canada
  • Location
    Markham, Ontario, Canada
  • Type
    Full-time
  • Date Posted
    December 27, 2024
**Job Title: Software Engineer**

**Company: Huawei Canada**

**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 systems, focusing on algorithms for scale up and scale out.
- Collaborate 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 hardware technology.
- Mentor junior colleagues on algorithm design, data structures, and software engineering aspects.
- Focus on writing high-performance scalable code.
- Work with QA and continuous integration teams to drive a quality overall solution through a combination of automated unit tests, functional testing, and system testing.

**Job Requirements:**
- Bachelor, Master, or PhD in Computer Science or related area.
- Proficient in C and C++ programming.
- Excellent documentation, organization, and communication skills.
- Self-motivated with a strong desire to learn on the job.
- Must be a team player.
- Experience with the design and development of a distributed database, storage system, file system, or cache system is an asset.
- Experience in the open source community is an asset.