Santa Clara Valley (Cupertino), California, United States
Software and Services
Apple is looking for a hardworking, dedicated, and results-oriented software engineer with a background developing optimization solvers. The successful candidate will drive the development and improvement of existing solvers as well as the design and implementation of state-of-the-art real-time optimization algorithms for autonomous systems. Join Apple and help us leave the world better than we found it!
- Experience developing numerical optimization solvers and mathematical programming/optimization algorithms.
- Excellent software developer. Highly skilled in C/C++. Experience in MATLAB and Julia preferred.
- Experience formulating linear, convex, and nonlinear optimization problems.
- Ability to work with a large interdisciplinary team on modeling complex engineering problems within an optimization framework.
- Experience implementing sparse/dense numerical linear algebra (e.g. LU and Cholesky factorizations).
- Track record of producing high-performance numerical software.
- Strong debugging and performance profiling skills.
- Strong communication skills.
- Demonstrated creative, critical and independent thinking capabilities and troubleshooting skills.
The successful candidate will design and develop runtime performance-critical code. You will deep drive into existing software to debug critical issues; find performance hotspots; and improve performance of the code. You will develop robust, execution-time critical software with an emphasis on planning for autonomous systems. ADDITIONAL REQUIREMENTS - Participate in an Agile development environment - Good verbal and written skills and ability to work effectively cross team - Experience with model-predictive control algorithms is an advantage - Experience in embedded software development is plus - Experience with full software development lifecycle
Education & Experience
B.Sc. M.Sc. or Ph.D. in Computational Mathematics, Controls, Computer Science, Operations Research