Description:
The client is looking for an innovative engineer to join our global embedded software organization based in Cleveland, Ohio. In this role, you will have the opportunity to solve highly complex technical problems and to grow into a software architect or manager role. Essential Functions
Develop safety- and security-critical embedded software for new Programmable Logic Controllers
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 engineering tools and practices across the global development organization
Participate as a member of an agile team within the Scaled Agile Framework, and actively monitor and improve the overall health, predictability, and velocity of the team as well as the larger Agile Release Train
Lead high- and detailed-level design of controller features and subsystems, providing coordination across agile development teams, system and controller architects, marketing, and management
Partner with development, functional test, and system test personnel to construct testable requirements; design and implement test plans to meet product requirements; promote reliable automated test engineering practices and technology
Mentor less experienced personnel, and encourage knowledge sharing and learning among the development community
Minimum Education
Bachelor's degree in Electrical Engineering or Computer Engineering or equivalent knowledge in the application of software engineering principles, theories, concepts, and techniques. Minimum Qualifications
5+ years of software engineering experience with demonstrated professional development in software design and development
Ability to understand and apply knowledge of object-oriented analysis, design, and programming techniques, especially in C++
Ability to direct the day-to-day technical activities of a small team of engineers
Previous experience working with real-time embedded development environments
Desired Qualifications
Experience developing software to meet safety and security standards such as IEC 61508 or IEC 62443
Experience developing automated tests and tools in a high-level language such as Python
In-depth knowledge of software engineering and application of engineering principles and practices in a related field
Experience working with industrial protocols, especially Common Industrial Protocol (CIP)
Knowledge of communication protocols and technologies such as Ethernet, USB, or PCI Express
Experience developing device drivers or other similar low-level embedded software
Knowledge of modern Intel and ARM architectures.
Experience working with embedded Hypervisors and developing embedded software in a variety of software environments, such as bare metal, embedded RTOS, or Linux
Advanced courses or a degree in engineering, computer science, or controls.
All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender, identity, national origin, disability, or protected veteran status.