Senior Software Developer - L2/L3 Networking Protocols
Summary
Senior embedded software developer role designing and implementing L2/L3 networking protocols (STP, BGP, MPLS, EVPN-VxLAN) for high-performance data networking products, leading the control plane team using C/C++ on Linux.
Project description
Perform embedded system software design and implementation for a leading high-performance data networking product and as a member of a highly capable and dynamic engineering team.
Responsibilities
- Analyze requirements, design, develop and deliver high quality software along with functional teams.
- Participate in SW Design reviews, articulate system software requirements
- Experiment and project various performance/scale tweaks with optimal use of Board HW devices and SW resource
- Demonstrate cross functional collaboration with Product Marketing, SQA and other development teams to ensure software meets all performance, scalability, interop, and security requirements
- Lead the control plane team, interact cross functionally on matters that require coordination across organization lines.
- Write functional and design specification documents and drive sign-off. Interface with developers, QA, documentation & customer support & program management teams.
- Participate in full product life cycle development.
SKILLS
Must have
- Minimum of B.S./B.E./B.Tech in CS/EE/ECE/IT
- 8+ years of relevant industry experience in Networking/Telecom- Embedded/Network Management
- Strong understanding of routing algorithms, data structures and open-source integration.
- Strong understanding of control plane and data networking concepts
- Excellent knowledge of Layer-2 Bridging protocols - STP/MSTP/RSTP, LACP, MLAG & LLDP
- Strong knowledge of Layer-3 Routing protocols - BGP, MPLS, EVPN-VxLAN
- In-depth understanding of Linux operating systems and embedded software development
- Excellent programming knowledge in C/C++
- Experience in trouble shooting & debugging memory leaks, performance bottlenecks
- Experience working with multi-site project teams
- Ability to learn on the job and ready to take up challenges
- Should be able to implement and handle the complete delivery of the component/modules owned
- Strong analytical and problem-solving skills
- Ability to be productive in flexible and dynamic work environments
- Excellent oral/written communication and interpersonal skills
Nice to have
• Exposure to GO and microservices architecture