Job Responsibilities:
- Primary focus of this position is to develop complex software/firmware modules for machine control in semiconductor inspection systems.
- Join team to develop groundbreaking and creative solutions to exciting problems rarely found elsewhere.
- Project involves demanding real-time embedded applications including interrupt-driven task-based multi-threaded software for electro-mechanical control system running on a real-time operating system (RTOS) such as real-time Linux and /or VxWorks for a high-reliability application.
- Develop SW/FW using C/C++ on Linux/RTOS to communicate with custom and 3rd party motion controllers using interfaces like Ethernet, Serial-RS232 and/or USB.
- Work closely with multidisciplinary engineering teams, including electrical, mechanical, optics and other software teams to acquire in-depth domain knowledge and solve system problems.
- Understand system level requirements and translate them into software design and implementation.
- Define and execute test plans to measure the performance of key subsystems. Document, analyze and present the testing results.
- Participate in all stages of software development, including design, implementation, deployment, testing and troubleshooting.
- Work with SCM (Software Configuration Management) team to setup build env and deployment framework.
Required Skills & Qualification:
- MS or PhD in Electrical Engineering/Computer Science/Control Systems or similar fields.
- 4+ years of working experience in an industrial environment in the field of embedded software development.
- Strong knowledge of C/C++ programming, Object-Oriented Design & Programming (OOD & OOP).
- Strong knowledge of Linux/RTOS OS environment, multi- threading, synchronization and SW architecture design.
- Knowledge of communication protocols like Serial-RS232, Ethernet/EtherCAT/ TCP-IP socket/network communication and related programming.
- The candidate should have strong analytical capabilities, strong written and verbal communication, and interpersonal skills to communicate and present their software design for reviews. Must demonstrate perseverance and ability to work collaboratively within a team setting.
- Excellent communication skills. Self-motivated to excel in responsible tasks. Possess high curiosity, be a fast learner, and have the strive to turn prototype ideas into quality production code used in mission critical applications.
- Strong software debugging and troubleshooting skills are required.
Preferred (nice to have) Skills:
- Hands on experience and laboratory exposure to electrical, mechanical and optical measurement instruments
- Experience in semiconductor faboperations/manufacturingtechnology.
- Linux administration knowledge and UML knowledge.
- Knowledge of Python or other scripting language
- Knowledge of motion control system with Stepper/Servo/Piezo motors, servo control loop (e.g. PID), classical or modern control theory.
- Systems thinking based on first principle and physics.
Doctorate (Academic) Degree and 0 years related work experience; Master's Level Degree and related work experience of 3 years; Bachelor's Level Degree and related work experience of 5 years