Software Quality Assurance Engineer
ASML brings together creative minds in science and technology to develop lithography machines that produce faster, cheaper, and more energy-efficient microchips. Our advanced machines enable leading chipmakers to reduce microchip size and increase functionality, powering smaller, more powerful consumer electronics. This role is based in San Jose, CA, where our Tachyon platform drives capabilities in chip design, photomask making, and wafer printing for semiconductor manufacturing, while LithoTuner optimizes ASML’s leading photolithography tools.
About the role
We are seeking a highly talented individual to join our software quality assurance team. In this role, you will validate the correctness, robustness, and reliability of complex software algorithms used in semiconductor manufacturing. The ideal candidate combines software testing skills with strong logical reasoning, data analysis, and scientific problem-solving. You will collaborate closely with software developers, application engineers, and domain experts to understand algorithm behavior, design meaningful test scenarios, analyze results, and identify subtle software or model behavior issues.
Responsibilities
- Review requirements, specifications, algorithm design documents, and technical design documents to provide timely and meaningful feedback.
- Create detailed, comprehensive, and well-structured test plans and test cases for computational lithography software.
- Design test cases that validate algorithm correctness, numerical behavior, edge conditions, and system-level behavior.
- Analyze software outputs to determine whether results are expected, explainable, and consistent with product requirements.
- Perform modular tests at code level before or after code merge.
- Develop Python and/or C++ based tools to compare results, analyze trends, visualize differences, and improve test efficiency.
- Design, develop, and execute automated tests for complex software workflows.
- Develop test tools that enable SQA to analyze results and execute tests efficiently.
- Identify, record, document thoroughly, and track software defects.
- Perform thorough regression testing when bugs are resolved, with emphasis on result correctness and unintended algorithm behavior changes.
- Work closely with developers, application engineers, and product teams to understand system requirements and expected software behavior.
- Investigate failures by analyzing input data, output data, logs, algorithm behavior, and implementation details.
- Contribute to testing methodology for complex computational software, including validation of boundary cases, numerical stability, and result consistency.
- Stay up to date with relevant testing methods, data analysis approaches, and software validation strategies.
Requirements
- Advanced degree in Computer Science, Mathematics, Physics, Electrical Engineering, Computational Science, or a related engineering or scientific field.
- Research experience or strong analytical project experience is preferred.
- Proficiency in software development with coding skills in C++, Python, or similar programming languages.
- Strong analytical and logical reasoning skills.
- Ability to understand complex systems, identify potential issues, and propose effective solutions.
- Ability to analyze data, compare software results, identify patterns, and explain anomalies.
- Deep understanding of software development principles, design, architecture, and engineering practices.
- Knowledge of test automation frameworks and tools.
- Experience with software testing techniques and methodologies.
- Strong communication, collaboration, and teamwork skills.
- Ability to work with developers and domain experts to understand complex algorithmic or scientific software behavior.
Preferred Qualifications
- Experience with research, modeling, simulation, numerical methods, optimization, computational imaging, lithography, EDA, or semiconductor software.
- Experience validating algorithmic software, scientific software, simulation software, or computational workflows.
- Experience using Python for data analysis, scripting, automation, result comparison, or visualization.
- Experience with C++ debugging, code review, or white-box testing.
- Experience designing tests for edge cases, boundary conditions, numerical precision, or result consistency.
- Prior QA or SQA experience is helpful but not required if the candidate has strong analytical, coding, and problem-solving skills.
Schedule
This is an on-site position in San Jose, California, requiring in-person attendance for work-related events, trainings, and meetings to foster teamwork, collaboration, and innovation. A flexible workplace arrangement allows for remote work up to two days a week.
Office Responsibilities
- 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 dependent on business needs.
- Specific vision abilities required include close vision, color vision, peripheral vision, depth perception, and ability to adjust focus.
Pay
The current base annual salary range for this role is $103,125–$154,688. Pay scales are determined by role, level, location, and alignment with market data. Individual pay is assessed based on job-related skills, relevant education and experience, certifications, abilities, and internal equity.
Benefits
- Medical, dental, vision, and basic life insurance for employees and their families.
- Participation in the Company’s 401k plan.
- Eight (8) hours of vacation leave every month.
- Thirteen (13) paid holidays throughout the calendar year.