Software Engineer - HTTP Framework Development and APIs
Santa Clara Valley (Cupertino), California, United States
Software and Services
Seeking a strong C or C++ developer with a background in networking. You will work on the HTTP network protocol implementation and API used by 1st and 3rd party apps and services. Our code runs on Apple products which use iOS, iPadOS, macOS, watchOS, and tvOS. URLSession API supports HTTP/1.1, HTTP/2, and newer HTTP and related technologies via Objective-C and Swift interfaces. Besides networking, your peers are fluent in run-time and memory performance optimization, multithreaded programming, cross-layer design, and many other concepts common to general software and OS development. URLSession is implemented in CFNetwork.framework in the Internet Frameworks department. You will frequently be working inside the team, other teams which belong to Internet Frameworks (WebKit, Network.framework, and APNS, iMessage, and FaceTime network services), iCloud, App Store, Music and iTunes, Watch, Enterprise teams, and many others. The team resides at Apple Park.
- Excellent analytical, programming (C or C++), and debugging skills and strong proficiency in multi-threaded development
- Familiarity or proficiency with any of Cocoa, Swift, Objective-C, iOS/macOS, or cross-platform development
- In-depth knowledge of one or more areas in networking — the team will give you a running start in the areas you will be responsible for, but you should be able to learn quickly, and both work independently and collaborate with others as the situation requires
- Strong understanding of one or more elements of HTTP networking (protocol-level details, cookies, authentication, cache, security, and performance), or ability to come up to speed before interview
- Excellent communication and collaboration skills
We are seeking a talented software engineer to help us to both create and maintain next-generation technologies for Apple's mobile, desktop, wearable, and services platforms. We need a creative engineer with experience developing high-quality products on schedule, strong communication and collaboration skills, and a passion for innovation. In this role you will be responsible for designing and implementing new features, as well as essential work maintaining existing software libraries.
Education & Experience
B.S. or M.S. in Computer Science or equivalent
- Familiarity with software development using Apple developer or cross-platform APIs
- Optional: Network library development, networking research, or networking standards