Overview
IntroductionThe IBM Cloud Infrastructure Networking organization seek developing and operating the software platforms for large-scale data center networking environments. These platforms support high-performance switching fabrics used for cloud services, storage networks, and next-generation compute clusters including AI and HPC workloads.
A key component of the platform is SONiC (Software for Open Networking in the Cloud), an open-source network operating system designed for scalable, vendor-agnostic switching infrastructure. The SONiC Software Engineer contributes directly to the design, implementation, and improvement of the SONiC ecosystem and related networking services.
This role focuses on building reliable, scalable networking software that runs on modern switching platforms and integrates with data center automation and observability systems.
Your Role And Responsibilities
The SONiC Software Engineer is responsible for developing and maintaining components of the SONiC network operating system and associated tooling used in large-scale data center environments. The role requires strong Linux development skills, solid networking knowledge, and the ability to design distributed systems that interact with switching hardware.
The Engineer works on control-plane services, system integration, platform enablement, and performance optimization to ensure reliable network operations across high-density switching environments.
Key Responsibilities -
- Design and develop software components within the SONiC network operating system
- Implement new networking features across switching and routing subsystems
- Contribute to SONiC architecture including containerized services and system orchestration
- Develop software modules interacting with the Switch Abstraction Interface (SAI) and hardware forwarding pipelines
- Integrate routing stacks and control plane services such as BGP, EVPN, and routing protocols
- Develop platform support for switching hardware including system drivers and monitoring interfaces
- Troubleshoot and resolve software defects impacting control plane behavior or forwarding functionality
- Optimize performance and scalability for large-scale data center fabrics
- Build automation tools and test frameworks for validating software releases
- Participate in system integration testing and feature validation across multiple hardware platforms
- Collaborate with network architects and infrastructure engineers to translate operational requirements into software features
- Contribute to the SONiC open-source ecosystem and maintain code quality standards
Master's Degree
Required Technical And Professional Expertise
- Experience developing software in C, C++, Go, or Python
- Strong experience with Linux systems programming and networking
- Good understanding of networking fundamentals including Ethernet switching, TCP/IP networking, and routing protocols
- Understanding of VLAN, VXLAN, and EVPN concepts
- Experience debugging distributed or multi-process systems
- Familiarity with Github-based development workflows
- Ability to analyze packet flows and troubleshoot networking behavior using tools such as tcpdump or Wireshark
- Experience working with SONiC or other network operating systems
- Understanding of SONiC components such as SWSS, Redis-based configuration databases, and FRRouting
- Experience with switching silicon platforms or ASIC SDKs
- Familiarity with SAI (Switch Abstraction Interface) architecture
- Experience developing high-availability or distributed infrastructure software
- Experience with containerized services and microservice architectures
- Familiarity with network automation and telemetry frameworks
- Experience contributing to open-source networking projects