Senior Compiler Software Engineer
Huawei Technologies Canada Co., Ltd.
Markham, Ontario, US
1d ago
source : Happy Monday

About Huawei

Huawei is a leading global provider of information and communications technology (ICT) infrastructure and smart devices. With integrated solutions across four key domains - telecom networks, IT, smart devices, and cloud services - we are committed to bringing digital to every person, home and organization for a fully connected, intelligent world.

At Huawei, innovation focuses on customer needs. We invest heavily in basic research, concentrating on technological breakthroughs that drive the world forward.

We have more than 180,000 employees, and we operate in more than 170 countries and regions. Founded in 1987, Huawei is a private company fully owned by its employees.

About Huawei Canada

Huawei Canada helps connect Canadians to world-leading high-speed wireless Internet - and supplies them with cutting-edge smart devices.

In partnership with Canadian telecommunications providers, we work to bring the benefits of a reliable and secure digital experience to every person, home and organization, including those in rural and remote areas of the country.

Huawei first came to Canada in 2008. Today, the company employs more than 1,100 Canadians in research and development, IT, sales and other fields.

Huawei Canada is an active supporter of many charitable and community initiatives from coast to coast.

Job Description

Huawei Canada is looking for experienced technical leaders to join the Heterogeneous Compiler Lab, based in Markham, Ontario.

The Lab's mission is to leverage innovative programming technologies to improve the performance of Huawei products-from 5G network equipment to mobile phones, and from smart home appliances to cloud services-as well as the productivity of developers in the Huawei ecosystem.

To achieve these goals, we conduct research and development in a variety of areas including, but not limited to compilers, language runtimes, system-level exploitation of machine learning / artificial intelligence frameworks, and concurrent / distributed systems.

The successful candidate needs a deep understanding of compilers, programming languages, and computer architecture, and should be ready to provide leadership to a growing, high-performing team.

Responsibilities

  • Design, develop, and test software to satisfy business requirements in a wide range of products.
  • Analyze and optimize software system performance, and assist with software / hardware co-design.
  • Liaise with internal and external stakeholders, determine project and feature requirements, and create development plans for software productization.
  • Provide leadership in scrums, reviews, and project planning; engage in team building.
  • Mentor junior developers through education sessions, code reviews, and career development.
  • Research industry trends and paradigms, and propose new technical directions for the Lab.
  • Qualifications

  • 5+ years of experience programming in large software projects with at least one of the following : C++, C, or Java.
  • Satisfy at least two of the following :
  • Development or research experience in a production compiler (preferably LLVM / Clang-based).
  • Development or research experience in a production language runtime (preferably JVM-related), and / or design and implementation of a major programming language.
  • Development or research experience with deep learning frameworks and related ecosystem, such as TensorFlow, Caffe2, MXNet, ONNX, TVM.
  • Development or research experience with hardware accelerators such as GPUs, NPUs, or FPGAs.
  • Solid grasp of fundamental concepts related to system design, such as data structures, algorithms, and operating systems.
  • In-depth understanding of computer processor architecture.
  • Proficiency with software development tools and concepts such as source control, bug tracking, etc.
  • Master's degree or Ph.D. in Computer Science, Computer Engineering, or related field.
  • Preferred Qualifications

  • Deep understanding of IR and machine level compiler optimization techniques.
  • Experience in systems programming
  • Proficiency in higher-level programming languages e.g. Go, Python
  • Experience contributing to open-source projects, and demonstrated influence in the open community.
  • Working knowledge of agile methodologies.
  • Report this job
    checkmark

    Thank you for reporting this job!

    Your feedback will help us improve the quality of our services.

    Apply
    My Email
    By clicking on "Continue", I give neuvoo consent to process my data and to send me email alerts, as detailed in neuvoo's Privacy Policy . I may withdraw my consent or unsubscribe at any time.
    Continue
    Application form