Automation Software EngineerLocation: RemotePosition OverviewWe are seeking an experienced Automation Software Engineer to support a large-scale fleet of... Read more
Location: Remote
Position Overview
We are seeking an experienced Automation Software Engineer to support a large-scale fleet of automated industrial systems operating in a high-availability production environment. This role focuses on remote troubleshooting, controls software support, system reliability, and operational performance improvements for deployed automation equipment.
The ideal candidate combines strong industrial automation expertise with software development and diagnostic capabilities, enabling them to identify, analyze, and resolve complex controls and system performance issues.
Key ResponsibilitiesTroubleshoot and resolve production system issues remotely using alarms, system logs, telemetry, and PLC diagnostic tools.Develop, modify, test, and maintain PLC software utilizing Structured Text and IEC 61131-3 programming standards.Support industrial control platforms including CODESYS, Beckhoff TwinCAT, Allen-Bradley, and related technologies.Investigate machine faults, communication issues, and automation system performance concerns, performing root cause analysis and corrective actions.Improve system reliability through software enhancements, alarm optimization, code standardization, and continuous improvement initiatives.Support and troubleshoot industrial communication networks, including EtherNet/IP, EtherCAT, OPC UA, Modbus, and TCP/IP.Collaborate with software, controls, operations, maintenance, and engineering teams to maximize system uptime and efficiency.Develop technical documentation, support procedures, troubleshooting guides, and operational runbooks.Participate in incident response and on-call support activities as needed.Required Qualifications5+ years of experience in Controls Engineering, Industrial Automation, Software Engineering, or a related discipline.Hands-on experience with IEC 61131-3 programming environments such as CODESYS, Beckhoff TwinCAT, or similar PLC platforms.Strong Structured Text (ST) programming experience.Experience with Allen-Bradley PLCs, including ControlLogix, CompactLogix, and Studio 5000.Knowledge of industrial communication protocols including EtherNet/IP, EtherCAT, TCP/IP, OPC UA, and Modbus.Experience troubleshooting automated equipment, robotics, conveyors, material handling systems, or other industrial automation systems.Strong analytical, diagnostic, and root cause problem-solving skills.Experience utilizing system logs, alarms, telemetry, and remote access tools for troubleshooting.Preferred QualificationsExperience supporting deployed automation systems in a remote environment.Linux, SSH, and Industrial PC (IPC) experience.Experience working with large-scale automated operations or distributed automation networks.Python or scripting experience for diagnostics, automation, or data analysis.Familiarity with Git or other version control systems.Experience with cloud-based monitoring and observability platforms.Knowledge of machine vision systems, including Cognex, Keyence, or similar technologies.Understanding of manufacturing KPIs, OEE, PackML, production support, and alarm management best practices.GCS is acting as an Employment Business in relation to this vacancy.
Read lessStockton, California, United States of AmericaContractRemote
Automation Software EngineerLocation: RemotePosition OverviewWe are seeking an experienced Automation Software Engineer to support a large-scale fleet of... Read more
Location: Remote
Position Overview
We are seeking an experienced Automation Software Engineer to support a large-scale fleet of automated industrial systems operating in a high-availability production environment. This role focuses on remote troubleshooting, controls software support, system reliability, and operational performance improvements for deployed automation equipment.
The ideal candidate combines strong industrial automation expertise with software development and diagnostic capabilities, enabling them to identify, analyze, and resolve complex controls and system performance issues.
Key ResponsibilitiesTroubleshoot and resolve production system issues remotely using alarms, system logs, telemetry, and PLC diagnostic tools.Develop, modify, test, and maintain PLC software utilizing Structured Text and IEC 61131-3 programming standards.Support industrial control platforms including CODESYS, Beckhoff TwinCAT, Allen-Bradley, and related technologies.Investigate machine faults, communication issues, and automation system performance concerns, performing root cause analysis and corrective actions.Improve system reliability through software enhancements, alarm optimization, code standardization, and continuous improvement initiatives.Support and troubleshoot industrial communication networks, including EtherNet/IP, EtherCAT, OPC UA, Modbus, and TCP/IP.Collaborate with software, controls, operations, maintenance, and engineering teams to maximize system uptime and efficiency.Develop technical documentation, support procedures, troubleshooting guides, and operational runbooks.Participate in incident response and on-call support activities as needed.Required Qualifications5+ years of experience in Controls Engineering, Industrial Automation, Software Engineering, or a related discipline.Hands-on experience with IEC 61131-3 programming environments such as CODESYS, Beckhoff TwinCAT, or similar PLC platforms.Strong Structured Text (ST) programming experience.Experience with Allen-Bradley PLCs, including ControlLogix, CompactLogix, and Studio 5000.Knowledge of industrial communication protocols including EtherNet/IP, EtherCAT, TCP/IP, OPC UA, and Modbus.Experience troubleshooting automated equipment, robotics, conveyors, material handling systems, or other industrial automation systems.Strong analytical, diagnostic, and root cause problem-solving skills.Experience utilizing system logs, alarms, telemetry, and remote access tools for troubleshooting.Preferred QualificationsExperience supporting deployed automation systems in a remote environment.Linux, SSH, and Industrial PC (IPC) experience.Experience working with large-scale automated operations or distributed automation networks.Python or scripting experience for diagnostics, automation, or data analysis.Familiarity with Git or other version control systems.Experience with cloud-based monitoring and observability platforms.Knowledge of machine vision systems, including Cognex, Keyence, or similar technologies.Understanding of manufacturing KPIs, OEE, PackML, production support, and alarm management best practices.GCS is acting as an Employment Business in relation to this vacancy.
Read lessSacramento, California, United States of AmericaContractRemote
Senior Automation Software Engineer - PLC / CODESYSLocation: Kirkland, WAWork Model: HybridExperience: 5+ YearsPosition SummaryWe are looking for... Read more
Location: Kirkland, WA
Work Model: Hybrid
Experience: 5+ Years
We are looking for a Senior Automation Software Engineer with a strong background in PLC and machine-control software development.
This engineer will build modular, reusable control applications for automated equipment and high-throughput material-handling systems. The position combines software engineering with industrial controls, making it ideal for someone who enjoys developing software while working directly with physical automation hardware.
ResponsibilitiesDesign and develop control applications using CODESYS V3 or Beckhoff TwinCAT.Develop production-quality Structured Text programs following IEC 61131-3 standards.Create modular Function Blocks and reusable software libraries.Design machine sequencing using state machines and CASE-based logic.Implement fault handling, recovery, startup/shutdown, and equipment-state management.Apply OOP concepts such as interfaces, methods, properties, abstraction, and encapsulation.Integrate and troubleshoot motors, drives, sensors, actuators, MDRs, and IO-Link devices.Configure and troubleshoot EtherCAT communication.Validate software with real automation equipment.Review electrical schematics and control-panel documentation.Support commissioning and system deployment.Participate in design reviews, code reviews, and Agile development activities.Required Skills5+ years of controls, PLC, or industrial automation software development.CODESYS V3 or Beckhoff TwinCAT experience.Strong Structured Text / IEC 61131-3 experience.State-machine programming experience.Object-oriented PLC development.EtherCAT experience.Industrial hardware integration and troubleshooting.Git/source-control experience.Strong analytical and problem-solving skills.Preferred ExperienceMaterial handlingConveyor systemsSortation systemsWarehouse automationPackaging automationIO-LinkLinux Industrial PCsJSON configurationElectrical schematicsC++ or Rust
GCS is acting as an Employment Business in relation to this vacancy.
Read lessKirkland, Washington, United States of AmericaContract
Senior Controls Engineer - Industrial Automation SoftwareLocation: Renton, WAWork Model: HybridExperience: 5+ YearsAbout the RoleWe are hiring a... Read more
Location: Renton, WA
Work Model: Hybrid
Experience: 5+ Years
We are hiring a Senior Controls Engineer with strong software development experience to support advanced automated material-handling and machine-control systems.
The successful candidate will develop reusable PLC software and integrate control applications with real-world industrial equipment. Strong experience with Beckhoff TwinCAT or CODESYS, Structured Text, EtherCAT, and state-machine design is highly valued.
What You'll DoDevelop and maintain PLC/control software using CODESYS V3 or Beckhoff TwinCAT.Write structured, reusable IEC 61131-3 Structured Text code.Build reusable Function Blocks and control libraries.Develop state-machine-based machine sequences.Implement equipment startup, shutdown, fault, recovery, and safety logic.Apply object-oriented design principles to control software.Integrate motors, drives, sensors, photo-eyes, actuators, and other field devices.Configure and troubleshoot EtherCAT networks.Test control software in engineering and lab environments.Analyze electrical schematics and control drawings.Troubleshoot hardware/software integration issues.Support commissioning and deployment activities.Work with Git and modern software-development practices.Required QualificationsBachelor's degree in Controls, Electrical, Computer, Mechanical, Mechatronics Engineering, Computer Science, or related discipline.5+ years of industrial controls or automation software experience.CODESYS V3 or Beckhoff TwinCAT.Strong IEC 61131-3 Structured Text programming.State-machine and CASE-statement programming experience.PLC Function Block development.Object-oriented programming concepts.EtherCAT communication experience.Industrial automation hardware integration.Ability to read electrical schematics.Experience with Git/source control.Preferred QualificationsConveyor and sortation systems.Material-handling or warehouse automation.High-speed automation.IO-Link.Linux Industrial PCs.JSON configuration.Commissioning experience.C++ or Rust experience.
GCS is acting as an Employment Business in relation to this vacancy.
Read lessRenton, Washington, United States of AmericaContract
About the RoleWe are looking for a Junior Software Engineer to support the development and deployment of software-driven... Read more
We are looking for a Junior Software Engineer to support the development and deployment of software-driven industrial automation systems. This role is suited for recent graduates and early-career engineers with backgrounds in embedded software, C/C++, robotics, computer engineering, or low-level software development.
You'll contribute to real-world automation projects by developing and validating system configurations, analyzing technical documentation, supporting troubleshooting efforts, and collaborating with multidisciplinary engineering teams.
Key ResponsibilitiesAnalyze engineering drawings, technical documentation, and system architectures.Build, validate, and test JSON-based configuration files.Support troubleshooting and debugging activities within control software environments.Review system logic and communication structures.Work with version control systems to manage software and configuration updates.Participate in technical reviews, testing activities, and team meetings.Collaborate with experienced engineers to deliver reliable automation solutions.Document and maintain software configuration records.Required QualificationsBachelor's degree in Computer Engineering, Computer Science, Electrical Engineering, Robotics, Mechatronics, or a related discipline.Programming experience in C, C++, Python, Java, or similar languages.Understanding of Object-Oriented Programming concepts.Strong analytical, troubleshooting, and problem-solving skills.Interest in automation, robotics, embedded systems, or industrial software.Ability to work full-time on-site in Bellevue, WA.Preferred QualificationsEmbedded systems or microcontroller experience.Experience with C++ development.Familiarity with Git version control.Linux command-line experience.Experience working with configuration files, JSON, or system integration projects.Exposure to robotics, automation, motion control, or industrial systems.Understanding of communication networks and device integration.Who Should Apply?We welcome applications from:
Recent graduates and Graduate Engineers.Software Engineering Interns and Co-op Students.Computer Science graduates.Computer Engineering graduates.Embedded Software Engineers.Firmware Engineers.Robotics and Mechatronics Engineers.Junior Software Developers interested in automation and industrial technology.Professional industry experience is not required. Internship experience, academic projects, personal projects, research work, and hands-on technical experience will all be considered. Candidates with a strong willingness to learn and grow in industrial automation are encouraged to apply
GCS is acting as an Employment Business in relation to this vacancy.
Read lessSeattle, Washington, United States of AmericaContract
Are you a software engineer who likes your code to move real machines? A major name in robotics... Read more
Are you a software engineer who likes your code to move real machines? A major name in robotics and automation is building out the team behind one of the largest robotic deployments anywhere - thousands of automated workcells running across high-volume operations - and is looking for a Controls Software Engineer to help keep that fleet fast, stable, and improving.
This isn't a traditional PLC seat. It's a software role that happens to live in a controls world. Most of the team came up through C and C++ and learned the control platform on the job - so what matters here is real software-engineering ability paired with hands-on experience around machines, motion, and hardware.
What you'll work on
Hunting down and fixing bugs and faults in control software running across a large fleet of deployed machinesPushing rate and throughput improvements through the servo, motion, and state-management layersGetting hands-on with hardware in the lab - servos, drives, sensors, vision, and conveyanceTracing problems through telemetry, logs, and alarms, and owning fixes from root cause to rolloutWriting the change documentation and runbooks that keep fleet-wide deployments safeThe live system is written in Structured Text (CODESYS) on Linux-based industrial PCs, with a move to modern C++ already in flight. It's a big, established codebase - strong software instincts matter as much as controls knowledge.
The two things that really matter
Genuine controls experience - you've written software that drives physical hardware: machine control, motion/servo, robotics, or embedded real-time systems.Strong software development in a modern lower-level language - C, C++, Rust, or Structured Text - with the discipline to work cleanly inside a large, mature codebase.Nice to have
Structured Text on any platform (CODESYS, TwinCAT, Allen-Bradley, Siemens)Embedded, real-time, or industrial software backgroundMotion/servo control, robotics, or pick-and-place / Cartesian workcell experienceSystem-level Linux; EtherCAT or other industrial fieldbusExperience keeping production or large-scale systems runningLevel
Open from strong mid-level engineers (3-5 years) who can own their work, through to seasoned engineers ready to plug straight in. The blend of controls exposure and software ability is what counts - not a specific title.
GCS is acting as an Employment Business in relation to this vacancy.
Read lessReading, Massachusetts, United States of AmericaContract
All your saved jobs are no longer available or you've already applied.
for the following search criteria