ASML logo

Software Engineering Internship - Modularity Improvement in Scanner Software

ASML

Software Engineering Internship: Modularity Improvement within Scanner Software

Introduction

Are you a master's student in Computer Science, Software Engineering, or a related field looking for a graduation or apprentice internship? Do you have a great understanding of design patterns and principles and are comfortable with C++ and Python? Then this internship might be interesting for you!

Background Information

The Metrology Image Alignment Software group is part of the Scanner-Metrology in the Development and Engineering organization at ASML. The core functionality of this group is to develop software solutions for aligning patterns from reticle to wafer using expose side sensors to achieve maximum yielding dies on EUV Twin Scan lithography machines.

Your Assignment

The Image Alignment Metrology Software has grown rapidly during years of development. It has many modules that are further divided into multiple components. Also, the component interfaces have grown in complexity and number. The interfaces are defined in a proprietary IDL (interface definition language) which, together with a scope control mechanism, ensures that the interaction between components, modules, and functional clusters follows ASML architectural guidelines. The IDL is also used to abstract from different programming languages used for the software implementation (mainly C, C++, and Python).

This project aims at analyzing interface interactions and, based on defined metrics, identifying hotspots in ASML’s architecture. Also, propose generic solutions on how to refactor the interfaces for a better architecture with improved modularity.

Suggested Steps:

  • Research architecture/design patterns that are most suitable for requirements such as maintainability, extendibility, and usability.
  • Define metrics to identify architectural hotspots.
  • Propose algorithm/tooling that can map the metrics to proposed architectural/design patterns.
  • Using the proposed algorithm, identify items to improve the modularity index of the software.
  • Propose solutions (design/architectural patterns) on how to improve the interface interactions in the identified improvement items.
  • Implement a prototype for the algorithm showing a tradeoff with alternative solutions (design pattern).

Your Profile

To be a perfect match for this internship, you:

  • Are a master's student in Computer Science, Software Engineering, or a related field.
  • Have experience with design patterns, Object-Oriented Design Principles, and design knowledge for refactoring interfaces and modules.
  • Are comfortable with C++, Python, and working in the Linux shell.
  • Possess soft skills for technical alignments and discussions with multiple stakeholders and are able to lead brainstorming sessions towards meaningful conclusions.
  • Are passionate about research, analyzing trade-offs between alternative solutions to converge towards informed and optimal solutions considering the defined metrics.

This is a master graduation or apprentice internship with a duration of a minimum of 6 months, for 4-5 days a week, starting in Q1 2025.

Learning and Growing

Working at ASML is a journey; an opportunity to never stop learning and growing, and we see it as our responsibility to help you unlock your potential. We offer training and development opportunities, including educational assistance. Here at ASML, you will find an environment where you can take up multiple growth opportunities, master your competencies, and make your mark in a variety of ways.

Belong at ASML

We believe you’ll do your best work when you’re supported by an inclusive environment where you can bring your full self to work. At ASML, you'll feel welcome, recognized, and supported by a company that helps you thrive. We’re a highly diverse group of people. No matter who you are in our company, you can have a real influence. You’ll be empowered by flexible working and well-being programs, as well as participate in employee networks such as: ‘Women’, ‘Sports’, ‘Green’, ’Expats’, and more!

Diversity and 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.

Benefits
Extracted with AI

  • Training and development opportunities
  • Flexible working
  • Inclusive environment
  • Employee networks

Similar jobs

Last update: 23 minutes ago

Mollie logo
Mollie

Associate Software Engineer - Payments Domain

Join as an Associate Software Engineer in Amsterdam to develop secure payment solutions using PHP in a collaborative environment.

Topicus logo
Topicus

Software Engineer - Cloud Applications and Python

Join Topicus as a Software Engineer in Arnhem to develop cloud applications using Python, REST APIs, and ETL processes for healthcare data services.

Barco logo
Barco

Software Engineer with C/C++ and Python

Join Barco as a Software Engineer in Kortrijk, Belgium. Work with C/C++, Python, and Linux in a hybrid environment.

Nebius AI logo
Nebius AI

Senior Software Engineer (C++)

Join Nebius as a Senior Software Engineer (C++) to develop reliable cloud services in a hybrid work environment.

