Skip to main content

Algorithms Software Engineer

Algorithms Software Engineer

Santa Clara Valley (Cupertino),California,United States


+ Solid experience developing in object-oriented C++ and Python as part of a software development lifecycle, and employing common OO design patterns

+ Understands and advocates principles of scalable API design, documentation, and support for shared code libraries, API’s, SDK’s, and/or packages

+ Familiar with compilation flows and compile flags for building static and dynamic libraries with tools like Make, xcodebuild, or similar

+ Experience developing for real-time and/or resource-constrained environments (e.g., embedded systems)

+ Knows what it takes to efficiently implement math routines in low-level C/C++ such as signal / image processing algorithms or numerical solvers. You will be comfortable guiding colleagues to implement such routines while balancing speed, memory efficiency, and readability

+ Able to communicate clearly and collaborate with cross-functional teams

+ Excellent problem-solving and root cause analysis skills


This is a key position at a focal point for HW/SW/UI integration. You will learn and work across multiple layers of the stack, from firmware to distributed data processing, and design innovative infrastructure for scalable, testable, production-quality algorithms. You will help our team build algorithm pipelines to translate sensor data into user intent, design new interactions, and validate their effectiveness for a large population. The ideal engineer is comfortable working in a dynamic and creative team charged with crafting the way we will interact with next-generation Apple products. You are self-motivated, an excellent problem solver, and a fast learner. You are quick to forge relationships and comfortable with change and ambiguity. You have strong technical leadership skills and enjoy collaborating with others toward the creation of commercial-grade software. You will bring software expertise to a highly interdisciplinary team, working with engineers of many talents to tackle challenging problems.

**Education & Experience**

BS/MS in Computer Science, Computer Engineering, or related field; 3+ years of experience in a related role.

**Additional Requirements**

+ While not required, any of the following will make you more effective in this role:

+ - In addition to C/C++ and Python, expertise in Objective-C or Swift

+ - Experience building macOS, iOS, or watchOS frameworks and apps and customizing build settings in Xcode

+ - Experience with multithreading and concurrent programming

+ - User interface design or graphics programming

**Apple Footer**

Apple is an equal opportunity employer that is committed to inclusion and diversity. We take affirmative action to ensure equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics. Learn more about your EEO rights as an applicant (Opens in a new window) .

Apple will not discriminate or retaliate against applicants who inquire about, disclose, or discuss their compensation or that of other applicants. United States Department of Labor. Learn more (Opens in a new window) .

Apple will consider for employment all qualified applicants with criminal histories in a manner consistent with applicable law. If you’re applying for a position in San Francisco, review the San Francisco Fair Chance Ordinance guidelines (opens in a new window) applicable in your area.

Apple participates in the E-Verify program in certain locations as required by law. Learn more about the E-Verify program (Opens in a new window) .

Apple is committed to working with and providing reasonable accommodation to applicants with physical and mental disabilities. Apple is a drug-free workplace. Reasonable Accommodation and Drug Free Workplace policy Learn more (Opens in a new window) .

Algorithms Software Engineer

Full time
Cupertino, CA

Published on 03/04/2021

Share this job now