Job description:
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.