You can withdraw your consent at any time on our cookie consent page.Configure your cookie settings and confirm to save your settings. You can withdraw or change your consent at any time on our cookie consent page.
Senior Software Engineer (HPCC)
Research & development
Computer science & software engineering
In a nutshell
San Jose - CA, US
Research & development
Computer science & software engineering, Electrical engineering, Data science
Introduction to the job
The mission of the team is to develop an in house computation cluster system for high throughput eBeam inspection tool. The 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.
Role and responsibilities
- 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/filed service for the software issue in HPC for both research and production environments.
Education and experience
- Master degree in Computer Science, Mathematics, Science, Engineering or related fields.
- Minimum 3 – 7 years of relevant work related experience with a MS degree.
- Experienced programming knowledge in C++ 98, 11 and newer, data structure and operation system.
- Experience in Object-Oriented design and concepts.
- Experience in network programming, distributed system.
- Experience in algorithm design, parallel computing and algorithm optimization.
- Understand mathematics models and algorithms for data analysis and performance improvement.
- Knowledge in the field of High Performance Computing (HPC) area, Parallel Programming for HPC applications (i.e. OpenMP, Distribution Computing, gRPC, etc.) is a plus.
Working at the cutting edge of tech, you’ll always have new challenges and new problems to solve – and working together is the only way to do that. You won’t work in a silo. Instead, you’ll be part of a creative, dynamic work environment where you’ll collaborate with supportive colleagues. There is always space for creative and unique points of view. You’ll have the flexibility and trust to choose how best to tackle tasks and solve problems.
To thrive in this job, you’ll need the following skills:
- Knowledge in semiconductor field is plus.
- Excellent written and verbal communication skills.
- 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.
Diversity & Inclusion
ASML is an Equal Opportunity Employer that values and respects the importance of a diverse and inclusive workforce. It is the policy of the company to recruit, hire, train and promote persons in all job titles without regard to race, color, religion, sex, age, national origin, veteran status, disability, sexual orientation, or gender identity. We recognize that diversity and inclusion is a driving force in the success of our company.
EOE AA M/F/Veteran/Disability
Need to know more about applying for a job at ASML? Read our frequently asked questions.