Job Search and Career Advice Platform

Enable job alerts via email!

Software Engineer - Distributed Database

Huawei Canada

Markham

On-site

CAD 70,000 - 90,000

Full time

2 days ago
Be an early applicant

Generate a tailored resume in minutes

Land an interview and earn more. Learn more

Job summary

A leading technology company in York Region, Canada, has an immediate permanent opening for a Software Engineer. The role involves research and development in distributed database management systems, mentoring team members, and collaborating on innovative solutions in a high-performance environment. Candidates should have a degree in Computer Science, proficiency in C/C++, and strong communication skills. The company values self-motivation and teamwork and offers opportunities for personal growth within a cutting-edge technical field.

Qualifications

  • Proficient in C and C++ programming.
  • Excellent documentation, organization and communication skills.
  • Self-motivated; strong desire to learn on the job.
  • Experience with design and development of distributed database is an asset.

Responsibilities

  • Research and develop distributed transaction processing database management systems.
  • Work with a team to develop proof-of-concept systems.
  • Investigate new data structures focusing on high-performance algorithms.
  • Mentor junior colleagues on algorithm design and software engineering.
  • Drive quality solutions through testing processes.

Skills

C programming
C++ programming
Documentation skills
Communication skills
Team player

Education

Bachelor, Master or PhD in Computer Science or related area
Job description
Position

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
  • 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.
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.