Senior Software Engineer
Core
Designing embedded software in C/C++ on Linux to configure ASICs and manage hardware resources for high-performance Layer 1/2 optical transport and switching.
Role type
Senior embedded software engineer (networking hardware)
Builds
Embedded software for optical transport and switching hardware platforms
Domain
Telecommunications / Optical networking
Deliverable
production ML models | product features | infrastructure
Required skills
C, C++, Linux kernel drivers, user space drivers, embedded systems concepts (synchronization, interrupt handling), datacom/telecom protocols (DWDM, OTN, Ethernet, TCP/IP), debugging (GDB, Valgrind)
Preferred skills
Microservice architecture on RTOS, hardware architecture interpretation, CLI/NETCONF/REST/gRPC, Python/Go/Bash scripting, YANG modeling
Technologies
Linux, C, C++, GDB, Valgrind, Git, Eclipse, JIRA, Confluence, Yocto, Python, Go, Bash
Responsibilities
Design embedded software to configure ASIC and hardware components; Implement software to manage hardware resources for transport applications; Collaborate with engineering teams to plan and track development; Contribute across the product development lifecycle; Review product requirements to inform software design; Prototype and evaluate solutions on target hardware; Deliver functional specifications and technical design documentation
Seniority
Senior, hands-on IC