Systems Engineer I
ASM
About the Role
ASM is seeking a motivated Systems Engineer I to support software-driven automation tools for semiconductor equipment and field-service workflows. This role is ideal for an early-career engineer with strong software fundamentals who is comfortable working close to hardware, robotics, cameras, HMIs, measurement tools, databases, and production/service environments.
Key Responsibilities
- Develop and maintain software applications, diagnostic tools, and HMI interfaces for semiconductor equipment, lab fixtures, robotic tools, and field-service workflows.
- Build operator-facing workflows that are reliable, readable, and easy to use on PCs, HMIs, tablets, or other equipment-connected interfaces.
- Develop frontend/UI and backend logic using Python GUI frameworks, web UI tools, JavaScript/TypeScript, HTML/CSS, APIs/local services, configuration files, logging, and error handling.
- Integrate software with robots, cameras, sensors, measurement devices, motion systems, and industrial equipment.
- Support basic equipment networking, including setting device IP addresses, understanding subnets, and connecting PCs/HMIs to robots, cameras, and controllers.
- Build responsive application workflows using threading, synchronization, asynchronous execution, or queue-based updates so long-running robot, camera, measurement, or communication tasks do not freeze the HMI/operator interface.
- Support databases and data pipelines for measurement results, equipment records, part data, reports, analytics, model inputs/outputs, and traceability.
- Support data-driven and AI/ML workflows where applicable, including feature extraction, model integration, similarity scoring, quality/health checks, prediction outputs, and engineering analytics.
- Create and maintain scripts, tools, installers, documentation, validation notes, and test procedures needed to support applications in lab, production, or customer-adjacent environments.
Requirements & Tech Stack
- Proficiency in Python for application development, automation, scripting, debugging, data handling, or equipment integration.
- Experience with C/C++ or other lower-level programming languages is helpful for debugging, device integration, or performance-critical workflows.
- Experience developing user interfaces, dashboards, diagnostic tools, HMIs, or local software applications.
- Familiarity with JavaScript/TypeScript, HTML, CSS, Python UI frameworks, or similar frontend/HMI technologies.
- Familiarity with backend application logic, APIs/local services, configuration files, logging, error handling, and software testing.
- Familiarity with databases or structured data using SQL, SQLite, JSON, Excel/CSV, NoSQL, or similar tools.
- Basic understanding of networking concepts such as IP addresses, subnets, ports, and local equipment connectivity.
- Exposure to robotics, cameras, sensors, motion systems, measurement devices, machine vision, or industrial equipment is preferred.
- Exposure to AI/ML or data science tools such as scikit-learn, PyTorch, TensorFlow, NumPy, pandas, or similar frameworks is preferred.
- Experience with threading, synchronization, asynchronous programming, event loops, or queue-based UI updates is preferred.
- Experience with software packaging and deployment tools such as PyInstaller, NSIS, virtual environments, PowerShell, Git, GitLab, CI/CD pipelines, or Microsoft Azure is a plus.
- Strong analytical and problem-solving skills, especially when debugging systems that combine software, hardware, data, and operator workflows.
- Ability to communicate technical information clearly and work effectively in a cross-functional engineering environment.
Qualifications
- Bachelor’s or Master’s degree in Computer Science, Computer Engineering, Robotics, Mechatronics, Systems Engineering, or a related technical field.