Overview
As a Software Engineer for Semiconductor Equipment Control Software at Sioux, you are responsible for the entire software engineering process covering software requirements engineering, software design, software construction (implementation), software testing, program analysis, and software maintenance. On this career trajectory you can advance into the role of a lead software or system architect in line with the impact and independence of your individual contributions to the team that you are guiding.
The role will involve developing equipment control software to support customers in the mentioned domains. The role involves engineering equipment control software for semiconductor equipment and bringing novel AI algorithms into the field.
Responsibilities
- Collaborating with customers / stakeholders to define product architecture
- Analyze customer needs in software requirement engineering
- Analyzing, designing, implementing, and testing the control software
- Conducting peer reviews to ensure product quality
- Leading the development team and ensuring team performance
- Working as an integral part of a Scrum team and handling user stories across the full stack
- Developing functionality using Agile practices, emphasizing speed and quality
The Job Scope
Technically, the job scope comprises developing testable, high-quality equipment control software covering the full semiconductor equipment control software stack from low-level FPGA, i.e. VHDL, and / or PLC programming, to high-level human-machine interface (HMI / UI) development in technologies like WPF or MAUI. You will collaborate with our algorithm team on integrating their AI algorithms into the equipment requiring an understanding of the machine learning (ML) pipeline, neural networks, deep learning, large language models (LLMs), as well as basic understanding of other engineering disciplines like mechanical, mechatronics, optical, or electrical engineering.
The job scope comprises leading the Scrum team technically through sprint planning, design review, pull request review, design / code refactoring activities, i.e. covering the entire software engineering lifecycle.
In particular the job scope covers the following layers of the semiconductor equipment control software development :
Implementing the equipment's hardware abstraction layer to enable a programmable interface for components like wafer aligners, robot transfer arms, wafer stages, load ports for accessing wafer carriers, I / Os for e.g. the equipment's traffic light towerImplementing the equipment's devices and domain layer to model SEMI-compliant state machines for the equipment's sub-modules including scheduling (sequencing) to enable functionality like loading wafers from the carrier via the aligner, where the substrate ID (OCR ID) is read, into the process chamberDeveloping the equipment's application layer to support functionality like recipe management (process program management), system calibration including positional error measurement and compensationImplementing the equipment's human-machine interface (UI) compliant with the SEMI E95 standard to meet the requirements of modern diffusion as well as assembly and test manufacturing sitesImplement the infrastructure layer with functionality to read / write substrate maps (wafer maps as well as strip maps), test data files (like KLARF), checksum generation and verification according to SEMI M12Qualifications and Experience
A technical background with a higher professional or university education with a formal education in software engineeringA background in the semiconductor, or analytical domain with an understanding of semiconductor diffusion processes (front-end) like photolithography, ion-implant, wet- / dry-etching, furnaces, backside metallization, bumping, wafer test and knowledge of assembly and test processes (back-end) like sawing, die bonding, wire bonding, singulation, final testExperience in developing equipment control applications, including working with PC-based control, embedded controller, or motion controller. Experience with common FPGA and / or PLCs is desiredMinimum 8 years of experience in object-oriented programming, and UML tools. 5 years plus in a systems programming language like C++Minimum 8 years in object-oriented analysis and design with common design patternsMinimum 8 years in active design refactoring with CleanCode / SOLIDolid principle, and design refactoring with common design patternsMinimum 5 years leading Scrum development teams with requirement engineering, Sprints managements and technical design reviewsHas seen a wafer factoring (diffusion center) or assembly and test plant from the inside and is aware of concepts like preventive maintenance, statistical process control (SPC), and fault detection and classification (FDC)Desirable Skillset
Able to handle complex software solutionsAble to manage stakeholders (internal and external), able to sell the solution or achieve buy-inAble to mentor the team not only on technical levelAble to manage customer requirements and translate them into a system in brown field (there is an existing solution) and green field (there is no existing solution yet) scenariosExperience with Object-Oriented Analysis and Design (OOAD) and programmingExperience with architectural splits in front-end and back-end like MVC, MVVMExperience with UI technologies like WPF with the respective historical background like how it evolved from Win32Experience with TDD / unit test frameworks (like xUnit, Boost.Test), BDD (like reqnroll)Real-time driver development for RTOS or WindowsExperience in VHDL (FPGA programming) or any other real-time experienceWorked with Agile Scrum and Kanban teamWorked with git workflow with online repositories like Gitlab, Github, Bitbucket etcWorked with Continuous Integration toolsFamiliarity with SEMI standards, in particular SECS / GEM, GEM300, Equipment Data Acquisition (EDA), substrate mapping (E142)Desirable Soft Skills
A preference for autonomy and responsibility in organizing your workStrong analytical and problem-solving skillsExcellent communication skills and ability to work effectively within a geographically distributed teamGood leadership skills to lead a small team of 8-12 developersWhat We Can Offer
Our employees are our strength and together we want to achieve the maximum. That is why we invest a lot in our employees, through generous development budgets and personal attention. According to our employees, this is what makes the difference at Sioux. We are proud of that. For us, success is more than just a good salary : it is also about feeling valued, getting responsibilities, and to be able continuously develop oneself.
Internal training, coaching, and a generous development budget of 5000 SGD / per yearVaried work due to the diversity in technologies, markets, and projectsCompetitive salary, AWS, and variable bonusAn open culture that focuses on collaboration, learning, and having funAn innovative work environmentLocation
Our office is conveniently located next to the Tai Seng MRT station.