Kennisnet logo
Kennisnet

Software Developer for Educational Platforms

Join Kennisnet as a Software Developer to create innovative educational platforms using Angular, PHP, and more. Hybrid work in Zoetermeer.

IBA logo
IBA

Embedded Software Engineer

Join IBA as an Embedded Software Engineer focusing on Ethernet networking and embedded programming. Entry-level position in Louvain-la-Neuve.

Stichting RINIS logo
Stichting RINIS

Senior Developer with C#, Java, and Python

Join RINIS as a Senior Developer to build secure data exchange solutions using C#, Java, Python, and more in a hybrid work environment.

Elastic logo
Elastic

Software Engineer II - Developer Experience

Join Elastic as a Software Engineer II in Developer Experience, focusing on test frameworks for Kibana. Remote work, competitive benefits.

Applied Intuition logo
Applied Intuition

Software Engineer - Autonomous Driving

Join Applied Intuition as a Software Engineer in Munich to tackle autonomous driving challenges with top ADAS/AV programs.

Sofico logo
Sofico

Senior Software Engineer - Java, Microservices

Join Sofico as a Senior Software Engineer focusing on Java and Microservices in Ghent. Work on ERP solutions for automotive finance and leasing.

VIAVI Solutions logo
VIAVI Solutions

Senior Software Engineer (C++, Python & Cloud)

Join VIAVI Solutions as a Senior Software Engineer specializing in C++, Python, and cloud technologies. Work in a hybrid environment in Berlin.

Telenet logo
Telenet

Software Engineer with Design Affinity

Join Telenet as a Software Engineer with design skills to develop innovative campaigns using HTML, CSS, and JavaScript.

Conspect logo
Conspect

Senior Java Software Developer

Join Conspect as a Senior Java Software Developer, working on diverse projects with Java, Spring, and more. Enjoy a great salary and benefits.

Sofico logo
Sofico

Senior Software Engineer - Java, Microservices

Join Sofico as a Senior Software Engineer focusing on Java and Microservices in Bavaria, Germany. Work on ERP solutions for automotive finance.

ASML logo
ASML

Computer Science Internship in Continuous Integration Pipelines

Join ASML as a Computer Science Intern to enhance continuous integration pipelines using Python and GitHub.

Fujitsu logo
Fujitsu

Entry Level Software Developer (C/C++, Assembler)

Join Fujitsu as an Entry Level Software Developer working with C/C++ and Assembler in a remote role focused on mainframe systems.

Nederlandse Spoorwegen logo
Nederlandse Spoorwegen

Senior Lead Fullstack Developer with Frontend Focus

Join NS as a Senior Lead Fullstack Developer focusing on frontend, working with Angular, AWS, and TypeScript in a dynamic e-commerce environment.

Optiver logo
Optiver

Entry Level Software Engineer - Platform (Python)

Join Optiver as an Entry Level Software Engineer - Platform, focusing on Python and infrastructure automation in Amsterdam.

Bitmovin logo
Bitmovin

Senior C++ Software Engineer

Join Bitmovin as a Senior C++ Software Engineer to develop scalable video streaming solutions using modern C++ and cloud-native architectures.

Huawei Nederland logo
Huawei Nederland

Information Retrieval Algorithm Engineer

Join Huawei as an Information Retrieval Algorithm Engineer to develop cutting-edge AI technologies in Amsterdam.

NCR Voyix logo
NCR Voyix

Backend Software Engineer

Join NCR Voyix as a Backend Software Engineer in Amsterdam. Design, build, and maintain scalable backend systems using Java, Node.js, and cloud platforms.

Computer Futures logo
Computer Futures

.NET Developer / Tester

.NET Developer / Tester role in Melle, Belgium. Work on web applications, testing, and development in a hybrid environment.

Fujitsu logo
Fujitsu

Software Developer (C/C++, Assembler)

Join Fujitsu as a Software Developer specializing in C/C++ and Assembler for mainframe systems, offering flexible work and extensive benefits.

smartmicro logo
smartmicro

Fullstack Developer (m/f/d) with JavaScript and Python

Join smartmicro as a Fullstack Developer to work on high-tech radar sensors using JavaScript, Python, and more in Brunswick, Germany.