> Markdown version of [/jobs/ext/3055887-controls-software-engineer](https://www.wearedevelopers.com/jobs/ext/3055887-controls-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Controls Software Engineer - **Company:** Nusano, Inc. - **Location:** West Valley City, UT, United States - **Contract:** Permanent contract - **Skills:** Clean Code Principles, Java (Programming Language), Automation of Tests, C Sharp (Programming Language), C++ (Programming Language), Software Quality, Communications Protocols, Computer Engineering, Software Debugging, Linux, Distributed Systems, EtherCAT, Design of User Interfaces, Supervisory Control and Data Acquisition (SCADA), Networking Hardware, Python (Programming Language), Ladder Logic, Modbus, Networking Basics, Object-Oriented Software Development, Software Tools, Rslogix, Software Engineering, Software Systems, Structured Text, Test-Driven Development (TDD), Git, Information Technology, Iec61131-3, Industrial Software, Software Version Control, Programming Languages - **Published:** September 24, 2026 - **Apply:** https://www.indeed.com/viewjob?jk=b235b643b6c8284b ## About the Role * Bachelor's degree in Computer Science, Electrical Engineering, Computer Engineering, Physics, or a related technical field. * Professional experience developing controls software in an industrial, manufacturing, scientific, or comparable technical environment. * Proficiency with IEC 61131-3 controls languages, including Structured Text and/or Ladder Logic. * Experience creating or maintaining HMI/SCADA software and applying industrial UI/UX best practices. * Ability to interpret electrical schematics, one-line diagrams, and P&ID drawings. * Working knowledge of networking fundamentals, industrial communication protocols, and distributed controls architecture. * Experience troubleshooting PLCs, network devices, instrumentation, hardware/software interfaces, and controls systems. * Working knowledge of source control and code-branch management, preferably Git. * Strong written and verbal communication skills with the ability to document technical decisions and collaborate across functions. Preferred Experience: * EPICS, Beckhoff controls, or other large-scale distributed control systems. * Working in an R&D, commissioning, accelerator, or safety-controlled environment. * One or more high-level programming languages, such as C++, Java, C#, or Python. * Linux operating systems and object-oriented programming practices. * Test-driven development, automated testing, or comparable software quality practices. * Troubleshooting complex controls systems that combine PLC, instrumentation, networking, and scientific equipment. Physical Requirements / Work Environment: * Work to be conducted in an office environment, laboratories, engineering, R&D, and/or production environment. * Must be comfortable working within radiation environments. * Work in this environment may involve exposure to hazardous materials and conditions, including high voltage, strong magnetic fields, chemicals, cryogenic substances, and radiological sources. These hazards require specialized training, strict adherence to safety procedures, and the use of appropriate personal protective equipment. * Must be able to sit or stand for extended periods and frequently use a computer, keyboard, mouse, and other tools requiring manual dexterity. * Ability to travel less than 10% of the time for commissioning, vendor visits, training, or other project needs. ## Description The Controls Software Engineer owns controls software end-to-end with general direction. This role designs, develops, validates, integrates, and supports PLC, HMI/SCADA, networking, services, and related controls software for scientific and industrial systems. The engineer makes day-to-day technical decisions within assigned scope, applies user experience and safety best practices, troubleshoots hardware and software interfaces, and contributes to controls standards and team knowledge. This is a full-time, onsite position at Nusano's facilities in West Valley City, Utah., * Own the design, development, testing, integration, and qualification of assigned controls software workstreams for medium-complexity distributed systems, including systems with approximately 200 to 500 I/O points. * Create new PLC software and modify existing PLC software in accordance with software design specifications, functional requirements, and controls engineering standards. * Design, maintain, and improve HMI/SCADA applications using industrial user experience, operator interface, alarm-management, and safety best practices. * Partner with operations, physicists, engineers, and technical specialists to integrate hardware and software systems and support scientific and industrial equipment connected to the PLC environment. * Integrate PLC software with Server based control systems, such as EPICS or similar SCADA control system frameworks. * Troubleshoot and debug PLCs, industrial networks, communication interfaces, instrumentation, controls hardware, and software during development, commissioning, and operations. * Apply networking fundamentals and industrial communication protocols such as EtherCAT, Modbus, and RS-232/485 to controls system design and troubleshooting. * Participate in hazard analyses and design reviews, identify software-related safety risks, and implement appropriate controls safeguards. * Develop software design documentation, test plans, operator and training materials, troubleshooting guides, and knowledge-base content. * Mentor Associate engineers on controls software tools, coding practices, and troubleshooting methods, and communicate risks or blockers early with clear technical context. ## Related Videos - [Optimizing Land-Based Fish Feeding with Node-RED](https://www.wearedevelopers.com/videos/2032-optimizing-land-based-fish-feeding-with-node-red) - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [How a Small Team Shrank a Microsoft Monorepo by 94%](https://www.wearedevelopers.com/videos/1236-how-a-small-team-shrank-a-microsoft-monorepo-by-94) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [Enabling intelligent logistics automation: home-grown Industrial IoT platform at Austrian Post](https://www.wearedevelopers.com/videos/2018-enabling-intelligent-logistics-automation-home-grown-industrial-iot-platform-at-austrian-post) - [Docker exec without Docker](https://www.wearedevelopers.com/videos/1094-docker-exec-without-docker) ## Related Articles - [How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again](https://www.wearedevelopers.com/magazine/751-how-we-built-a-worry-free-system-that-runs-for-10-years-and-what-we-d-do-again) - [What’s the Difference between a Junior, Mid, and Senior Developer?](https://www.wearedevelopers.com/magazine/238-what-s-the-difference-between-a-junior-mid-and-senior-developer) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [What is Software Engineering?](https://www.wearedevelopers.com/magazine/289-what-is-software-engineering) - [Is Software Engineering Over-Saturated?](https://www.wearedevelopers.com/magazine/418-is-software-engineering-over-saturated) - [7 Important Tips That Every Software Developer Should Know](https://www.wearedevelopers.com/magazine/101-7-important-tips-that-every-software-developer-should-know)