Job DescriptionMGS has an exciting opportunity for a
Controls Software Engineer to join our
MGSAutomation team.
As a
Controls Software Engineer at MGS, you will be responsible on control systems for pharmaceutical and medical device equipment - PLC application code, machine HMI, device and motion integration, and the data and validation layers that make equipment production and audit ready. Working within project teams and established software standards, the role focuses on writing clean, maintainable machine software on challenging, diverse projects.
Below are additional duties and responsibilities:
- Execute the software design, development, and debug of multi-station automated assembly and test systems
- Design, structure, and develop PLC application code on Rockwell (Studio 5000), Beckhoff (TwinCAT) or similar - clean, modular, reusable, and well-documented
- Architect machine software: state machines, sequencing, fault handling, and standard/reusable code frameworks
- Develop machine HMI applications (Beckhoff or Ignition) for operator interaction, data collection, and traceability
- Program and integrate peripheral devices (servo/motion drives, robotics, vision and inspection systems, smart sensors, and other field hardware)
- Design and program equipment to customer and internal build specifications, applying established design standards and techniques
- Develop software design specifications from requirements
- Apply software engineering best practices across controls deliverables: version control (Git - GitHub / Azure DevOps), branching/merging, code review, and configuration management
- Build structured software testing and validation
- Develop machine-level data, traceability, and integration features for production and audit readiness
- Translate electrical and I/O designs into robust, maintainable control software, and assist with that design work as project needs require
- Support customer start-ups and site acceptance testing as necessary
- Partner with mechanical, project management, and quality teams across the project lifecycle
- Serve as a software point of contact for customers on controls-related aspects of projects
- Any other duties as assigned.
Experience and SkillsA qualified
Controls Software Engineer candidate would fulfill these requirements:
- Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, Software Engineering, or a related field; a two-year technical program in a related field, combined with relevant hands-on experience, is an acceptable alternative
- 3+ years of software development experience, including industrial controls programming, or strong software engineering experience with demonstrated aptitude to learn PLC platforms
- Strong programming fundamentals: modular/structured design, state machines, Boolean logic, data structures, and software testing and validation
- Hands-on experience programming industrial PLCs on Rockwell (Studio 5000) and/or Beckhoff (TwinCAT), or equivalent software experience with a clear path to ramp on these platforms
- HMI development experience (Beckhoff, Ignition, or comparable)
- Experience using version control (Git) in a collaborative, multi-developer environment
- Strong debugging and troubleshooting skills, and a documentation-minded approach to code
- CI/CD or DevOps practice and automated/structured testing
- Industrial Automation standard language experience (IEC 61131-1) / structured-text and ladder logic programming
- Vision systems, servo/motion control, and robotics integration
Job BenefitsMGS offers a competitive and comprehensive benefit package including medical, dental, vision, and 401K with match.