Apple is looking for a talented and energetic software engineer for the Core Networking team to lead and participate in the architecture and development of next generation networking technologies. The team is responsible for designing and enhancing the operating system networking components across Apple’s range of products including all iOS, macOS, watchOS, tvOS and visionOS based products. In this role, you will design and develop innovative systems firmware to enable TCP/IP Networking on a co-processor so that Networking connectivity is provided in a very power and thermal efficient manner. This capability forms the bedrock of Apple’s next generation of technologies and allows Apple to provide new user experiences and refresh its device roadmap.
Requirements
- At least 5+ years of real time embedded software (firmware) development experience (design and implementation)
- Proficiency in C or C++ on resource-constrained embedded platforms
- Experience with Embedded Operating Systems or Micro Kernels (Embedded Linux, QNX, VxWorks, L4 etc.)
- Experience with Networking stack implementations (BSD, Linux/ Android, Solaris, lwIP, sevenstax, mbedTLS etc.)
- Familiarity with link-layer technologies (Ethernet, Wi-Fi, Cellular etc.)
- excellent conceptual understanding and working knowledge of TCP/IP and related networking technologies
- excellent system level architectural thinking along with low-level firmware programming skills
Responsibilities
- lead and participate in the architecture and development of next generation networking technologies
- designing and enhancing the operating system networking components across Apple’s range of products including all iOS, macOS, watchOS, tvOS and visionOS based products
- design and develop innovative systems firmware to enable TCP/IP Networking on a co-processor
- Networking connectivity is provided in a very power and thermal efficient manner
- mentor to the junior members of the team
- opportunity to lead cross-functional design
Other
- work in a fast paced environment
- operate gracefully under stress
- balance multiple assignments in parallel
- be self driven to be effective in an environment with little overhead
- 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
- excellent interpersonal and communication skills
- excellent communication and leadership skills