Salary
💰 $113,600 - $170,400 per year
Tech Stack
JenkinsPythonSDLC
About the role
- You will be part of a New Product Development (NPD) team, with a focus on design, development, and test of embedded software, features and functionalities for Programmable Logic Controllers (PLC) and Industrial PCs (IPC).
Contribute to overall product requirements and tools.
Design and develop embedded software for PLCs and IPCs.
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 SoC 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 understanding of object-oriented programming concepts, C++ and Python.
Operate across the entire software development life cycle: requirements, design, implementation, test, release, and maintenance.
Work on an Agile development team within a larger SAFe organization, participating in sprint, program increment and product roadmap planning.
Mentor less experienced personnel and encourage knowledge sharing and learning among the development community.
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.
Bachelor's degree in Computer Engineering, Computer Science, Electrical Engineering or equivalent knowledge in the application of software engineering principles, theories, concepts, and techniques.
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 C++.
Experience developing automated tests and tools in 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 using tools like CppUnit, unittest, 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 test to safety and security standards such as IEC 61508 or IEC 62443.
Advanced courses or degree in Engineering, Computer Science, or Controls.