Software Development Engineer

Year    KA, IN, India

Job Description

The people here at Apple don't just build products- they craft the kind of wonder that has revolutionized entire industries. It's the diversity of those people and their ideas that encourages the innovation that runs through everything we do, from amazing technology to industry-leading environmental efforts. Imagine what you could do here. Join Apple, and help us leave the world better than we found it. A job at Apple is unlike any other you've had. You will be challenged. You will be inspired. And you'll be proud! At Apple, phenomenal ideas have a way of becoming phenomenal products, services, and customer experiences very quickly. Bring passion and dedication to your job, and there's no telling what you could accomplish! 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.




Description





As part of the Software Platform team, you will be responsible for 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. You will work 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. Additionally, you will be involved in taking the existing implementation of the algorithm in C++ and writing unit tests using XCTest in Xcode. You will also write smoke and regression tests using your knowledge of Lua and Python. You will collaborate 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. Furthermore, you will leverage machine learning and LLMs to automatically generate tests for complex parts of the software, ensuring robust coverage based on analysis.




Responsibilities



Designing new software systems and maintaining existing software systems. Triaging and diagnosing issues with a cross-functional team from diverse engineering backgrounds. Working with internal teams at Apple and external vendors to develop better solutions and processes. Collaborating with algorithm developers to support the implementation of new tests. Setting up automated testing for continuous integration using the existing internal infrastructure. Hosting and migrating algorithm pipelines on the continuous integration platform. Debugging build failures in CI/CT. Adding new features to the test framework to handle new use cases. Maintaining the Jenkins server and nodes.





Minimum Qualifications



BS/MS in Computer Science or equivalent experience 5+ years of professional software development 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 Up to 10% international travel


Preferred Qualifications



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 Experience with DevOps (CI, CD, automation strategies, etc.) Experience with Jenkins





Submit CV

Beware of fraud agents! do not pay money to get a job

MNCJobsIndia.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Job Detail

  • Job Id
    JD4576365
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    KA, IN, India
  • Education
    Not mentioned
  • Experience
    Year