APPLE INC has the following available in Cupertino, California and various unanticipated locations throughout the USA. Research, design, and develop computer and network software or specialized utility programs. Analyze user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis. Brainstorm and prototype new software features by building smaller incomplete mockups that illustrate and convey the idea, individually or in collaboration with other team members, pitch ideas to management. Create design specifications for software features that include written descriptions and visual diagrams to communicate clearly to others. Participate in the design process with other team members as well as with engineers on other teams including imagining new ideas to solve problems or providing guidance to less experienced engineers. Design software algorithms to implement designed features using industry approved design patterns that take into account code performance to execute on the limited resources of mobile devices. Implement entire features individually with minimal leadership or in collaboration with other team members using the Objective-C, C++, and Swift languages and Xcode development environment. Debug and fix bugs in software, including identifying errors in software code and providing correctives, finding optimizations in code performance through code introspection and performance measurement tools such as sampling, and diagnosing/resolving customer-reported issues. Design, develop and test software and processes to exercise code using Objective-C and Swift and XCTest. Collaborate cross-functionally with other team members around design, implementation and debugging of software feature, including programming and diagnosing problems together at a single computer in person or virtually with screen sharing technology.