ASML is one of the world’s leading manufacturers of semiconductor-chip-making equipment. A majority of the world’s microchips receive their critical lithographic patterning in machines made by ASML. In addition, ASML produces metrology tools and advanced applications to analyze and optimize the performance of the customer production process. A large part of the development work linked to these tools is software driven. When people think ‘software’, they often think of companies like Google or Microsoft. Even though ASML is classified as a hardware company, we in fact have one of the world´s largest and most pioneering Java communities
Develop software services in a Java cloud native driven microservice architecture. The components you will be working on deliver an abstraction layer between the ASML core equipment (scanners and metrology, collection of data) and the intelligent correction software engines that rely on this data. Next to the collection and storage of the data also deliver scheduling, notification and other generic building blocks. The software platform you deliver shall simplify the development and updates of the correction engines and enable future data driven use cases to be developed on top of your platform.
As a Virtual Compute Platform (VCP) platform Java developer you are part of a Scrum Team. Our Scrum Teams are relatively large; teams are composed of about 8-10 engineers. You develop in Java 8, migration to Java 11 is planned. The development is done using a Bamboo based CI/CD pipeline. You test your code at several stages before you deliver. We have automated unit and some integration tests. We measure coverage in SonarQube. Coverage levels are extremely high.
As we develop platform software you will also be able to work on larger test clusters composed of many compute, edge, storage and master nodes. We apply open source technologies like Kafka as well as some licensed products. Current platform architecture is based on DC/OS, we invest the introduction of K8S on this platform.
Responsibilities of the Platform Java Developer:
Development of platform Microservices using Java 8 / Java 11
Review detailed designs, contribute
Increase stability and reliability of VCP by automated testing and automation
Improve the functionality and reliability of VCP as a platform
Consider the ASML use case, platform running on site with complex access procedures; ensure logging, observability and telemetry are in place to support troubleshooting of the most complex issue
Apply JIRA hygiene in order to minimize administrative overhead for project planning tasks conducted by PO, SM and partially team.
Issue investigation and resolution. Take up an issue, bite into it and do not let go until understood and resolved. Ask for support when this is the more efficient path to solve but do not allow issue tennis.
Continuously improve to drive #issues down
Act as an expert, not as an executioner; help clarify requirements before start and during development. Seek understanding and be able to explain to drive the creation of the right product in the right timeframe.
Highly valued qualifications & experiences:
Bachelor or Master’s in Computer Science or related area
Required qualifications & experiences
Knowledge of distributed computing systems, practical experience
Experienced in build and release infrastructure, Maven, Nexus, Bamboo, Github
Developed Java for a few years (> 3)
Developed Microservices, large experience with Spring Boot
Experience with database technologies such as SQL, MongoDB
Experience with distributed message queues/logs such as Kafka, RabbitMQ
4+ years’ experience in topics above
Understand inter process communication and JVM peculiarities.
Experienced Java EE developer, fluent in Java 8, Java 11
Experience with new technology introduction @ zero downtime including data migration
Fan of automatic testing and qualification, if can be part of CI/CD pipeline.
Problem solving / Go-fix mentality
Structured thinking, structured communication
Automate testing over repeated manual test
Can balance short term business needs and long-term stability, can manage technical debt
Broad Obsession about e.g., Java, Kafka, Mongo, Microservices
Ability to dive deep into a specific topic even though not being involved in earlier development
Evolutionary mindset over drive to redo from scratch
Think logically and use that ability to solve problems
hands on mentality
Have fun working in a team, even under corona conditions
Available to work (remotely) outside regular office hours when it proves that attempt to build a fail-safe system was not yet successful. We really want this to be an exception, not a rule
Context of the position
You will be working at Business Line Applications. The BL Apps develops Analytics & Control solutions that improve the accuracy of performance metrics (such as overlay, focus, critical dimension) as measured on the end product of a fab process (wafers with chip structures). The foundation underneath these processing algorithms is a distributed computing platform assembled in house and as said, installed at ASML customers WW. The platform is developed in ASML and applies proven cloud technologies. As such experience on cloud is a prerequisite.
There are 3 Java teams, around 20 engineers, Product Owners and Scrum Masters working on the platform layers. In 2021 we foresee a growth with an additional team.
The application development teams that develop the business critical correction engines (your customers) consist of 15-25 teams.