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, promoting agile practices within the team
- Perform detailed-level design and implementation of controller features and subsystems with technical guidance from senior engineering personnel
- Participate in all aspects of the embedded software quality process, including design and code review, and developing unit and functional testware
- Implement automated tests; expand and improve automated test coverage, practices, and procedures
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
- 2+ years of software engineering experience in a professional setting, or an equivalent graduate degree
- Experience developing software for embedded systems, especially using an embedded RTOS or Linux
Desired Qualifications
- Experience debugging software systems using either an on-chip debugger, or a software based debugger such as GDB
- Experience developing automated tests and tools in a high level language such as Python
- Knowledge of 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
- Advanced coursework related to software engineering, embedded systems, operating systems, or computer architecture
Pay: $50.00 - $60.00 per hour
Work Location: In person