System Software Engineer (compilers and toolchains)

З/п не указана
Опыт работы: От 3 до 6 лет
График работы: Полный день
Занятость: Полная занятость
Компания: HUAWEI

We are seeking strong candidates for permanent research and development positions in the area of compiler technologies (including frontend, backend, runtime, VM, toolchain).

Background

The Data Communication business unit is responsible for delivering top class networking hardware. Currently, the scale of Datacom service code is huge. Typical products have tons of code which is written in low-level language. The code abstraction is low and the redundancy is high while a single bug has a huge commercial cost. It becomes more and more difficult to maintain high telecom reliability.

We want to build the core software competitiveness aiming for greatly improving developing experience of tens of thousands programmers across Huawei and even more beyond. The team will be focusing on research and development in the area of compilation technology, language design, translators, static analysis and other adjacent areas. You will get an opportunity to become a known open source contributor and a limitless career path in a Fortune-100 company.

About the project

The research will aim to develop a compiler/tools/runtime for a new general purpose programming language. A significant fraction of our work is currently dedicated to source-to-source translation from existing high-level languages to our new programming language and runtime.

Challenges:
  • Research and implement algorithms and software technologies in the field of compilation, s2s translations, JIT and optimizations;
  • Investigate and improve performance of produced code and the runtime (lightweight VM);
  • Participate in the important horizontal technical work of the product line as compilation technical experts;
  • Present your work by writing articles and papers based on your researches.
Minimum qualifications:
  • Master's degree or equivalent practical experience;
  • Knowledge of C++;
  • Knowledge of Unix/Linux environments;
  • Good knowledge of algorithms and data structures.
Preferred qualifications:
  • Experience in creating or optimizing compilers and/or related tools and/or VM and/or OS;
  • Hands-on experience in static analysis or type inference
  • Knowledge of Lua
  • Knowledge of VM
  • PhD in Computer science;
  • Contribution to open source projects;
  • Familiarity with Clang/LLVM internals;
Conditions:
  • Professional and career development opportunity
  • Commercial medical insurance
  • Modern office in the city center
Хочу откликнуться
<
>