Skip to content
Apple · Posted 1d ago

Software Development Engineer - iOS for Keyboard

  • Cupertino, CA
  • $150,400–$277,600

About the role

Summary

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.

Description

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
  • 2+ 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
Read the original posting