Software Engineer - Core Networking

Santa Clara Valley (Cupertino), California, United States
Software and Services

Summary

Posted:
Weekly Hours: 40
Role Number:200129533
Apple is looking for a talented and energetic software engineer for the Network framework team to participate in the architecture and development of the next generation of networking APIs. The team is responsible for designing, implementing, and maintaining the Network APIs that connect developers to network protocols in an intuitive and easy to use way. These Network APIs are at the heart of Apple's range of products including all macOS, iOS, watchOS and tvOS products. Specific areas of responsibility include establishing network connections, transferring data efficiently and securely, and discovering network services. The ideal candidate should possess an excellent command of the C language and API design. A conceptual understanding and working knowledge of TCP/IP and related networking technologies will be helpful. System level software design experience is essential. The position will require the right candidate to determine the appropriate compromise between several competing factors such as performance, efficiency, ease of use, privacy, and security.

Key Qualifications

  • Experience developing commercial networking software and/or hardware products
  • Strong software design and development skills including; C, C++ programming language experience
  • Strong API design experience
  • Experience developing commercial networking software and/or hardware products
  • Working knowledge of the TCP/IP suite of protocols (including IPv6) and APIs
  • Unix networking, including sockets API
  • Network troubleshooting skills
  • Excellent communication and interpersonal skills
  • Enthusiasm and interest in keeping up with trends / research in networking transports / protocols (e.g. HTTP3, QUIC, etc.)

Description

You will 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 will need 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.

Education & Experience

BS in Computer Science or Electrical Engineering or 4 years of relevant industry experience

Additional Requirements

  • Preferred Experience:
  • Mac OS and iOS development experience
  • C, C++, Objective-C, or Swift language experience
  • Asynchronous programming using dispatch queues and blocks
  • Network debugging tools (e.g. packet sniffers, protocol analyzers)
  • Good understanding of HTTP and web networking technologies, mobile networking, and IPv6