Closed listing
Principal Compiler Engineer
- Markham, ON, Canada
On-site
The total target annual compensation for this position ranges from $127,000 to $225,000 depending on education, experience, and demonstrated expertise. · Full-time
This opening has closed.
The original listing is kept below for reference.
Job details
- Pay
- The total target annual compensation for this position ranges from $127,000 to $225,000 depending on education, experience, and demonstrated expertise.
- Job type
- Full-time
- Workplace
- On-site
- Experience
- 8+ years of experience programming in large software projects with at least one of the following: C++, C, or Java.
- Posting language
- English
- Posted
Similar jobs hiring now
Search current openingsOriginal job description
Archived listing. The details below describe a past opening.
Huawei Canada has an immediate permanent opening for a Principal 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.
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 team.
The total target annual compensation for this position ranges from $127,000 to $225,000 depending on education, experience, and demonstrated expertise.
About the ideal candidate:
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 (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 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 (an asset). in Computer Science, Computer Engineering, or related field.
The following items would be an asset: Deep understanding of IR and machine level compiler optimization techniques; experience in systems programming; proficiency in higher-level programming languages e.g. Go, Python; or an understanding of the implementation of higher-level programming languages.
Additional Information:
Huawei Canada is committed to a fair, inclusive, and accessible recruitment process. If you require accommodation during any stage of the hiring process, please let us know and we will work with you to meet your needs.
All applications for this position are reviewed directly by our hiring team, we do not use artificial intelligence tools to screen or select candidates.
More about this job
Responsibilities
The Principal Compiler Engineer at Huawei Technologies Canada will build and test software for many products, improve how fast systems run, and lead team planning and reviews. The role also mentors junior developers and proposes new technical directions.
Requirements
Candidates need 8+ years of programming large software projects in C++, C or Java, plus at least two specialized compiler, runtime, deep learning, GPU driver or hardware accelerator experiences. A Bachelor's or higher degree in computer science or a related field is required.
Skills
- C++
- C
- Java
- LLVM
- Clang
- Compiler design
- Compiler optimization
- IR (intermediate representation)
- JVM
- Programming language design
- TensorFlow
- Caffe2
- MXNet
- ONNX
- TVM
- Vulkan
- OpenGL
- DirectX
- CUDA
- OpenCL
- GPU driver development
- Hardware accelerators (GPU, NPU, FPGA)
- Software/hardware co-design
- Computer processor architecture
- Data structures
Categories
- Software
- Technology
- Engineering
Keywords
- compiler engineer
- LLVM
- Clang
- C++
- C
- Java
- JVM
- TensorFlow
- Caffe2
- MXNet
- ONNX
- TVM
- Vulkan
- OpenGL
- DirectX
- CUDA
- OpenCL
- GPU
- NPU
- FPGA
Seniority
Senior
Tools
- LLVM
- Clang
- TensorFlow
- CUDA
- OpenCL
- Vulkan
- OpenGL
- DirectX
Fields of study
- Computer Science
- Computer Engineering