SonicJobs Logo
Left arrow iconBack to search

Principal SW Engineer

Cohu
Posted a day ago, valid for 20 days
Location

San Diego, CA, US

Salary

Competitive

Contract type

Full Time

By applying, a Sonicjobs account will be created for you. Sonicjobs's Privacy Policy and Terms & Conditions will apply.

SonicJobs' Terms & Conditions and Privacy Policy also apply.

Sonic Summary

info
  • Cohu is seeking a software engineer with 15+ years of experience to design and develop Windows desktop applications for complex electro-mechanical test handlers in semiconductor manufacturing.
  • The role involves full lifecycle development, focusing on machine control software using C++ and C# in a Visual Studio environment, as well as integration of various industrial devices.
  • Candidates must have a Bachelor's or Master's degree in a relevant field and demonstrate expertise in object-oriented design, multithreaded software, and troubleshooting field issues.
  • The position offers a competitive salary, reflecting the extensive experience required and the critical nature of the work in maintaining production uptime and reliability.
  • Additionally, the role includes mentoring engineers and collaborating with cross-functional teams to ensure effective software solutions and customer satisfaction.

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.

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.




Learn more about this Employer on their Career Site

Apply now in a few quick clicks

By applying, a Sonicjobs account will be created for you. Sonicjobs's Privacy Policy and Terms & Conditions will apply.

SonicJobs' Terms & Conditions and Privacy Policy also apply.