About The Position

The Software Platform team within Hardware Test Engineering (HWTE) is seeking a Software Design Engineer to design and develop software for Apple’s new product introductions (NPI). This engineer will collaborate closely with other HWTE Software Platform team members and cross-functional teams to ensure the success of current and future Apple products. The HWTE Software Platform team owns various projects, including tools for enabling calibration and testing of NPI products, systems that restore software on each device shipped to customers, and algorithms for image processing for product calibration and testing.

Requirements

  • BS in Computer Science or equivalent experience
  • Strong command of C/C++ and an object-oriented language
  • Experience with white box testing
  • Experience with Xcode and macOS
  • Experience with Lua and Python development
  • Knowledge of image processing and algorithm design
  • Understanding of DSP

Nice To Haves

  • MS in Computer Science or equivalent experience
  • Experience with machine learning and LLMs
  • Experience with performance analysis, stress tests, and scalability assessments
  • Experience with telemetry, critical metrics, and data-driven decision-making
  • Experience crafting tests with complex systems and quickly evolving test environments

Responsibilities

  • Writing and designing software tools used by algorithm developers and factory station software engineers responsible for implementing test sequences for testing hardware in the factory.
  • Working closely with system design leads to understand the software needs for factory test stations and develop software solutions and plugins for instruments used on the station to enable hardware testing of Apple products.
  • Taking the existing implementation of the algorithm in C++ and writing unit tests using XCTest in Xcode.
  • Writing smoke and regression tests using knowledge of Lua and Python.
  • Collaborating closely with algorithm developers to identify parts of the code that require stress testing and apply various methodologies, such as performance testing, integration testing, and fuzz testing.
  • Leveraging machine learning and LLMs to automatically generate tests for complex parts of the software, ensuring robust coverage based on analysis.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service