
Role: Software Engineer
Location : Cupertino, CA
Duration: Contract
Job description
Must Have Technical/Functional Skills
Develop and maintain data acquisition software for new Life Test SOPs and
specialized early prototype test boards, including work in LabVIEW and Python.
Convert legacy LabVIEW-based tools and scripts to Python (primary focus for
Shanghai engineer)
Support early prototype Display Life Test software needs (primary focus for SCV
engineer).
Adapt and modify existing display measurement station software for reliability testing
use cases.
Interface with DAQ hardware to automate collection of electrical, optical, and
environmental data from display life test fixtures.
Validate, debug, and troubleshoot software in-person and on-device in lab
environments alongside reliability hardware.
Write and maintain technical documentation for software tools, measurement station
configurations, and test procedures.
Collaborate closely with cross-functional hardware and test engineering teams to
align software solutions with evolving requirements.
Roles & Responsibilities
This work involves developing and maintaining data
acquisition software for Life Test Standard Operating Procedures (SOPs) and
specialized early prototype test boards.
Engineers will work across LabVIEW and
Python, with a strategic focus on converting legacy LabVIEW-based tools to Python.
support is needed for adapting and modifying existing display
measurement station software for reliability testing use cases, including early prototype
Life Test software support.
Engineers will interface with DAQ hardware to automate collection of electrical, optical,
and environmental data from display life test fixtures.
This work requires close collaboration with cross-functional hardware and test engineering teams to align
software solutions with evolving requirements.
This role requiring regular collaboration with hardware teams and lab
equipment.
Generic Managerial Skills, If any
Experience with NI TestStand
Knowledge of Python / C / C++ for integration or automation
Experience with hardware validation, NPI, or manufacturing test systems
Familiarity with version control systems (Git, SVN)
Experience working with automated test equipment (ATE)
Exposure to CI/CD pipelines for test automation (nice to have)
Key Words to search in Resume
Technology Stack Requirements
Python
LabVIEW
Data acquisition (DAQ) frameworks and hardware interfacing
Serial communication protocols
Display measurement systems
Unix command line tools, git, and other basic developer tools
Radar (Apple Internal bug and project tracking tool)
Signals Success Criteria/Definition of Done
Successful development and delivery of data acquisition software for each assigned
Life Test SOP and prototype test board.
Successful conversion of LabVIEW tools to Python, with equivalent or improved functionality.
Fully tested and validated software in lab/hardware environments.
Follows Reliability Software team development guidelines.
Comprehensive documentation is created and available for each project (Confluence
and/or project README), containing system architecture block diagrams, description
of the project, and more. The Apple team should be able to rely on the documentation to build, distribute, maintain, and work with each project.
Sign-off from Apple team and key stakeholders