Overview
Skills
Job Details
Position: SONiC Software Engineer
Location: Remote
Duration: Long term
JD :
Seeking a highly skilled and motivated Software Engineer with focus on the development and optimization of SONiC-based network platforms. Candidate will be instrumental in developing low-level software that integrates 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.
7 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)