BS in Software Engineering, Computer Engineering, Electrical Engineering, Mechanical Engineering, Robotics, Mechatronics, or a related field, or equivalent experience.
7+ years in industrial automation, equipment controls, embedded systems, real-time systems, or robotics with a solid professional background.
Strong expertise in modern C++ and C#, specifically in hardware-adjacent environments, with demonstrated ability to translate machine requirements into software designs.
Familiarity with integrating industrial automation hardware and understanding communication buses, sensors, actuators, and motion systems.
Experience with source control, issue tracking, and writing clear test plans for software interfacing with hardware.
Strong analytical, communication, and collaboration skills across engineering disciplines.
Responsibilities
Design and maintain real-time C++ machine-control software for complex systems like gas flow and motion controls.
Develop C#/.NET applications for HMI, diagnostics, and configuration of advanced equipment operations.
Integrate and troubleshoot various automation hardware, ensuring smooth operation with sensors and actuators.
Support machine commissioning and troubleshoot production issues by analyzing logs and performing direct tests.
Collaborate with cross-functional teams to define and implement machine behavior requirements into software solutions.
Enhance the fault handling and diagnostics processes for equipment to improve recovery workflows.
Document all designs, testing procedures, and troubleshooting guides to aid in systems maintenance.
Benefits
Flexible work arrangements to support work-life balance.
Opportunities for career advancement and professional development.
Access to advanced technology and tools for engineering innovation.
Collaborative work environment with cross-disciplinary teams.
Potential for participation in company-sponsored events and activities.
Full Job Description
Senior Software Engineer - Equipment Controls
Job Description: Looking for a talented and self-motivated Senior Software Engineer to develop, maintain, troubleshoot, and extend machine-control software for Client electro-mechanical additive manufacturing systems. The ideal candidate has strong C++ and C# experience, is comfortable working close to hardware, and can debug complex real-time equipment behavior from software, controls, electrical, process, and operator-facing symptoms.
Job Duties:
Design, implement, maintain, and troubleshoot real-time C++ machine-control software for complex control systems, including gas flow control, motion systems, timing and communication systems.
Develop and maintain C#/.NET HMI, backend, configuration, setup-wizard, and diagnostics software for complex equipment operation.
Integrate and debug industrial automation hardware including EtherCAT I/O, safety interfaces, PMAC/Delta Tau motion systems, PLC interactions, sensors, actuators, lasers, and related machine peripherals.
Support machine bring-up, commissioning, production troubleshooting, and root-cause analysis using logs, database telemetry, diagnostics, simulator behavior, and direct machine testing.
Work with controls, electrical, mechanical, process, optics, manufacturing, and field teams to turn machine behavior requirements into robust software and controls implementations.
Improve fault handling, fail-safe behavior, operator messaging, configuration persistence, diagnostics, and recovery workflows for production equipment.
Maintain and extend shared software libraries and deployment support for multiple machine projects.
Document designs, handoff notes, test plans, commissioning procedures, and troubleshooting guidance for systems that must be maintained by a broader engineering team.
Participate in code reviews, enforce practical testing discipline, and mentor less experienced engineers.
Skills/Qualifications:
Required:
Object-oriented design and analysis (OOA/OOD) with demonstrated ability to translate ambiguous machine requirements into maintainable software designs.
Strong professional experience with modern C++ in equipment, embedded, real-time, or other hardware-adjacent software environments.
Strong professional experience with C#/.NET for HMI, tooling, configuration, diagnostics, or backend equipment software.
Ability to independently debug complex software and machine behavior across C++, C#, real-time systems, industrial I/O, hardware interfaces, logs, and operator workflows.
Working understanding of industrial automation concepts such as communication buses, sensors, actuators, motion, PLC/safety interaction, interlocks, fault handling, real-time constraints, and fail-safe behavior.
Experience designing or maintaining GUI/HMI systems for complex control systems or production equipment.
Comfort working directly with machines in a lab or factory environment, including bring-up, commissioning, issue reproduction, and validation testing.
Experience with source control, issue tracking, code reviews, and practical test planning for software that interacts with hardware.
Experience using AI tooling to effectively and safely assist in software development, such as Codex / Claude / Copilot.
Strong analytical, written, and verbal communication skills; must be able to work effectively across software, controls, electrical, mechanical, process, and manufacturing teams.
Strongly Desired:
Experience with RTOS or real-time Windows extensions such as IntervalZero RTX, or comparable real-time control environments.
Experience with EtherCAT, Beckhoff/TwinCAT, Siemens PLCs, Delta Tau/PMAC, Galil, Client, or comparable motion/control platforms.
Experience with gas/vacuum/chamber systems, inerting, O2 safety, purifier/filter systems, pressure control, valves, blowers, or similar process-control subsystems.
Experience with laser systems, CNC equipment, additive manufacturing, semiconductor equipment, robotics, test equipment, or other complex electro-mechanical production tools.
Experience with SQL-type database systems and query/debug workflows, including PostgreSQL.
Experience using oscilloscopes, logic analyzers, multimeters, or similar tools to debug hardware/software interfaces.
Background in mechatronics, electrical systems, controls engineering, or manufacturing equipment support.
Python or other scripting experience for automation, diagnostics, test tooling, or data analysis.
Education/Experience:
Required:
BS degree in Software Engineering, Computer Engineering, Electrical Engineering, Mechanical Engineering, Robotics, Mechatronics, or a related field, or equivalent professional experience.
7+ years of relevant professional experience developing software for industrial automation, equipment controls, embedded systems, real-time systems, robotics, motion systems, or similar hardware-integrated products.
Desired:
MS degree preferred.
10+ years of relevant experience preferred for candidates near the top of the salary range.