Sr. Software Architect, Keyboard Input Method

Cupertino, CA 95014
  • Job Code
    200215694
  • Jobs Rated
    8th
Summary

Summary

Posted: Apr 15, 2021

Weekly Hours: 40

Role Number:200215694

The Keyboard Input Method team is looking for an experienced Sr. Software Architect to design and implement the...Summary

Summary

Posted: Apr 15, 2021

Weekly Hours: 40

Role Number:200215694

The Keyboard Input Method team is looking for an experienced Sr. Software Architect to design and implement the next generation text input architecture on all of Apple's major platforms including macOS, iOS, watchOS, and tvOS.

Key Qualifications

  • Experience with Objective-C, C, or C++
  • Excellent understanding of application architecture
  • Strong communication and collaboration skills
  • Excellent analytical, debugging and critical thinking skills
  • Passion for code quality
  • 8+ years of relevant experience with increasing responsibilities

Description

The Keyboard Input Method team is responsible for ensuring that Apple's products are tailored for customers around the world by providing text input solutions for many languages including Chinese, Japanese, Korean, Arabic, Hebrew, Thai, Vietnamese, Hindi, Tamil, and many more; across all of Apple's software platforms.

We also design text input solutions that meet the specific needs of each language, such as unique 10 Key keyboards for Chinese, Japanese, and Korean, transliteration-based keyboards for Hindi and Tamil, Handwriting-based input, and much more.

Due to the significant impact that our software has on the world population, we are committed to delivering the greatest text input experience possible. The increasing sophistication of the text input features that we deliver, such as QuickPath, Handwriting, AutoFill, and Proactive QuickType, require an increasingly powerful software architecture.

As a Sr. Software Architect, you will be leading the effort to create the next generation text input architecture and will be encouraged to be creative and use modern concepts and techniques such as dependency injection, design patterns, design by contract, and more. One of the core aspects of a great software architecture is the richness of the domain model, which you will be designing in order to perfect the modeling of the text input domain. In order to make it even easier to write powerful input methods, you will also have the opportunity to explore the possibilities of creating a domain specific language with fluent interfaces for writing input methods within the new architecture.

We have a fast moving environment that cultivates collaboration, innovation, and growth in the areas that allow us to consistently deliver to the end user. As such, there is great potential for growth in this role as you continuously develop new techniques and acquire more knowledge in Natural Language Processing and Machine Learning in the process of perfecting the text input architecture.

Education & Experience

BS in Computer Science or equivalent work experience

Additional Requirements

  • Ability to design APIs, frameworks, and unit testable software using dependency injection, design patterns, design by contract, and functional programming concepts
  • Ability to create rich domain models using Domain Driven Design
  • Understanding of DSL and fluent interfaces
  • Interest or experience with Natural Language Processing or Machine Learning
  • Familiarity with Unicode, text encoding, and ICU


Jobs Rated Reports for Software Engineer

Before you go...

Our free job seeker tools include alerts for new jobs, saving your favorites, optimized job matching, and more! Just enter your email below.

Share this job:

Sr. Software Architect, Keyboard Input Method

Apple, Inc.
Cupertino, CA 95014

Join us to start saving your Favorite Jobs!

Sign In Create Account
Software Engineer
8th2017 - Software Engineer
Overall Rating: 8/199
Median Salary: $100,690

Work Environment
Good
53/199
Stress
Very Low
24/199
Growth
Very Good
32/199