We require competent candidates with a Master (desired) or Bachelor (required) degree in Electronic Engineering, Computer Engineering or Computer Science with relevant work experience. Candidates must be proficient at C programming and embedded system product development.
· Work as part of a team developing high performance networking software. Design, develop, debug, test and support the software.
Required experience and skills:
· Experience with embedded systems and embedded software development is required.
· Proficiency in embedded programming (C/C++) and scripting languages (e.g. bash, Bourne shell, Python) is required.
· Assembler experience desired.
· Multi-threaded programming experience desired.
· Extensive experience with development and debugging (GCC, revision control syste build systems, troubleshooting, debugging and profiling tools) is required.
· Experience with development and debugging from the Linux command line is desired.
· Extensive experience with designing and optimizing software to meet specified performance goals is required.
· Ability to work in a multi-disciplined team environment is required.
· Strong written communication skills are required.
Additional desired competencies:
· Knowledge of network protocols is desired.
· Knowledge of virtualization technologies is desired.
· Experience in cryptography and network security (e.g. IPsec, SSL) is desired.
· Experience with Linux kernel development is desired.
· Experience with Agile software development is desired.