Swift Debugger/Compiler Engineer (Linux)
London, England, United Kingdom
Software and Services
Debugging matters — developers spend more time in the debugger than they spend writing new code. Apple’s debugger/compiler integration team is looking for individuals who are passionate about improving the Swift debugging experience in general and particularly on Linux. This involves work on LLDB, the Swift compiler, and related tools. You will closely collaborate with the Swift and LLVM open-source projects. 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) 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. This flexibility allows LLDB to be used even in contexts outside of traditional debugging: for example, it is also the technology powering the Swift REPL.
Description
In this role, you will take a holistic look at Swift debugging workflows, implement support for new language features, and improve platform support, specifically with an eye on the open-source Swift Linux toolchain. In addition to closing gaps in the feature matrix, you will also work on making it easier to distribute the Swift language plugin on Linux so it can be installed and used from the system LLDB. To achieve this, you will be making changes to both compiler and debugger. You will get to work on the Swift frontend, on LLVM and LLDB, and will work closely with the respective open-source communities.
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
Preferred Qualifications
* C++ expertise
* Experience with Compiler and/or Debugger development
* Experience with development for/on Linux
* Experience with contributing to Open Source projects
#J-18808-Ljbffr