Principal Compiler Engineer

Markham, Ontario, Canada

Huawei Technologies Canada Co., Ltd.

Huawei is a leading global provider of information and communications technology (ICT) infrastructure and smart devices.

View all jobs at Huawei Technologies Canada Co., Ltd.

Apply now Apply later

Our team has an immediate permanent opening for an Engineer.

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.

Requirements

What you’ll bring to the team:

  • 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 of GPU drivers, such as Vulkan, OpenGL, DirectX, or CUDA/OpenCL.
    • 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.
  • Bachelor's, Master's degree or Ph.D. in Computer Science, Computer Engineering, or related field.
  • Deep understanding of IR and machine level compiler optimization techniques is an asset.
  • Experience in systems programming is an asset.
  • Proficiency in higher-level programming languages e.g. Go, Python is an asset.
  • Understanding of the implementation of higher-level programming languages is an asset.
  • Experience contributing to open-source projects, and demonstrated influence in the open community is an asset.
  • Working knowledge of agile methodologies.

#LI-SB1

Apply now Apply later

* Salary range is an estimate based on our AI, ML, Data Science Salary Index 💰

Job stats:  0  0  0
Category: Engineering Jobs

Tags: Agile Architecture Computer Science CUDA Deep Learning Engineering GPU Java MXNet ONNX Open Source Python Research TensorFlow Vulkan

Perks/benefits: Career development

Region: North America
Country: Canada

More jobs like this