Responsible for analyzing, designing, debugging and/or modifying software; or evaluating, developing, modifying and coding software programs to support programming needs. Maintain and enhance existing code with focus on implementation. Collaborate with and assist team of engineers in writing functional, design and user interface specifications. Follow software lifecycle process when developing software. Help identify solutions to problems encountered in software cycle. Work on well-defined Software design /implementation specific tasks. Take general direction and formulate specific tasks to accomplish the desired end result. Responsible for development and implementation of software components. Create production quality code with high efficiency (Efficient Time, Space complexity). Be part of a scrum team in an Agile development environment. Anticipate and identify problems, then provide alternative solutions to successful end result. Work closely with SDETs to help develop quality products, testable code/design, adapter hooks for automated tests and create additional test tools as required. Utilizes graduate-level research and analysis skills. Employer will accept Master’s degree in Computer Science, Engineering or related technical field. Position requires school coursework, project or internship oin the following: 1. Data structure and algorithm fundamentals; 2. C++, Objective C; 3. Troubleshooting skill to root cause complex issues; 4. Mac OS Architecture Fundamentals. 5. Mac OS APIs. 6. Software security fundamentals. 7. IPC mechanism. 8. Code profiling for identifying and fixing performance issues. 9. Fixing Static analysis issues in the code to fix security vulnerabilities. Any suitable combination of education, training, or experience is acceptable.