Develop, maintain, architect, and design embedded networking software.
Research complex subjects and provide expert guidance.
Develop new features and protocols, perform performance analysis, optimize systems, maintain existing systems, and diagnose failures.
May take a lead role in software components.
Review codes of others.
Mentor less experienced members of the team.
Requirements & Skills:
BS in Computer Science or Computer Engineering; MS in Computer Science or Computer Engineering preferred.
8 or more years of software development in C/C++ programming.
Significant experience with multithreaded and multi-core software development.
Working experience and/or knowledge of networking fundamentals and protocols such as NAT, DHCP, DNS, IPv4/IPv6, TCP/IP, UDP, SSL, HTTP/HTTPS, and socket APIs.