The Software Engineer’s role will be to design/develop/test a protocol filtering infrastructure for Industrial Internet of Things (IIoT) devices and design/develop/test network protocols for communications between IIoT devices and servers. The Software Engineer will work closely with embedded, server application, and cybersecurity software developers to implement network communications software through the full development cycle from concept to software release.
Required:
- BS in Computer Science or equivalent.
- Strong C/C++ development capability.
- Experience implementing software which parses network and application protocols from the ground up using documented protocol standards.
- Experience implementing protocol filtering software using rule-based filtering.
- Basic understanding of network security concepts and secure protocols such as TLS.
- Experience using network test and analysis tools (Wireshark, Snort) to support development/test.
- Ability to work in a fast-paced, entrepreneurial environment as part of a small software development team and execute complex development tasks with limited supervision.
- Good written and verbal communications skills adequate to prepare software documentation, participate in technical proposal development, and work with external customers.
Preferred:
- MS in Computer Science or equivalent.
- 3-5 years professional software development experience.
- Experience developing embedded software for general purpose network equipment (routers, switches) or security specific network equipment (firewalls, deep packet inspection)
- Experience with network device management protocols such as SNMP.
- Experience with network anomaly detection.
- Knowledge of industrial network protocols and standards such as Modbus and DNP3.
- Cybersecurity background including Security+ or similar security certification.