Skip to main contentA logo with &quat;the muse&quat; in dark blue text.

Software Development Engineer

AT Apple
Apple

Software Development Engineer

Cupertino, CA

Imagine what you can do here. Apple is a place where extraordinary people gather to do their lives best work. Together we create products and experiences people once couldn't have imagined, and now, can't imagine living without. It's the diversity of those people and their ideas that inspires the innovation that runs through everything we do.

Description

APPLE INC has the following available in Cupertino, California and various unanticipated locations throughout the USA. Design and implement firmware for DRAM (Dynamic Random Access Memory ) initialization, training, and characterization. Enhance and maintain development and debug environments, tools and methodologies. Support functional test environment for device characterization, failure analysis, and mass production. Develop software to confirm that the silicon behaves as architected under the various supported modes. Develop targeted functional tests to screen failures identified during the product lifecycle. Design and implement embedded software and firmware for Apple's system on a chip (SoC) bring up validation and test. Generate post-silicon directed diagnostic and stress test cases and debugging failure cases using multiple hardware (HW) and low-level software (SW) platforms. Leverage and port design verification and silicon validation tests to enable improved test coverage of IP in silicon tests. Perform LPDDR (Low Power Double-Data Rate Memory) initialization, calibration and characterization. Develop device drivers for the purpose of testing Apple SoC's. Perform embedded development for Apple SoC's under significant constraints, e.g. kilobytes of RAM, minimal storage capability, and performance limitations. 40 hours/week. At Apple, base pay is one part of our total compensation package and is determined within a range. This provides the opportunity to progress as you grow and develop within a role. The base pay range for this role is between $172,931 - $214,500/yr and your base pay will depend on your skills, qualifications, experience, and location. PAY & BENEFITS: Apple employees also have the opportunity to become an Apple shareholder through participation in Apple's discretionary employee stock programs. Apple employees are eligible for discretionary restricted stock unit awards, and can purchase Apple stock at a discount if voluntarily participating in Apple's Employee Stock Purchase Plan. You'll also receive benefits including: Comprehensive medical and dental coverage, retirement benefits, a range of discounted products and free services, and for formal education related to advancing your career at Apple, reimbursement for certain educational expenses - including tuition. Additionally, this role might be eligible for discretionary bonuses or commission payments as well as relocation. Learn more about Apple Benefits: https://www.apple.com/careers/us/benefits.html. Note: Apple benefit, compensation and employee stock programs are subject to eligibility requirements and other terms of the applicable plan or program.

Want more jobs like this?

Get Software Engineering jobs in Cupertino, CA delivered to your inbox every week.

By signing up, you agree to our Terms of Service & Privacy Policy.


Minimum Qualifications

  • Master's degree or foreign equivalent in Computer Engineering, Electrical Engineering, or related field.
  • Education and/or experience must include each of the following skills:
  • Utilize C and Advanced Risc Machines (ARM) Assembly language (32 bit) for firmware development.
  • Use of Real-Time Operating System Kernel (RTOS) to develop software for safety-critical systems.
  • Expertise in developing code for interaction with devices such as buses, memory and device driver development.
  • Embedded Software Development with resource (such as limited memory) and performance constraints.
  • Set up and use debuggers such as GNU debugger to investigate complex problems.
  • Use of kernel level programming principles, including resource management, scheduling, dependability and safety along with their implications to multi-core platforms.
  • Utilize version control programs such as Git and Perforce.
  • Profiling of kernel commands for parameters such as memory bandwidth, utilization and other performance parameters.
  • Expertise in computer memory organization and memory management.
  • Usage of static and dynamic code analysis tools such as Valgrind to profile code to create portable and secure code which adheres to the required standard of coding.

Preferred Qualifications

  • N/A

Apple is an equal opportunity employer that is committed to inclusion and diversity. We seek to promote 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 .

Submit Resume

Client-provided location(s): Cupertino, CA, USA
Job ID: apple-200609446
Employment Type: Other

Company Videos

Hear directly from employees about what it is like to work at Apple.