Software Development Engineer - iOS for Keyboard

AppleCupertino, CaliforniaOn-siteFull-timeMid level, 2–5 yearsListed 5 days ago

Apply now

About this role

Join the Keyboard Infrastructure team to build and maintain the foundational systems that power keyboard behavior across iOS & iPadOS. You'll own keyboard focus, lifecycle management, and the APIs that apps use to interact with keyboard layout — directly impacting every text input experience on iPhone and iPad.

Design, develop, and maintain the keyboard focus system, ensuring correct and predictable focus behavior across complex app hierarchies

Own keyboard lifecycle management — presentation, dismissal, transitions, and state restoration Build and maintain APIs for keyboard layout that apps rely on for positioning, insets, and animation coordination

Ensure keyboard infrastructure works reliably across multitasking, Stage Manager, and diverse app architectures

Collaborate with UIKit, SwiftUI, and framework teams to provide consistent keyboard behavior

Debug and resolve complex issues spanning focus engines, responder chain, and windowing

Write clear documentation and provide guidance to internal and external developers adopting keyboard layout APIs

Minimum Qualifications

BS in Computer Science or equivalent experience
10+ years of experience in iOS/macOS development (Swift, Objective-C)
Strong foundation in systems programming, state management, and framework design
Experience designing or maintaining public APIs

Preferred Qualifications

Deep knowledge of UIKit internals — responder chain, UIWindow, UIScene, and view layout systems
Familiarity with keyboard avoidance, input accessory views, and text input architecture (UITextInput, UIKeyInput)
Experience shipping frameworks or infrastructure used by other engineering teams
Understanding of accessibility requirements for keyboard and focus interactions
Track record of diagnosing and fixing subtle lifecycle and state-management bugs