Collaborate across all stages of the software development lifecycle, including requirements analysis, functional specification, design, coding, integration, verification, and support
Engineer software in C/C++ for advanced Layer 2, MPLS, and IP services, including drivers, APIs, and dataplane applications
Design and develop software for real-time embedded Linux environments
Contribute to new product releases, networking features, and enhancements of existing software
Manage personal project tasks, including effort estimation, tracking, monitoring, reporting, and addressing potential issues impacting functionality or timelines
Apply Agile methodologies to software engineering processes
Develop carrier-grade software using test-driven development, automated unit testing, and comprehensive integration testing
Reduce backlog defects and troubleshoot issues, collaborating with hardware, software, and system engineers to identify root causes
Requirements
Bachelor’s degree in Electrical or Computer Engineering
5+ years of experience in embedded software development within networking or telecommunications environments
Proficiency in C programming language
Expertise in developing software for multi-processor, concurrent systems operating in embedded Linux environments
Experience in real-time embedded software development for dataplane technologies: Hardware-based Layer 2/3 forwarding engines (ASICs, NPUs, FPGAs, TCAMs)
End-to-end slow path forwarding and packet exception handling
MPLS, BGP, and Segment Routing solutions
IPv4, IPv6, E-VPN, and IP-VPN
Embedded fast protection mechanisms like BFD, BGP-PIC, and FRR
Traffic management, metering, ACLs
Strong knowledge of mutual exclusion, synchronization, interrupt handling, and inter-process communication
Benefits
medical, dental, and vision plans
participation in 401(K) (USA) & DCPP (Canada) with company matching
Employee Stock Purchase Program (ESPP)
Employee Assistance Program (EAP)
company-paid holidays
paid sick leave
vacation time
compliance with all applicable laws regarding Paid Family Leave and other leaves of absence
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard skills
CC++real-time embedded software developmenttest-driven developmentautomated unit testingintegration testingmulti-processor systemsdataplane technologiestraffic managementinter-process communication