The Networking team creates foundational technologies that enable Apple products to communicate with each other and the rest of the world reliably, efficiently, securely, and privately. The team achieves this through invention and implementation of new technologies, collaboration inside and outside of Apple, and standardization across the industry. You, as a talented and energetic software engineer will join our Networking Infrastructure team. The team is responsible for designing, enhancing and maintaining the core networking stack OS components used in the majority of Apple’s platforms, including but not limited to macOS, iOS, iPadOS, watchOS and tvOS! Specific areas of responsibility include networking APIs, protocols, as well as performance optimizations of various networking layers. The ideal candidate should posses an excellent conceptual understanding of networking stack internals and their interactions within the Operating System, both towards applications as well as network device drivers. Good working knowledge of TCP/IP and system level software design and implementation experience is also essential. The position will require the right candidate to determine the appropriate compromise between several competing factors such as performance (throughput and latency), energy efficiency (CPU and memory usage), ease of use and security.
The candidate needs to be able to work in a fast paced environment, operate gracefully under stress, handle multiple assignments in parallel, and be self driven to be effective in an environment with little overhead. The candidate also needs to show initiative, be able to take ownership of a problem area, and demonstrate an ability to understand the role of the group’s technology in the larger context of the product and network environment. The position has cross-functional aspects and the candidate will need to show excellent interpersonal and communication skills.
BS in Computer Science, Electrical Engineering or equivalent networking software development experienceNetworking system and hardware/driver development experienceSoftware design and development skills, including C and/or C++