Job Description
Cohu is a global supplier of semiconductor test and automation equipment. In this role you will build and sustain software that controls complex electro-mechanical test handlers used in high-volume semiconductor manufacturing.
Design and develop proprietary application and framework software for control machines, automation systems, and complex electro-mechanical platforms. This role spans full lifecycle development—from architecture and design through integration, deployment, and customer support—focused on uptime, safety, and deterministic real-time behavior.
Essential Functions / Responsibilities
- Design, develop, test, and integrate machine control software using C++ and C# in a Visual Studio environment.
- Develop real-time control logic for motion systems (motors, encoders, servo/stepper control), sensors, and digital/analog IO.
- Drive system architecture, interface definitions, and software design reviews; establish patterns that scale across product variants.
- Own customer escalation response: troubleshoot issues using logs, instrumentation, and on-equipment debugging; deliver corrective actions and prevention plans.
- Partner with Manufacturing and Field Service to resolve production-line and installed-base issues, restore system uptime, and improve reliability.
- Build verification strategies that push failure detection upstream (simulation, automated system tests, regression suites) and reduce re-occurrence.
- Interface with customers and cross-functional teams (EE/ME/Test/Apps) to align requirements, integration plans, and release readiness.
- Mentor engineers through code reviews, design feedback, and technical coaching.
Required Qualifications
- Bachelor’s or Master’s degree in Computer Engineering, Software Engineering, Computer Science, Electrical Engineering, or a related field.
- 10+ years of professional software engineering experience, including substantial work on automation, machine control, or complex electro-mechanical systems.
- Expert C/C++ skills with object-oriented design (OOD) and design patterns; ability to write maintainable, testable, production-quality code.
- Strong experience developing on Windows using Visual Studio; familiarity with C# for tooling, diagnostics, or UI is preferred.
- Hands-on experience with real-time systems, including deterministic sequencing, concurrency, timing constraints, and fault handling.
- Proficiency with version control and collaborative development workflows (Git preferred): code reviews, branching strategies, and disciplined change management.
- Demonstrated ability to troubleshoot and resolve field issues, including root-cause analysis and implementing corrective/preventive actions.
- Strong written and verbal communication skills; comfortable presenting designs and status to technical and non-technical stakeholders.
Relevant Domain Experience (Any of the Following)
- Semiconductor equipment, test handlers, ATE integration, or factory automation environments.
- Comparable experience in industrial automation, robotics, medical devices, or high-volume product engineering with electro-mechanical systems.
Preferred / Additional Skills (Highly Beneficial for Test Handler Software)
- Embedded development experience: RTOS and/or embedded Linux, low-level debugging on target hardware, and interfacing with motion controllers and sensors.
- Hardware/software integration experience (MCU/SoC peripherals, serial buses, timing/latency considerations) and familiarity with common interfaces (RS-232/RS-485, USB, Ethernet, TCP/IP, CAN, I2C, SPI).
- UI development experience for operator/service tools (WPF, WinForms, or Qt); ability to build effective diagnostics and recovery workflows.
- Build and release tooling: CI/CD pipelines (e.g., Jenkins), automated test execution, packaging/deployment, and traceable release documentation.
- Experience with factory/equipment communication standards such as SECS/GEM and related SEMI standards (e.g., E5/E30/E37/HSMS) and/or equipment performance tracking.
- Experience with simulation or hardware abstraction techniques that enable development and testing before hardware availability.
- Scripting and data analysis for troubleshooting (e.g., Python) and familiarity with issue tracking (e.g., Jira).
- Understanding of machine safety concepts: interlocks, e-stops, safe-state design, and failure modes; exposure to functional safety standards (e.g., ISO 13849) is a plus.
What Success Looks Like
- You deliver reliable software that maintains throughput and uptime in production environments.
- You reduce escalation frequency by improving diagnosability and recovery behavior.
- You improve development velocity through pragmatic architecture, automation, and strong engineering hygiene.
- You collaborate effectively across disciplines and communicate trade-offs clearly.
Job Conditions / Additional Information
Occasional domestic and international travel may be required (approximately 10%).
Work involves extended periods at a computer workstation and may include time in manufacturing areas or at customer sites when supporting escalations.