Software Engineer

Company Name: 
Category: 
Software & Web Development
Status: 
Full-Time
Post Date:  
1/30/2018
Description: 

Software R&D engineer positions available at Huawei US Research Lab @Champaign, IL

Huawei recently opened an innovation lab in Champaign IL and we are actively seeking talented candidates – recent or fresh graduates in Master and PhD programs and software engineers – to build our operations in Champaign in multiple positions.

As a member of a highly talented team, you get to do creative work as well as making real impact by solving real customer problems. While the current projects include language design, compiler & JVM, and performance optimization, the lab continues to grow and expand into new domains (e.g., cloud, smart devices, IoT). As such, we are not looking for people with a fixed set of skills, but rather the “growth-mindset” people who have a versatile experience in the field and are not daunted by acquiring new skills. We especially welcome researchers and problem solvers.

The positions are in the US branch of the Programming Technologies Lab of Huawei, whose mission is to innovate and leverage programming technologies (compilers, languages, language VMs, tools) to improve the performance, productivity, and quality of Huawei software.

Responsibilities:

  • Work involves a good amount of tools design and prototypes aimed at performance profiling and optimization across the system stack;

  • Identify opportunities for novel programming and software tools technology solutions and turn ideas into prototypes and production;

  • Explore new areas and keep up with the latest programming, runtime and performance profiling technologies in the external community;

  • Last but not least, be creative and keep on learning.

Qualifications:

  • Recent or graduating students with a Master’s or Ph.D. in Computer Science, Electrical/Computer Engineering or related fields. Experience and expertise in one or more of the following areas: 

  • Performance analysis & optimization, via experience in a relevant area, such as performance modeling, parallel software development, or processor or system simulator development. Implementing tools/libraries/framework for parallel programming, heterogeneous programming, performance monitoring,

  • Android system & other operating systems, familiar with internals of these Operating Systems with hands-on experiences inside the systems including developing frameworks, system-level performance and power tuning and analysis, or

  • Programming system implementation, with experience and/or training in a relevant area such as compiler design & optimization, language VM, runtime and library, software verification, software engineering tools; or

  • Programming model design, with familiarity in a relevant area such as type systems, memory management, concurrency models

Nice to haves:

   Competence in a breadth of programming paradigms is a plus, assembly code;

   Experience with runtime system, such as memory management and concurrent task scheduling;

   Experience with developing programming technologies for the cloud environment and smart devices;

   Prior engagements w/ open-source projects, developers’ community, and/or research community.