Job Description
Rockwell Automation is looking for an innovative engineer to join our global Software and Control organization. You will be part of the Customer Response Team, with a focus on development and test of embedded software intended to address and repair issues experienced by customers on programmable logic controllers (PLCs).
You will also contribute to the overall product process and tools.
An ideal candidate will exhibit the ability to flex between product software development and test activities. Given tightly coupled hardware and software in our products, previous embedded software experience is a plus.
Essential Functions
Develop embedded software for Programmable Logic Controllers
Build and maintain automated tests in support of new and existing product features
Work in a variety of hardware and software environments, ranging from commercial off-the-shelf to custom System on Chip architectures, and from general purpose to embedded real-time operating systems
Use modern continuous integration and development tools, and promote continuous improvement of tools and practices across the global development organization
Demonstrate a strong understanding of object-oriented programming concepts, C++ and Python are preferred
Operate across the entire software development life cycle : requirements management, design, implementation, test, release, and maintenance
Basic Qualifications
Bachelor’s degree in Computer Engineering, Computer Science, Electrical Engineering or similar discipline
Typically requires a minimum of two years of experience in a software product development environment
Preferred Qualifications
Experience developing software and automated tests and tools in object-oriented languages such as C++ or Python
Ability to understand and apply knowledge of object-oriented analysis, design, and programming techniques
Experience with automation frameworks and tools development
Experience in requirements decomposition and test traceability
Experience in using open source tools like Git and Jenkins
Knowledge of unit testing using tools like CppUnit, unittest, etc.
Experience with continuous integration environments, automated test, and acceptance testing
Experience working in a Kanban environment
Experience working with industrial protocols, especially Common Industrial Protocol (CIP)
Experience developing software and test to safety and security standards such as IEC 61508 or IEC 62443
Advanced courses or degree in engineering, computer science, or controls