30+ days ago - req19647

Senior Software Engineer (HPCC)

Research & development

Computer science & software engineering

In a nutshell

Location

San Jose - CA, US

Team

Research & development

Experience

0-2 years

Degree

Master

Job Category

Computer science & software engineering

Introduction

ASML US, including its affiliates and subsidiaries, bring together the most creative minds in science and technology to develop lithography machines that are key to producing faster, cheaper, more energy-efficient microchips. We design, develop, integrate, market and service these advanced machines, which enable our customers - the world’s leading chipmakers - to reduce the size and increase the functionality of their microchips, which in turn leads to smaller, more powerful consumer electronics. Our headquarters are in Veldhoven, Netherlands, and we have 18 office locations around the United States including main offices in Chandler, Arizona, San Jose and San Diego, California, Wilton, Connecticut, and Hillsboro, Oregon. Having joined the ASML family in 2016, HMI has become an integral part of our holistic lithography portfolio with innovative e-beam inspections solutions.

Job Mission

The mission of the team is to develop an in house high performance computation cluster system for high throughput eBeam inspection tool. The high performance computation system handles large data set, high data transfer rate and process computation heavy algorithms. Team is responsible for the design and implement a future proof software framework on top of cluster with dozens to hundreds or even more heterogeneous super-computer nodes. Review and collaborate with other functional groups on product requirements. Design and implement, Job Submission layer to handle front-end connection; Resource Management and Job Scheduling Layer to queue and distribute jobs basing on priority and resource requirement on heterogeneous resource pool; Job Process Layer to process variety of jobs in single or multiple steps with fault tolerance.

This position may require access to controlled technology, as defined in the Export Administration Regulations (15 C.F.R. § 730, et seq.). Qualified candidates must be legally authorized to access such controlled technology prior to beginning work. Business demands may require the Company to proceed with candidates who are immediately eligible to access controlled technology.

Job Description

  • Support applications of the software to HPC in both research and production environments
  • Design and implement the distributed computation system using C++ in Linux environment.
  • Analyzes software requirements and determine feasibility solution within time and cost constraints.
  • Using design pattern and OOD to formulate and design software modules, using scientific analysis and mathematical models to predict and measure outcome and consequences of the design.
  • Enhancement, debug and maintain legacy computation software system.
  • Implement unit test and have good practice in integration test, regression test and documentation.
  • Software issue analysis, debugging and technical support.
  • Analyze the performance of the computation system to help identify performance bottlenecks.
  • Design and develop techniques and algorithms to improve the performance of the software across multiple application domains.
  • Support applications of the software to HPC in both research and production environments

Education

  • Bachelor’s degree in Computer Science, Mathematics, Science or related fields.Higher degree desired.

Experience

Minimum 5 – 7 years of relevant work related experience with a BS degree.

  • Minimum 2 – 5 years of relevant work related experience with a MS degree.
  • PHD degree with related educational experience in respective field.
  • Expert programming knowledge in C/C++11 and newer, data structure and operation system.
  • Experience implementing high-quality software in C++, in the field of High Performance Computing (HPC).
  • Experience in Object-Oriented design and concepts.
  • Parallel Programming experience in HPC applications (i.e. OpenMP, Distribution Computing, gRPC, etc.)
  • Experience in network programming, distributed system.
  • Experience in algorithm design, parallel computing and algorithm optimization.
  • Research experience by developing mathematics models and algorithms for data analysis and performance improvement.
  • Knowledge in semiconductor field is plus.
  • Excellent written and verbal communication skills.

Personal skills

  • Can observe and respond to people and situations and interact with others encountered in the course of work.
  • Can learn and apply new information or skills.
  • Must be able to read and interpret data, information, and documents.
  • Strong customer focus and commitment to customer satisfaction through prioritization, quality, efficiency and professionalism.
  • Ability to complete assignments with attention to detail and high degree of accuracy.
  • Proven ability to perform effectively in a demanding environment with changing workloads.
  • Result driven-demonstrate ownership and accountability.
  • Identifies bottlenecks and drives improvements.
  • Work independently or as part of a team and follow through on assignments with minimal supervision.
  • Demonstrate open, clear, concise and professional communication.
  • Ability to establish and maintain cooperative working relationships with co-workers and customer.
  • Work according to a strict set of procedures within the provided timelines.

Other information

  • Routinely required to sit; walk; talk; hear; use hands to keyboard, finger, handle, and feel; stoop, kneel, crouch, twist, reach, and stretch. Occasionally required to move around the campus.
  • Occasionally lift and/or move up to 20 pounds.
  • May require travel (specify domestic and/or international) dependent on business needs – specify percentage of travel.
  • Specific vision abilities required by this job include close vision, color vision, peripheral vision, depth perception, and ability to adjust focus.
  • Can observe and respond to people and situations and interact with others encountered in the course of work.
  • Can learn and apply new information or skills.
  • Must be able to read and interpret data, information, and documents.
  • Strong customer focus and commitment to customer satisfaction through prioritization, quality, efficiency and professionalism.
  • Ability to complete assignments with attention to detail and high degree of accuracy.
  • Proven ability to perform effectively in a demanding environment with changing workloads and deadlines.
  • Result driven-demonstrate ownership and accountability.
  • Identifies bottlenecks and drives improvements.
  • Work independently or as part of a team and follow through on assignments with minimal supervision.
  • Demonstrate open, clear, concise and professional communication.
  • Ability to establish and maintain cooperative working relationships with manager, co-workers and customer.
  • Work according to a strict set of procedures within the provided timelines.

EOE AA M/F/Veteran/Disability