Software Development Engineer - iOS for Keyboard

Apple Inc

Quick summary

Work type
On-site
Location
Cupertino, CA
Salary
$147,400–$272,100 / yr
Posted
29 days ago

Market check

Salary context

Above market

How this pay compares to similar roles

Similar $175k
This role $210k
$125k most similar roles pay here $288k

This role pays more than 75% of similar roles. Most pay $140,388–$210,562 — the shaded band above. At the midpoint, this role pays about $210k versus about $175k for comparable roles.

Based on 240 similar postings.

Employer

About Apple Inc

Apple Inc. is a multinational technology company known for designing and manufacturing consumer electronics, software, and online services, including the iPhone, Mac, iPad, and App Store. Industry: Consumer Electronics & Software

Apple Inc currently has 1723 open roles on FindRole.

Listed pay typically runs $162,500–$272,100 across 1398 roles with salary data.

Most-posted roles

View all roles at Apple Inc

At a glance

TL;DR · Software Development Engineer - iOS for Keyboard

Join the Keyboard Infrastructure team as a Software Development Engineer to build and maintain foundational systems that power keyboard behavior across iOS and iPadOS. You will own keyboard focus, lifecycle management, and APIs for app interaction with keyboard layout, impacting every text input experience on iPhone and iPad. Responsibilities include designing robust keyboard focus systems, managing complex lifecycle transitions, and collaborating with UIKit and SwiftUI teams to ensure consistent behavior. Essential skills are Swift or Objective-C expertise, a strong foundation in systems programming, state management, and framework design, along with deep knowledge of UIKit internals and accessibility requirements. This role demands attention to edge cases and the ability to debug intricate issues across multitasking environments.

What you'll do

  • Design and develop the keyboard focus system to ensure correct behavior across complex app hierarchies.
  • Own keyboard lifecycle management, including presentation, dismissal, transitions, and state restoration.
  • Build APIs for keyboard layout that apps use for positioning, insets, and animation coordination.
  • Ensure keyboard infrastructure works reliably in multitasking environments and with diverse app architectures.
  • Debug and resolve complex issues related to focus engines, responder chains, and windowing systems.

What we're looking for

  • 2+ years of iOS/macOS development experience using Swift/Objective-C
  • Strong foundation in systems programming, state management, and framework design
  • Experience designing or maintaining public APIs
  • Deep knowledge of UIKit internals including responder chain and windowing systems
  • Familiarity with keyboard avoidance, input accessory views, and text input architecture
  • Track record of diagnosing and fixing complex lifecycle and state-management issues

More like this

Similar roles

Software Engineer - iOS Keyboard, Input Experience

Apple Inc

Cupertino, CA 56 days ago $147,400$272,100
Swift Objective-C C C++ Xcode iOS macOS tvOS watchOS UI frameworks Source control Unit testing Debugging Natural Language Processing Accessibility Localization Performance measurement tools CI/CD

iOS/macOS Software Engineer

Apple Inc

Cupertino, CA 88 days ago $147,400$272,100
Swift SwiftUI Swift_Concurrency Swift_Testing CoreML Python multithreading concurrency memory_management CI/CD iOS macOS

Staff Software Engineer - iOS

PayPal

Austin, TX 87 days ago $160,500$238,700
Swift UIKit SwiftUI CoreAnimation GraphQL REST CI/CD Objective-C networking automated testing Crashlytics Fabric Appium Cucumber
Hybrid

Staff Software Engineer - iOS

Uber

San Francisco, CA +1 44 days ago $232,000$232,000
iOS Android Swift Kotlin Objective-C RESTful APIs Git CI/CD Docker AWS Firebase Google Cloud Platform PostgreSQL Cassandra GraphQL React Native Flutter Microservices Terraform

Lead Software Engineer, iOS

Snap Inc.

Santa Monica, CA +1 9 days ago
Swift Objective-C UIKit Foundation Core Animation Core Data multithreading performance optimization software design patterns React Native C/C++ OpenGL Metal