C++ Debugger/Compiler engineer
Role details
Job location
Tech stack
Job 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., * 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.
Requirements
- Experience in developing software tools (for example: compilers, debuggers, language runtimes, profilers or binary translation tools)
- Excellent software engineering, testing, and debugging skills
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