Enable job alerts via email!

Principal Engineer - Distributed Database

Huawei Technologies Canada Co., Ltd.

Markham

On-site

CAD 120,000 - 160,000

Full time

2 days ago
Be an early applicant

Job summary

A leading technology firm in York Region, Markham is seeking a Principal Engineer to lead research and development of innovative distributed databases. The ideal candidate will have over 10 years of experience in database design, proficient in C and C++, and possess strong mentorship abilities. Responsibilities include system development, continuous enhancements, and quality assurance testing. This role offers a great opportunity for those looking to impact next-generation cloud technology.

Qualifications

  • 10+ years experience with design and development of distributed databases or systems.
  • Experience in open source community is an asset.
  • Excellent documentation, organization, and communication skills.

Responsibilities

  • Research and develop distributed transaction processing database management systems.
  • Mentor junior colleagues on algorithm design and software engineering aspects.
  • Work with QA to drive overall solution quality.

Skills

C programming
C++ programming
Algorithm design
Data structures
High performance scalable code

Education

Bachelor's in Computer Science/Electrical Engineering/Telecommunications
Master's or PhD

Job description

Huawei Canada has an immediate permanent opening for a Principal 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.

  • Continuous enhancements on the distributed database system to fulfill customer requirements 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.


About the ideal candidate:

  • Proficient in C and C++ programming.

  • 10+ years’ experience with design and development of a distributed database, or storage system, or file system, or cache system.

  • Experience in open source community is an asset.

  • Excellent documentation, organization and communication skills.

  • Publication history and patent success is an asset.

  • Bachelor's in Computer Science/Electrical Engineering/Telecommunications; Master's or PhD is an asset.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.

Similar jobs