Debugging matters. Developers spend more time in the debugger than they spend on writing new code. Apple’s debugger+compiler integration team is looking for an engineer to improve the debugging experience for Clang-based languages. This involves work on LLDB, Clang, libc++, and related tools. You will closely collaborate with the Swift and LLVM open source projects.
Description
Our team works at the intersection of compiler and debugger technology: we are responsible for the debugging experience, from generating debug information in our compilers (Clang, Swift, LLVM) all the way to the language plugins in the LLDB debugger. LLDB’s unique strength is its powerful expression evaluator that is backed by the actual compiler to JIT expressions typed by the developer into the debugged process and execute them.
In this role you will work on debugging support in Clang and LLDB. You will work closely with the LLVM open source project to design and implement end-to-end debugging support for the C++, C, and Objective-C languages.
","responsibilities":"This includes working on debug info generation in Clang and LLVM as well as working on the Clang type system, expression evaluator, and data formatters in the LLDB debugger. To build out debugger support for new C++ language features you will also closely collaborate with the libc++ community.
Preferred Qualifications
Strong C++ expertise
Experience with Compiler and/or Debugger development
Experience with development for/on Apple platforms and/or Linux
Experience with contributing to Open Source projects
Minimum Qualifications
Experience in developing software tools (for example: compilers, debuggers, language runtimes, profilers or binary translation tools)
Excellent software engineering, testing, and debugging skills