Compiler Engineer

Huawei Technologies Canada Co., Ltd.

$80K — $120K *
Information Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • 3-5 years programming in large software projects (C++, C, or Java)
  • Experience with LLVM/Clang or production language runtimes (e.g., JVM) is a plus
  • Research experience with deep learning frameworks (TensorFlow, MXNet, etc.)
  • Familiar with hardware accelerators (GPUs, NPUs, FPGAs)
  • Strong understanding of data structures, algorithms, and OS principles
  • Bachelor's, Master's, or Ph.D. in Computer Science or related field

Responsibilities

  • Design and develop software for diverse products, including compilers and language runtimes
  • Analyze and optimize software system performance
  • Participate actively in scrums and project planning
  • Learn and adopt new technologies and present trends to the team
  • Collaborate effectively as a team player

Benefits

  • Immediate permanent position
  • Opportunity to work with industry and academic experts
  • Engagement in innovative projects related to AI and heterogeneous compilation
  • Exposure to cutting-edge technologies and trends
  • Chance to contribute to open-source initiatives and community
Full Job Description
Huawei Canada has an immediate permanent opening for a Compiler Engineer.

About the team:The Heterogeneous Compiler Lab, led by esteemed technical experts with extensive industry and academic experience, publishes innovative research at leading conferences. Recognized as key contributors to the LLVM Compiler Infrastructure project, this lab excels in developing diversified IP compiler collaborations, focusing on AI, GPU, and CPU architectures. Our efforts include heterogeneous compilation technology and SW-HW co-design, optimizing for AI, graphics, games, and mobile applications while tackling technological challenges through open-source community.

About the job:
  • Design, develop, and test software to satisfy business requirements in a wide range of products, possibly including (but not limited to):
    • Compilers targeting next-generation mobile, network, or server hardware;
    • Language runtimes for new programming languages;
    • System-level optimization of deep learning frameworks;
    • Concurrent programming frameworks and distributed systems that can scale from embedded devices to cloud services.
  • Analyze and optimize software system performance.
  • Actively participate in scrums and project planning; be a team player.
  • Learn and adopt new technologies; research, survey, and present industry trends to the team.


About the ideal candidate:
  • 3-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 (LLVM/Clang-based is an asset).
    • Development or research experience in a production language runtime (JVM-related is an asset), 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.
  • 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.
  • Experience contributing to open-source projects, and demonstrated influence in the open community is an asset.
  • Working knowledge of agile methodologies.

#LI-CL1

Similar Jobs

More Information Technology Jobs

Find similar Compiler Engineer jobs: