Huawei Canada has an immediate Co-op 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.
- 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.
Job requirements
About the ideal candidate:
- In pursuit of BS, MS, or PhD degree in Computer Science, Electrical Engineering or Telecommunications.
- Proficient in C and C++ programming.
- 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.
- Excellent team player; strong collaboration and communication skills.
- Excellent documentation and organization skills.
- Self-motivated; strong desire to learn on the job.