Senior Embedded Software Engineer
Company | Rockwell Automation |
---|---|
Location | Mayfield Heights, OH, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s |
Experience Level | Senior |
Requirements
- Bachelor’s Degree or Equivalent Years of Relevant Work Experience
- Legal authorization to work in the U.S. We will not sponsor individuals for employment visas, now or in the future, for this job opening.
Responsibilities
- Design and develop embedded firmware for Programmable Logic Controllers and Industrial PCs.
- 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 as well as promote continuous improvement of tools and practices across the global development organization.
- Demonstrate a strong understanding of object-oriented programming concepts, C++ and Python.
- Operate across the entire software development life cycle: requirements management, design, implementation, test, release, and maintenance.
- Work on an Agile development team within a larger Scaled Agile Framework (SAFe) organization, participating in short term (sprint), medium term (program increment) and long term (product roadmap) planning.
- Mentor less experienced personnel and encourage knowledge sharing and learning among the development community.
Preferred Qualifications
- Bachelor’s degree in Computer Engineering, Computer Science, Electrical Engineering or equivalent knowledge in the application of software engineering principles, theories, concepts, and techniques.
- This role typically requires a minimum 5+ years of software engineering experience with demonstrated professional development in software design and implementation.
- Ability to understand and apply knowledge of object-oriented analysis, design, and programming techniques.
- Experience developing embedded software in object-oriented languages such as C++.
- Experience developing automated tests and tools in high-level languages such as Python.
- In depth knowledge of software engineering and application of engineering principles and practices in a related field.
- Experience in requirements decomposition and test traceability.
- Experience using open-source tools like Git and Jenkins.
- Knowledge of unit testing frameworks like CppUnit, GoogleTest, etc.
- Experience with continuous integration environments, automated test, and acceptance testing.
- Experience working in an Agile development setting and Agile project tools.
- Experience working with industrial protocols, especially Common Industrial Protocol (CIP)
- Experience developing software and tests to safety and security standards such as IEC 61508 or IEC 62443.
- Advanced courses or degree in Engineering, Computer Science, or Controls.