Enable job alerts via email!

Senior Software Developer – Big Data (C++)

Huawei Technologies Canada Co., Ltd.

Markham

On-site

CAD 80,000 - 110,000

Full time

11 days ago

Job summary

A global technology company in York Region, Markham is seeking a Senior Developer to analyze software requirements, contribute to software development, and mentor a team. The ideal candidate should have a Master's or PhD in computer science/software engineering, 5+ years in C++ development, and strong system design skills. This position provides an opportunity to work on innovative programming technologies and contribute to groundbreaking data analytics.

Qualifications

  • 5+ years of professional software development experience with C++.
  • 2+ years of experience in system architecture and design.
  • Familiarity with CI/CD.

Responsibilities

  • Analyze the software requirements and design systems.
  • Contribute to software development at product/platform level.
  • Mentor and lead a team of developers.

Skills

C++
Object-oriented design
Linux operating system
Performance profiling
System architecture design

Education

MSc or PhD in computer science, software engineering, or computer engineering

Tools

Git
Maven
Apache Flink
Job description

Huawei Canada has an immediate permanent opening for a Senior Developer.

About the team

The Computing Data Application Acceleration Lab aims to create a leading global data analytics platform organized into three specialized teams using innovative programming technologies. This team focuses on full-stack innovations, including software-hardware co-design and optimizing data efficiency at both the storage and runtime layers. This team also develops next-generation GPU architecture for gaming, cloud rendering, VR/AR, and Metaverse applications.

One of the goals of this lab are to enhance algorithm performance and training efficiency across industries, fostering long-term competitiveness.

About the job
  • Analyze the software requirements and software elements for system design.
  • Contribute to software development at the product or platform level.
  • Take charge of the design and code writing for a specific cross-sub-system or codes of key algorithms
  • Participate in different open source and standard meetings to present solutions
  • Mentor and lead a team of developers
  • Generate intellectual property such as patents and trade-secrets from research findings
  • Publish papers in peer-reviewed scientific journals/conferences
  • Present research findings at conferences and participate in research collaborations with external research institutes and universities
About the ideal candidate
  • MSc, or PhD in one of computer science, software engineering, or computer engineering
  • 5+ years of professional software development experience with C++, including object oriented design
  • 2+ years of experience contributing to the architecture and design of a system
  • Knowledge of the OS internals, compilers, Linux operating system, system/processor performance, CPU architecture
  • Proven experience with platform/system level development with performance profiling and tuning
  • Familiarity with mainstream big data related technologies and distributed frameworks is an asset
  • Familiar CICD, and tools such as Git, and Maven is an asset
  • Experience with Apache Flink or other streamed data engines is an asset
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.