Seeking a highly skilled and motivated Software Engineer to join our team, focusing on the development and optimization of our SONiC-based network platforms. You will be instrumental in developing low-level software that integrates our operating system with new hardware, ensuring high performance and reliability.
Key Responsibilities:
- Design, develop, and test Board Support Package (BSP) and other platform-specific modules for new networking hardware.
- Implement and extend the Switch Abstraction Interface (SAI) to support new ASIC features and functions.
- Work with ASIC vendors' SDKs to debug and troubleshoot hardware and software issues.
- Contribute to the broader open-source SONiC community.
- Collaborate with hardware and software teams to bring up new network switches and platforms.
- Debug and resolve complex issues related to kernel drivers, hardware, and system-level software.
Required Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- 5+ years of experience in software development, with a focus on networking or embedded systems.
- Extensive experience with the SONiC network operating system architecture.
- Proven expertise in developing Board Support Packages (BSP) for networking equipment.
- Deep knowledge of the Switch Abstraction Interface (SAI) and its implementation.
- Hands-on experience with ASIC vendors' SDKs (e.g., Broadcom, Marvell, NVIDIA).
- Strong programming skills in C/C++ and Python.
- Proficiency in Linux kernel development, drivers, and debugging tools.
- Experience with containerization technologies like Docker.
Preferred Qualifications:
- Active contributions to the SONiC open-source project.
- Experience with other network operating systems (e.g., Junos, EOS).
- Knowledge of network protocols (e.g., BGP, OSPF, L2/L3)