Software Engineer

Cohu, Inc.
San Diego, CA, United States
25 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
10 years minimum
Working hours
Regular working hours
Job source

Tech stack

Microsoft Windows Data Analysis JIRA Automation of Tests C Sharp (Programming Language) C++ (Programming Language) Code Review Encodings Computer Engineering Software Debugging Software Design Patterns Linux on Embedded Systems
+28 more
Embedded Software Ethernet Design of User Interfaces Issue Tracking Systems Python (Programming Language) Uptime Microsoft Visual Studio Windows Presentation Foundation Object-Oriented Software Development Qt (Software) Real-Time Operating Systems Release Management RS-232 Software Engineering Systems Integration TCP/IP USB Windows Forms Scripting Real Time Systems Concurrency Git Git Flow Information Technology Low Latency Production Code Software Version Control Jenkins

Job description

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., * 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., * 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.

Requirements

  • 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.

About the company

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.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.dice.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

5:35 min

Direct hardware communication using the Web USB API

Rowdy Rabouw Rowdy Rabouw · WWC 2025

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

3:05 min

Integrating an assistant application with Jira software

Felix Augenstein · LIVE

3:20 min

Certifying safety-critical automotive software and deploying progressive testing strategies

David Romić · WWC 2023

5:47 min

Integrating user stories and test automation via Jira tools

Christoph Ruggenthaler · LIVE

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

Videos

See all

Related articles

See all