Vacancies available for skilled embedded software engineers with Master’s or Bachelor’s degree in Electronic Engineering, Computer Engineering or Computer Science.
Must be proficient and competent at C programming and have experience in any of the following fields:
- cryptography and network security are highly desirable, and/or
- experience with Linux kernel development and/or
- web development
- interface development
Work as part of a team to design, develop, debug, test and support high-performance networking software.
The ideal candidate will have the following experience and skills:
- Master’s or Bachelor’s degree in Electronics Engineering, Computer Engineering or Computer Science with at least two years of relevant work experience.
- Proficient in embedded programming (C/C++) and scripting languages (e.g. bash, Bourne shell, Python).
- Experience with IXP/NFP software development (C/assembler) is desired.
- Extensive experience with development and debugging on a Linux platform is required (GCC/G++, revision control systems, build systems, troubleshooting, debugging and profiling tools).
- Experience with embedded systems and embedded software development is required. Experience with multi-threaded programming is desired.
- Knowledge of major network protocols such as TCP, IP, HTTP, Ethernet, ARP, ICMP, UDP as well as typical network device operations such as parsing, classifying, filtering and forwarding traffic is desired.
- Knowledge w.r.t. implementation of network protocols and device driver/network stack internals for Linux and/or other embedded operating systems is desired.
- Knowledge of virtualization technologies (e.g. hypervisors, IOV) is desired.
- Extensive experience with designing and optimizing software to meet specified performance goals is required.
- Experience in Cryptography and network security (including protocols) e.g. IPsec, SSL is highly desirable.
- Experience in cryptography and network security is highly desirable.
- Experience with Linux kernel development is desired.
- Knowledge of network switching and routing including network design, L2 bridging, STP, L3 routing and dynamic protocols is desired.
- Assembly language programming experience is advantageous.
- Ability to work in multi-disciplined team environment is required.
- Strong oral and written communication skills are required.