High Tech Java Developer
||Design Engineering System Engineering
||Software Engineering Information Technology
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. The ASML Java environment is extremely attractive for prospective Java engineers because it combines big data with extreme complexity. From Hadoop retrieval to machine learning to 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 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.
- Create visualization and analytics applications for visual performance monitoring, which also help to sift through huge amounts of data to pinpoint potential issues and solutions. For these applications, we use Spotfire and R as main technologies.
- 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: Java SE and EE ranging from 1.6 to the latest version. Junit, Mockito, XML, SQL, Linux, Hibernate, Git, JIR.
A relevant BSc or MSc in the area of IT, electronics or computer engineering.
If you already have Java 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 experience:
- At least 4 years of Java SE or Java EE development experience;
- Design and development of server-side software using object-oriented paradigm;
- Creation of automated unit and integration tests using mocks and stubs;
- Working with Continuous Integration;
- Working as a part of a Scrum team;
- Experience with the following is a plus:
- Creation of web-based user interface;
- Affinity with math, data science or machine learning.
- 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- and quality-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.
So, you’ve read the vacancy and are about to click the “apply for this job” button. That’s great! To make everything go as smoothly as possible, we would really appreciate it if you could take a look at the
following tips from us.
Although you have the option to upload your Linkedin profile during the application process, we would like to ask you to upload a detailed CV and a personalized cover letter. Adding your Linkedin, Github, or any other relevant profile in your CV is always a good idea!
Before uploading your CV, can you please make sure that the following information is present:
- Short information about the company / sector/ domain / product.
- Context of the project (how big / complex were the projects / what were the goals).
- What was the size of the team / who was involved (think of developers, testers, architect, product owners, scrum master) / what was your role in the team.
- Which languages / tools / frameworks / versions (recent) were used during the project (full stack, server side, client side).
- In which projects an agile methodology was used.
- What were the results of the projects (as a team and individually) / your contribution and achievements.