Skip to content

Senior Principal Architect

    • Markham, Ontario
  • 86c9t

Job description

Huawei Canada has an immediate permanent opening for a Senior Principal Architect.


About the Team:

The Software Engineering Coach Lab focuses on capability improvements. Undertaking Huawei's trusted change strategy, this lab is responsible for achieving the overall goal of trusted change, and systematically carries out public capacity building and change enablement and management such as trustworthy interpretation, change framework design and guidance, process IT and management systems.

About the Job:

  • Work on all stages of Software Development Life Cycle (SDLC) and trustworthy computing including tool and programming languages development.
  • Provide or apply the best practices for software development in industry to real product lines including telecom equipment, cloud services and consumer products, to improve the development process, including compilation/building/release processes.
  • Develop advanced program analysis tools to support software develop for secure and trustworthy software.
  • Work with engineers on different products to refactor legacy code, from coding style to software architecture.
  • Machine learning, deep learning experience, especially for networking system, such as networking optimization, planning, and automation.
  • Collaborate with academia to study advanced technologies in software engineering domain.
  • Be always creative in problem solving, keep learning and stay connected with the state-of-the- art technologies/processes/tools.

Job requirements

What you’ll bring to the team:

  • BS degree and above in Computer Science, EE or related area with extensive working experiences in one of the areas: DevOps tool, software engineering, compilers, networking, database, operating system, embedded system.
  • Familiar with software life cycle, development tools, building process, version control, product verification. Master C/C++/Java/Python, experience with CICD, DevOps, CMake, Git, Gitlab, Github, or Jenkins.
  • Proficient in software design patterns. Experiences in object oriented analysis and design in networking with UML and/or DSL.
  • Working knowledge in architecture design, virtualization, compilation process and compiler technology, parallel and distributed computing.
  • In depth understanding of networking technologies and experience with major routing/switching protocols and SDN. Experience with PyTorch, TensorFlow and other related tools. Or experience using existing RDBMS/NoSQL systems, with a working understanding of SQL and database internals.
  • Working experiences in secure programming, software refactoring, system modelling, system analysis and verification, building large and complex system and software management.
  • Strong experiences in parallel runtime or middleware design and implementation, hands on experience of database engine development or in memory DB, large network architecture design, with excellent network analysis and troubleshooting skills, Linux kernel programming experience (memory management, uni-kernel, networking, RDMA, virtualization, containers, device drivers), ARM tool chain development, actively evolved in open source community, such as CMake, Bazel project is an asset.

or