Santa Clara Valley (Cupertino), California, United States
Software and Services
Do you thrive on variety, collaboration, and facilitating solutions to hard software engineering challenges? Are you looking to continually apply the best practices of your craft with peers from multiple areas of Software Development across multiple internal and external partners? Partner Engineering is a role focused on improving our software ecosystem. Some of the ways it can be improved is by working closely with our partner external software developers, helping them land technology transitions and stay modern with platform best practices. Our team listens to their requirements, goals and enhancement requests and translates those into improvements in our own APIs or features when applicable. We work with our internal teams to understand what’s needed of our external partners as we develop new technologies and products, and then work with those partners to find the most efficient way to meet those needs. Translating this knowledge into more clearly defined features, APIs, samples, patches or new direction are possible paths to success in the team!
- Strong computer science fundamentals, specifically with operating systems
- Strong programming language skills (pointers, memory management, algorithms) and language skills C, Objective C, or C++
- Good practical experience in debugging and debugging tools
- Excellent interpersonal skills are a requirement due to the high level of interaction with internal and external engineering teams & management
- Creative thinker and problem solver with meticulous attention to detail
- Passionate, inquisitive, and seeks to take on everyday problems in innovative ways
On the Developer Ecosystem Engineering team, partner engineers help analyze partners products and recommend technical optimizations and best practice to take advantage of our shifting technology space. We host developers for in-person engineering sessions to unblock technical roadblocks and accelerate development. We are a resource for external partners and internal teams for advocating/implementing changes to improve the ecosystem. This is often focused on new, in development technologies. We often move between multiple platforms as external teams challenges shift, problems arise on iOS or macOS variants of our partners products. We use this as an opportunity to further our own knowledge, solve a real problem in the ecosystem and feed these problems back into Apple to make something a little better the next time around.
Education & Experience
- BS/MS, preferably Computer Science or related experience
- - Experience in macOS or iOS programming at the application, framework, graphics and kernel levels a strong plus
- - Experience with Mono, Qt, or x86 assembly a plus
- - Experience with platform-specific debugging tools (lldb, dtrace, etc.) a plus