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, IoT platforms, machine learning systems, and concurrent / distributed programming frameworks.
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.
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 customers, analyze project requirements, and estimate work sizings.
Lead a team of developers to develop proof-of-concepts and explore new ideas.
Mentor junior developers through education sessions and code reviews.
Research industry trends and paradigms, and propose new technical directions for the Lab.
Minimum 5 years of experience programming in large software projects with one of the following : C++, C, or Java.
One of the following :
Prior development experience of a production compiler (preferably LLVM / Clang-based).
Prior development experience in a production language runtime (preferably JVM-related), and / or design and implementation of a major programming language.
In-depth knowledge of processor architecture and hardware accelerators such as GPUs and FPGAs.
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.
Strong background in other languages (e.g. Go, Python) and systems programming.
Working knowledge of agile methodologies.
Experience in distributed system and cloud computing platforms.
Experience contributing to open-source projects, and demonstrated influence in the open community.
We thank all applicants for their interest in career opportunities with Huawei. Only selected candidates will be contacted for an interview.