Posted: Nov 21, 2020
Weekly Hours: 40
Role Number: 200208819
We're looking for an engineer to participate in the development and maintenance of Apple's C++ standard library ("Libc++") as well as complementary changes to the Apple LLVM compiler ("Clang"). Libc++ was designed from the ground up to work cleanly with C++11 and later. Clang is the industry-leading C++ compiler, designed for fast compile times and great diagnostics. Clang and Libc++ are core parts of Apple's developer tools, used internally to build Apple's software stack and externally by millions of developers.
- Knowledge of C and C++ with the ability to write clean, high performing code.
- Experience developing and/or maintaining large C++ frameworks.
- Familiarity with recent C++ language and library evolution.
- Clear communication.
In this position, you will participate in the evolution and maintenance of Libc++. You will drive the implementation of major new C++ features, evaluate and optimize existing components of the library, and work with teams across Apple to take advantage of these improvements. You will ensure that changes to Libc++ work well on Apple platforms, including in Objective-C++ language modes. You will need an understanding and appreciation for what it takes to maintain a high quality C++ library with a stable ABI. This position will also give an opportunity to make changes to LLVM and Clang as necessary to complement library evolution. You will also be an active contributor to the llvm.org (http://llvm.org/) open source project and interact extensively with the open source community and C++ standards committee. You will join a team based in Cupertino, California. You also will work closely with the larger developer tools organization colocated with us. Our team has a wide range of experience. New team members quickly get to own a part of the project and develop independence in their work. We will consider non-US applicants and are open to exploring visa options, provide relocation assistance, and offer excellent benefits.
Education & Experience
Bachelor of Science in Computer Science, or equivalent experience.