Skip to content
All Experience
ASML
ASML·Veldhoven, Netherlands

Software Engineering Intern

·Internship

Project Lead on a four-person team building a reusable Python framework for build-time configuration checkers at ASML, replacing a manual, hard-coded process. New checkers became more than 10x faster to write, with over 80% less code per checker.

  • Project Lead and Communications Officer on a four-person team from the University of Groningen
  • Built a reusable framework that unified build-time configuration checkers around a common set of abstractions
  • Cut the effort to add a new checker by more than 10x, and reduced checker code size by more than 80%
  • Deployed into ASML's build system; a later team reused and extended the framework
Technologies
PythonGitAgile/Scrum

Context

ASML builds the lithography machines that every major chipmaker uses to produce semiconductors. I worked there for seven months as part of a collaboration between ASML and the University of Groningen, on a four-person team of computer science students. I was the Project Lead and the Communications Officer, so I owned both the technical direction and the interface with ASML.

The Problem

ASML's build system runs configuration checkers that catch invalid or inconsistent settings before they reach a production build. Writing a new checker was a manual, hard-coded exercise: each one repeated a lot of the same boilerplate, so adding checks was slow and the code was hard to maintain.

What I Built

We designed and implemented a reusable Python framework that unified checker construction around a small set of shared abstractions. Instead of hand-writing each checker end to end, a developer describes the check against those abstractions and the framework handles the repetitive machinery around it.

The results were concrete:

  • Adding a new checker became more than 10x faster
  • The code needed per checker dropped by more than 80%
  • The framework was deployed into ASML's build system

Architecture, testing, and documentation were treated as first-class deliverables rather than afterthoughts, which is a large part of why a later team was able to pick up the framework, reuse it, and extend it.

What I Learned

This was my first time leading a team on a project with a real external stakeholder. The technical work mattered, but so did keeping ASML and the team aligned on scope and milestones. The habit that stuck with me is that a framework is only reusable if the tests and documentation make it safe for the next person to build on. That is exactly what let a later team pick it up.