Requirements:
— Knowledge and experience of complex software design for distributed systems in embedded networking/telecommunications projects.
Experience with design and development of Layer 2, Layer 3, multicast networking control and/or data plane software.
— Background in software design, implementation and debugging, Design Patters.
— Software development experience on real time (Linux, QNX, VxWorks) or embedded systems.
— Excellent programming skills in C/C++, Python. Certifications.
— Experience in designing and developing high-performance switching and routing software.
— Strong knowledge of operating system architecture such as memorymanagement, IPC, scheduling, task switching, concurrent memory access, event driven programming.
— Strong communication and problem solving skills are essential.
— 5+ years of experience in a software development position.
— Bachelor/Master Degree in in Computer Science, Engineering (any).
— OCP (Open Compute Project) experience.
— Experience with any network layer stacks from Cavium, Marvel, Mellanox, Broadcom, etc.
— Experience with DPDK.
— Experience with OpenSSL library.
Responsibilities:
— Responsible for the definition, design, development, test, debugging, release, enhancement and maintenance of networking software.
— Write design specifications and functional specifications for software architecture design.
— Develop and define new software product features.
— Perform complex system level tests, enhance and resolve issues in existing codes and perform unit testing and integration testing.