JOB DESCRIPTION & RESPONSIBILITIES
Optical networks continue to aggressively move towards Layer 0/1/2/3 converged infrastructures. Ciena’s Packet Optical Transport Switching (POTS) portfolio of Layer 2, MPLS and IP networking products provide carrier grade packet networking services in metro networks.
The POTS Datapath software group is seeking multiple embedded software engineers with experience in designing and developing embedded carrier-grade software on custom hardware platforms. As a member of the team, the successful candidate will participate in all states of the software development life cycle, including:
- Design and develop software written in C for Layer 2, MPLS and IP Datapath applications and the hardware abstraction layer. This includes enhancements of existing software as well as development of new networking features.
- Write software which runs on an embedded Linux/VxWorks platform.
- Participate in backlog defect reduction.
- Troubleshoot issues and work with hardware, software and system engineers to identify the root cause.
- Help investigate and collect information to resolve process or design issues found in the codebase.
- Identify software performance improvements through test driven development, automated unit testing, and comprehensive integration testing.
WHAT YOU MUST HAVE
- Bachelor’s degree in Electrical/Computer Engineering or Computer Science.
- 5 + years’ work experience (Dependent on level) focused on embedded software development.
- Extensive C programming language experience.
- Experience with real-time, embedded software development for some or all of the following data plane technologies:
- Fastpath hardware (ASICs, NPUs, FPGAs, TCAMs) Layer 2 and Layer 3 forwarding engines
- End-to-end slow path forwarding and packet exception handling
- MPLS, BGP and Segment Routing centric solutions
- IPv4, IPv6, E-VPN and IP-VPN
- Embedded fast protection mechanisms such as BFD, BGP-PIC and FRR
- Other data-plane services including traffic management, metering, ACLs
- Experience with Broadcom DNX/XGS packet processing chipsets is a strong asset
- Experience with datapath programming using DPDK is an asset
- Ability to work in a lab environment and integrate software onto custom and off-the-shelf data plane hardware components such as ASICs, NPUs, FPGAs and TCAMs and associated SDKs.
- Familiarity with developing software on multi-processor, highly concurrent systems
- Good knowledge of mutual exclusion, synchronization, interrupt handling, inter-process communication, etc.
- Ability to seek out answers and work independently.
- Positive work attitude, highly motivated and a willingness to learn.
- Strong verbal and technical writing skills.
- Collaborates well in a team environment.