Equipment Software Engineer
Role Overview
We are looking for Equipment Software Engineers to design and implement robust, real-time control software for high-precision automated machinery. You will build the core software architecture that coordinates multi-axis motion, vision feedback, laser/process timing, and user interfaces into a unified system.
Key Responsibilities
Architecture & Development: Design and develop modular, scalable software applications for equipment automation using C++ and/or C#.
Motion & IO Integration: Integrate multi-axis motion controllers (e.g., ACS, Trio, Delta Tau, Beckhoff, etc.) and fieldbus communication protocols (EtherCAT, CANopen, etc.).
Subsystem Synchronization: Implement precise hardware-synchronized control loops, ensuring tight coordination between vision triggers, laser firing, and motion trajectories.
HMI/GUI Development: Design intuitive, operator-friendly Graphical User Interfaces (GUIs) for machine monitoring, recipe management, error handling, and data logging.
Testing & Commissioning: Conduct software-in-the-loop (SIL) and hardware-in-the-loop (HIL) testing, performance profiling, and on-site machine debugging.
Qualifications & Requirements
Education: Bachelor’s or Master’s degree in Software Engineering, Computer Science, Mechatronics, or Electrical Engineering.
Experience: 3+ years of experience developing software for automated capital equipment, robotics, or high-precision machinery.
Technical Skills:
Expertise in C/C++ and/or C# (.NET).
Solid understanding of multithreading, asynchronous programming, and real-time operating systems (RTOS).
Experience with industrial communication protocols (e.g. EtherCAT, etc.).
Familiarity with version control systems (Git) and Agile development environments.