Cocoa UI Software Engineer

Santa Clara Valley (Cupertino), California, United States
Software and Services

Summary

Posted: Sep 21, 2019
Weekly Hours: 40
Role Number: 200098142
Why write a single app when you could help shape thousands? The AppKit team is responsible for delivering the user experience on the Mac, and builds the components and APIs used by all macOS applications. We have an impact across the entire breadth of the macOS system, directly impacting the experience of every single user. Are you passionate about providing users and developers with a first-class experience? Join us!

Key Qualifications

  • Strong object oriented programming skills
  • In-depth development experience at the application and user interface level with Cocoa, Cocoa Touch, Windows, Android, or Java
  • Ability to work collaboratively to improve designs and code
  • Strong knowledge of one or more of Swift, Objective C, C, C++, or Java

Description

The AppKit team is responsible for the user interface frameworks that form the heart of macOS applications. Engineers on our team are responsible for and contribute to AppKit, UIKit, and SwiftUI; building and enabling features used across the OS, such as Dark Mode, Mac Catalyst, Touch Bar, Auto Layout, and Screen Time. We provide a wide variety of building blocks including: *Windows & layout of their content *Drawing & graphics support *Enabling new input devices and other hardware *Responding to user events *User controls like buttons, sliders, and tables *Document management infrastructure As a developer on the AppKit team, you'll use your insight and experience to constantly improve existing components and bring new user interface concepts to life. You'll be responsible for creating and evolving the Objective-C and Swift APIs that application developers use to build their apps, and you will provide guidance and support for internal and external developers that adopt those APIs. Our team works together closely in an open, collaborative environment – ready to share or discuss ideas, problems, and solutions. We frequently work multi-functionally with a variety of teams including HI (human interface) designers, hardware engineers, technical writers, and more. We encourage curiosity and initiative, and depend on the ability to learn and grow when approaching new features and technology. The technical problems we solve are often challenging, and we play a critical role in making the Mac what it is.

Education & Experience

BS in computer science or equivalent.

Additional Requirements

  • Familiarity with Unix, ideally macOS
  • Experience developing reusable APIs