Software Engineer
Role details
Job location
Tech stack
Job description
You will have significant responsibilities in building and improving libraries and SDKs for running large-scale, mission-critical services in Swift. You will have the chance to influence the direction of the platform and collaborate with multi-functional teams across Apple to help define, implement, and deliver functionality to help build the next generation of Apple Cloud Services. Our work takes us across multiple domains, from cloud services to iOS and macOS SDK development. The common thread for all of our development is a focus on the Swift programming language. If you have experience in any of these areas you can hit the ground running, but we believe that great engineers can learn these skills on the job. Successful candidates will have strong engineering skills and communication, as well as the ability to build relationships and collaborate across the company. You will have a real passion for quality, technical excellence, and an ability to understand complex systems. If this sounds like you, then we would love to hear from you.
Requirements
Do you have experience in macOS?, * Experience with standard software engineering tooling and workflows, including version control and code review *
- Strong proficiency in at least one programming language (e.g., Java, Python, Swift, C/C++)
- Strong large-scale server-side development experience
- Experience navigating ambiguity and leading initiatives or workstreams
- A willingness to jump in and tackle new problems
Preferred Qualifications
- Expertise in library design/API evolution
- Asynchronous/streaming programming experience (e.g. Reactive Streams, Dispatch, Combine, or similar)
- Experience with implementing, debugging, and scaling network protocols.
- Experience with modern high-performance Linux networking technologies, including some or all of eBPF (with or without XDP), DPDK, and io_uring.
- Familiar with modern cryptography, including an understanding of the major categories of cryptographic primitives, how to safely use them, and what to avoid.