Principal SW Engineer

Cohu

$150K — $180K *
Manufacturing & Automotive
11 - 15 years of experience
Job Overview by Ladders

Qualifications

  • Bachelor's or Master's degree in relevant engineering fields.
  • 15+ years of software engineering experience with automation or electro-mechanical systems.
  • Expertise in C/C++ and object-oriented design principles.
  • Strong experience with Windows desktop applications in Visual Studio; C# knowledge preferred.
  • Experience with multithreaded and event-driven software development.
  • Proficiency in hardware integration using Windows APIs and SDKs.
  • Demonstrated troubleshooting skills and effective communication to stakeholders.

Responsibilities

  • Design, develop, test, and integrate machine control software using C++ and C#.
  • Develop automation software based on object-oriented design principles.
  • Integrate external industrial devices via vendor Windows APIs and SDKs.
  • Drive system architecture and conduct software design reviews.
  • Own customer escalation response and troubleshoot using logs and instrumentation.
  • Collaborate with Manufacturing and Field Service to address uptime issues.
  • Create verification strategies to enhance failure detection upstream.

Benefits

  • Opportunity to work on complex semiconductor manufacturing systems.
  • Mentorship opportunities to enhance engineering skills.
  • Collaborative environment with cross-functional teams.
  • Exposure to high-volume production environments and latest technologies.
  • Flexibility for occasional travel for support and project engagements.
Full Job Description
Job Description

In this role you will build and sustain software that controls complex electro-mechanical test handlers used in high-volume semiconductor manufacturing.

Position Summary

Design and develop proprietary Windows desktop application and framework software for control machines, automation systems, and complex electro-mechanical platforms - including motion controllers, I/O systems, sensors, machine vision systems, robotics, and barcode readers. This role spans full lifecycle development-from architecture and design through integration, deployment, and customer support-focused on uptime, safety, and predictable behavior.

This position is ideal for engineers who enjoy building large software systems that interact with sophisticated industrial equipment.

Essential Functions / Responsibilities
  • Design, develop, test, and integrate machine control software using C++ and C# in a Visual Studio environment.
  • Develop automation software using object-oriented design principles and software design patterns.
  • Integrate motion controllers, I/O systems, machine vision, robotics, sensors, barcode readers, and other industrial devices through vendor-provided Windows APIs and SDKs.
  • 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.
  • 15+ 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 desktop applications using Visual Studio; familiarity with C# for tooling, diagnostics, or UI is preferred.
  • Experience developing multithreaded software and event-driven software.
  • Experience integrating external hardware using Windows APIs, SDKs, or communication libraries.
  • 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)
  • State machine development, event-driven software architecture, machine sequencing, hardware integration through vendor API, motion control APIs, machine vision integration.
  • 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 design scalable software architectures used across multiple products.
  • You reduce escalation frequency by improving diagnosability and recovery behavior.
  • You improve development velocity through pragmatic architecture, automation, and strong engineering hygiene.
  • You mentor engineers and elevate software engineering standards across the organization.
  • 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.

Similar Jobs

More Jobs at Cohu

More Manufacturing & Automotive Jobs

Find similar Principal SW Engineer jobs: