Job Description
Do you want to help build some of the largest and most consequential enterprise and customer technology systems in the world? Join Apple’s Information Systems and Technology (IS&T) organization.
IS&T is the engine behind everything Apple does for customers and for the people who build for them. It’s Apple’s central nervous system. Supporting 2.5 billion active Apple devices, processing billions of secure transactions, and keeping the technology that defines modern life running flawlessly, IS&T makes the impossible feel effortless.”
Do you love building solutions to handle global complexity and immense scale? Imagine what you could do here.
Infrastructure Services is part of IS&T and the foundation of Apple's global network operations — managing data center equipment and systems to deliver compute, storage, and networking services for teams across Apple, including its internal developer community. From individual facilities to a worldwide network, Infrastructure Services ensures the technology underneath everything works without question.
We're seeking a Software Engineer with a strong background in networking and systems software to develop, enhance, and troubleshoot networking software on the SONiC (Software for Open Networking in the Cloud) Network Operating System.
The ideal candidate understands networks end-to-end — from the protocol and control-plane layers down to the switching ASIC and packet-forwarding pipeline. This role requires hands-on experience with network operating systems, a solid grasp of SAI (Switch Abstraction Interface) and network ASICs, and excellent debugging and problem-solving skills.
You'll work across the full networking stack — SONiC applications, routing and switching protocols, SAI, ASIC SDK interfaces, Linux networking, and hardware — to build reliable networking platforms and diagnose complex issues in large-scale network environments.
Preferred Qualifications
10+ years of software development experience.
Hands-on experience developing or contributing to SONiC.
Experience developing software using SAI APIs.
Experience with one or more switching ASIC families or SDKs from vendors such as Broadcom or NVIDIA.
Experience troubleshooting discrepancies between expected SONiC/SAI behavior and actual ASIC forwarding behavior.
Understanding of ASIC resource limitations, including TCAM, route tables, ECMP groups, next-hop resources, counters, and buffers.
Knowledge of VXLAN/EVPN, data-center networking, leaf-spine architectures, and large-scale network fabrics.
Experience with network validation, traffic generators, packet analysis, or network automation.
Experience developing software for high-scale or highly available networking systems.
Experience contributing to open-source networking projects.
Minimum Qualifications
Strong software development experience in C/C++, Python, Go, or similar systems programming languages.
Strong understanding of computer networking fundamentals.
Experience developing or working with network operating systems, switching software, routing platforms, or network infrastructure software.
Working knowledge of SONiC architecture and its major components.
Working knowledge of SAI and how SONiC uses it to program switching ASICs.
Working knowledge of network switching ASIC architecture.
Strong Linux systems knowledge, including Linux networking.
Excellent debugging and troubleshooting skills, with the ability to systematically isolate problems across multiple software and hardware layers.
Ability to analyze logs, packet captures, database state, protocol state, and ASIC programming state to identify root causes of complex networking issues.
Strong software engineering fundamentals, including data structures, concurrency, APIs, testing, source control, and software design.