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
IT QA Engineering Intern - Rookie Program SS' 2025
Join Under Armour's Rookie Program as an IT QA Engineering Intern in Amsterdam. Gain hands-on experience in QA engineering with a focus on testing and agile processes.
Associate Software Engineer - Payments Domain
Join as an Associate Software Engineer in Amsterdam to develop secure payment solutions using PHP in a collaborative environment.
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.
Lead Developer with DevOps and Functional Programming
Join Reaktor as a Lead Developer in Amsterdam, focusing on DevOps, Functional Programming, and JavaScript in a hybrid work environment.
Senior Software Engineer III - Java
Join TomTom as a Senior Software Engineer III in Amsterdam, focusing on Java and back-end development in a hybrid work environment.
Senior Software Engineer - Satellite Communications
Join ST Engineering iDirect as a Senior Software Engineer to develop satellite communication products using C++, Linux, and Agile methodologies.
Medior Front-End Developer (Angular)
Join Ecolab as a Medior Front-End Developer focusing on Angular, TypeScript, and JavaScript in a hybrid role in Amsterdam.
Senior Java Developer
Join our team as a Senior Java Developer to design and develop high-quality software applications in a dynamic, hybrid work environment.
Production Engineer
Join Optiver as a Production Engineer in Amsterdam to manage live trading environments and enhance system reliability and performance.
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.
Senior Fullstack Developer for AI-Driven Mission Technologies
Seeking a Senior Fullstack Developer for AI-driven mission technologies, focusing on Java, JavaScript, Python, and C++. Remote work available.
PLC Software Engineer
Join TMC as a PLC Software Engineer in Amsterdam, working on industrial automation projects with PLC, SCADA, and DCS systems.
Senior Security Engineer
Join Atos as a Senior Security Engineer in Amstelveen, focusing on cybersecurity, network security, and vulnerability management.
Senior C++ Computer Vision Engineer
Join a cutting-edge AI-DeepTech startup in Berlin as a Senior C++ Computer Vision Engineer. Work on world-class on-device AI technology.
Solutions Engineer
Join Darktrace as a Solutions Engineer in Amsterdam, providing technical pre-sales and post-sales support in a hybrid work environment.
Junior Fullstack Developer
Join NS as a Junior Fullstack Developer in Utrecht. Work on AWS serverless solutions, eCommerce apps, and DevOps in a dynamic IT team.
Senior Full-Stack Engineer ReactJS/NodeJS
Join Gorgias as a Senior Full-Stack Engineer specializing in ReactJS and NodeJS, enhancing AI-powered ecommerce solutions.
Salesforce Software Engineer
Join AnyDesk as a Salesforce Software Engineer to develop and maintain internal business systems in a dynamic, remote-friendly environment.
Software Engineer - Electric Vehicle Charging Systems
Join GreenFlux as a Software Engineer to develop innovative EV charging solutions in Amsterdam. Work on cutting-edge SaaS platforms for sustainable mobility.
Freelance DevOps Engineer with Python Expertise
Join Greener Power Solutions as a Freelance DevOps Engineer to drive sustainable energy solutions with Python and DevOps expertise.
Staff Software Engineer - Backend
Join Uber as a Staff Software Engineer - Backend, focusing on membership systems. Work with Java, Python, C++, and more in Amsterdam.
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.
Senior Backend Engineer - PHP, Symfony, Laravel
Join Instapro Group as a Senior Backend Engineer, working with PHP, Symfony, and Laravel in a hybrid environment.
Senior Software Engineer: Configuration Management/Deployment
Join Uber's Amsterdam team as a Senior Software Engineer focusing on configuration management and deployment. Solve infrastructure challenges at scale.