Software Engineer - Compute Networking

AppleSeattle, WashingtonOn-siteFull-timeMid level, 2–5 yearsListed 2 hours ago

Apply now

About this role

Imagine what you could do here. At Apple, new ideas have a way of becoming extraordinary products very quickly. Bring passion and dedication to your job, and there's no telling what we can accomplish together. We're looking for a hardworking and passionate person to join this amazing team, and if you feel this is you, we'd love to hear from you!

The Apple Services Engineering (ASE) organization is responsible for building powerful platforms that enable engineers to deliver incredible experiences to customers.

Our compute team is responsible for designing and building the foundational pieces of our in-house cloud technologies. In this role, you will collaborate with teams across Apple to build reliable, high-performance compute infrastructure focused on networking. We are seeking a candidate who is highly motivated, with strong technical and communication skills to create intuitive user experiences, who is passionate about quality, and has a keen eye for the details that surprise and delight our customers.

Join this team, and you'll help us create and deploy network systems that support Appleʼs world-renowned hardware and software architecture.

In this role you will be responsible for developing, debugging, deploying and maintaining Apple cloud’s software defined network solutions for various compute platforms. You will

* Closely collaborate with teams within and across organizations
* Design, implement, and debug software components
* Write and review code, generate and review design documentation - Participate in qualifications and rollouts of software to production clusters
* Benchmark, analyze and improve scale, performance and resiliency issues
* Hold yourself and others to a high quality standard expected of Apple products

Minimum Qualifications

BS with 2+ years of experience in system software development or MS in Computer Science
Strong systems programming skills and knowledge of operating system fundamentals.
Experience with SDN, Overlay networking protocols.
Understanding of Rest APIs / gRPC APIs and a grasp of distributed program concepts.
Fluency in Go (Golang) in a systems context
Strong understanding of concurrency, parallelism and distributed systems concepts.
Ability to effectively communicate within a team and with project stakeholders
Excellent problem solving and analytical thinking skills
Enthusiastic about quality, design, and user experience

Preferred Qualifications

Experience with accelerated networking software like DPDK, OVS , FD.io or FRR.
Understanding of network protocols BGP, VxLAN
Experience with Kubernetes
Experience with using and building cloud technologies such as AWS, GCP, CloudStack or OpenStack
Experience building software solutions in Java, C/C++, Python