Foundation Software Engineer - Cocoa Team
Santa Clara Valley (Cupertino), California, United States
Software and Services
Join the Cocoa team and help design the fundamental APIs for macOS, iOS, watchOS, and tvOS. Our team is responsible for key technologies including the AppKit, CoreData, CoreText, and Foundation frameworks. We work on projects that focus on improving a broad range of developer and user experiences for all of Apple’s platforms.
- Strong object oriented programming and design skills.
- Development experience with Objective-C or Swift.
- Familiarity with Foundation and CoreFoundation libraries and design patterns.
- Excellent problem solving and critical thinking skills.
- Ability to work in a diverse group, including writing and interpersonal skills.
Are you up to the challenge of contributing to software used by hundreds of millions of people every single day? As a Foundation engineer, you will have the rare opportunity to work at the intersection of computer science theory and practical everyday engineering. The code that you write will become an important building block for a wide variety of features and a critical part of shipping software on a regular schedule. We are trusted to deliver high quality results on difficult tasks. The Foundation team specializes in designing, building, and maintaining low-level functionality used by all of Apple's operating systems. We are responsible for implementing many of the Objective-C and Swift APIs you have already used in your own app, including collections, numbers, data, strings, dates and times, formatting, archiving, and more. We work in C, Objective-C, and Swift. You will design, implement, and review new API. You will diagnose and fix complex bugs, and provide advice to clients about standard methodologies when using the library. You will collaborate with many other teams to deliver broadly scoped features, quality improvements and performance enhancements. You will also work with the Swift open source community as part of the Swift Core Libraries project. We encourage curiosity and initiative, value diversity, and depend on the ability to learn and grow when approaching new features and technology.
Education & Experience
Bachelor’s Degree in Computer Science, Computer Engineering, or equivalent.