25 days ago - req30868

Senior Software Algorithm Engineer

Research & development

Computer science & software engineering

Electrical engineering


In a nutshell


San Jose - CA, US


Research & development


0-2 years



Job Category

Computer science & software engineering, Electrical engineering, Physics

Introduction to the job

In the software research and development (R&D) team, you will be a key member to develop high quality software and contribute to all phases of the development process from designing to release. You must be responsible for independently developing and testing the algorithms and turn general requirement definitions into functioning modules. A good candidate should exhibit strategic thinking, be self-motivated and collaborative with team members.

Role and responsibilities

We are looking for a senior algorithm/software engineer. Requirements include a solid understanding in data structures and algorithms, with 5 year experience in C++ and/or other object oriented software developments. This position requires programing experience in multi-threaded parallel applications in Linux environments.This position is to develop new features and to improve performance for Tachyon FEM+ models, Newron models, and MXP, and to help taking these applications to the next level.

Tachyon FEM+ models are the world-leading lithography models that enable the OPC (Optical Proximity Correction) process for microchip manufacturing, while the Newron models are the extensions that utilizing the deep convolution network to further boost the accuracy and performance. MXP is the data cleaning and data collection tool to provide reliable data for model calibration and is part of the end-to-end solutions for achieving the best model performance for Tachyon FEM+ and Newron models.

What you will be doing at this position:

·Designing and developing algorithms in C++ to improve runtime and accuracy of Tachyon FEM+ model, Newron model and MXP applications. The task includes developing new algorithm and data structures from the scratch, adopting known solutions via using a third party library or via reimplementation from a known/published algorithms.

·Integrating algorithms into module(s) that can be used in a distributed computing system in a Linux environment. The task includes interface design and optimizing data distribution to maximize the efficiency of the algorithms in a distributed environment.

·Unit testing algorithms and modules.

·Developing machine-learning based models and solutions for image processing, image recognition in MXP, or modules in FEM+/Newron models.

·Integrating existing modules into an end-to-end solution, in C++ or Python scripts,

·Evaluating pro and cons among solutions and suggesting the best solutions to fulfill the requirements.

·Keeping good documentation of design and implementations.


·As the domain knowledge is in lithography model/process and image processing on electron microscopy, a good understanding of these fields will be essential.

Education and experience

  • Ph.D. or M.S. in computer science, electric engineering, physics, applied mathematics, or related areas
  • 3+ year experience in C++ and/or other object-oriented software development.
  • Solid understanding in data structures and algorithms.
  • Experience in developing and debugging multi-threaded/parallel applications.
  • Familiar with SQL, Linux environment and scripting languages.
  • Experience in image processing, computational geometry, large data application, high performance computing, scientific simulation, and machine learning (data science) is a good plus.
  • Experience in CUDA programming is a good plus.
  • Knowledge in semiconductor lithography and IC design is a good 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 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:

·Excellent written and verbal communication skills

·Ability to work closely with other engineers, product managers and customer support

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.

Other information

EOE AA M/F/Veteran/Disability

Need to know more about applying for a job at ASML? Read our frequently asked questions.