Principal Software Engineer, Compiler

Huawei

Vue: 178

Jour de mise à jour: 12-06-2024

Localisation: Markham Ontario

Catégorie: IT - Logiciel

Industrie: Telecommunications

Niveau: Mid-Senior level

Type d’emploi: Full-time

Loading ...

le contenu du travail

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

Minimum Qualifications

  • 8+ 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.
    Loading ...
    Loading ...

    Date limite: 27-07-2024

    Cliquez pour postuler pour un candidat gratuit

    Postuler

    Loading ...
    Loading ...

    MÊMES EMPLOIS

    Loading ...
    Loading ...