30+ days ago - req28511
High Tech Java Developer
Research & development
Computer science & software engineering
In a nutshell
Research & development
Computer science & software engineering
Though ASML is classified as a hardware company, we in fact have one of the world´s largest and most pioneering Java communities! The ASML Javaenvironment is extremely attractive for prospective Java engineers because it combines big data with extreme complexity in our applications. From data intensive applications doing advanced analytics to novel machine learning and full stack development, the possibilities are endless.
At ASML, our Java teams create and implement software designs that run in the most modern semiconductor fabs in the world, helping our customers like Samsung, Intel and TSMC make computer chips faster, smaller, and more efficient. Here, we’re always pushing the boundaries of what’s possible.
We are always looking for talented Java developers who know how to apply the latest Java SE or Java EE technologies, to join the teams responsible for creating software for high volume manufacturing automation in semiconductor fabs. Could this be your next job? Apply with us now!
As a Java developer you will join one of our multinational Scrum teams to create state-of-the-art software solutions. Teams are composed of five to ten developer, a Scrum Master and a Product Owner. We are committed to following a (scaled) Agile way of working, with sprints and demos every two weeks, aiming for frequent releases of working software. In all teams we cooperate with internal and external experts from different knowledge domains to discover and build the best solutions possible. We use tools like Continuous Integration with GIT, Jira and Bamboo. We move fast to help our customers reach their goals, and we strive to create reliable and well-tested software; because failures in our software stack can severely impact customers' operations.
All these dedicated Java teams work in unison on different products and platforms across ASML. Here’s a brief description of what the different Java teams do:
- Create software infrastructure using Java EE, which provides access to SQL and NoSQL storage, reliably manages job queues with switch-over and fail-over features, periodically collects of information from networked systems in the Fab and offers big-data-like storage and computational capabilities;
- Create on-site solutions that continuously monitors all scanners in a customer’s domain. The server can detect system failures before they happen and identify needed corrective actions.
- Provide industrial automation tasks that take care of unattended complex adjustments to the manufacturing process, in order to enable highest yields in high volume manufacturing;
- Implement and validate algorithms that give our customers the power to reach optimal results during manufacturing;
- Create applications that help fine-tune the manufacturing process, helping process engineers to navigate the complexities of process set-up through excellent UX design.
- Select and manage IT infrastructure that helps us run the software on a multi-blade server with plenty of storage. In this area, we use virtualization technologies, Linux, Python and Splunk. In addition to Java.
- Use emerging technologies to turn vision into reality, e.g. using big data and machine learning;
- Designing and implementing software, working on the product backlog defined by the Product Owner;
- Ensuring the quality of personal deliverables by designing and implementing automated tests on unit and integration levels;
- Cooperating with other teams to ensure consistent implementation of the architecture;- and agreeing on interfaces and timing of cross-team deliveries;
- Troubleshooting, analyzing, and solving integration issues both from internal alpha and beta tests as well as those reported by our customers;
- Writing or updating product documentation in accordance with company processes;
- Suggesting improvements to our technical solutions and way of working, and implementing them in alignment with your team and their stakeholders.
Main technologies and tools: JavaSE and EE ranging from 1.8 and beyond. Junit, Mockito, XML, SQL, JSON, Linux, Hibernate, Git, JIRA.
A relevant MSc or higher in the area of IT, computer science, mathematics, physics or electronics.
If you already have Java EE software development experience in the high-tech industry, and you are applying for a mid-level, or senior position, you need to have the following:
- At least 5 years of Java SE or Java EE hands-on experience in service-oriented design and micro services architectures
- Including Web Services like REST;
- Good understanding and insight of Java and Java EE internals (Class loading, Memory Management, Transaction management, Multi-threading, …)
- Containers / Orchestration likeDocker and/or Kubernetes;
- Design and development of server-side software using object-oriented paradigm;
- Expertise in using software development tools such as Jira, Bamboo / Jenkins, SonarQube, Git, Eclipse or IntelliJ;
- Data base connectivity (QueryDSL, ORM, Hibernate or similar frameworks)
- Creation of automated unit and integration tests i.e. familiar with testing frameworks Selenium, Cucumber;
- Working with Continuous Integration;
- Working as a part of a Scrum team.
- Affinity with math, data analytics and data science.
- Experience with Big Data databases is preferred.
- First of all, you’re passionate about technology and are excited by the idea that your work will impact millions of end-users worldwide.
- You’re analytical, and product, quality and detail-oriented.
- You like to investigate issues, and you’re a creative problem solver.
- You’re open open-minded, you like to discuss technical challenges, and you want to push the boundaries of technology.
- You’re an innovator and you constantly seek to improve your knowledge and your work.
- You take ownership and you support your team - you’re the backbone of your group.
- You’re client and quality oriented – you don’t settle for second-best solutions, but strive to find the best ways to acquire top results.
- You manage your time very well, finding always the good balance between the needed team discussions and meetings, and getting your work done.
- You hold very good communication skills, with clarity, appropriate statements, and to the point.
- You are proficient in English, proficiency in German is a plus.
Keywords: software engineering, computer science, Agile, Scrum, Java, database, CI/CD, product development, object oriented.