Responsibilities
- Developing new network features, and updating/improving existing software
- Maintaining existing test software and creating new test software
- Conducting analysis of reported bugs by capturing and analyzing packet traces
- Referring to networking RFCs as needed
- Creating and maintaining design, test, and user documentation
Requirements
- Degree in Computer Science, Computer Engineering or Electrical Engineering
3+ years of professional software engineering experience
Strong skills in C/C++, data structures, algorithms, and multi-threaded software development
Understanding of networking fundamentals including TCP/IP, socket programming
Preferred Skills
- Real-time embedded software development
- Experience developing network software stacks and libraries such as TCP/IP, sockets, SSL/TLS, libcurl, etc.
- Solid understanding of synchronization mechanisms such as events, mutex, locks, and semaphores