Lead LLVM Compiler Engineer


View job offers

About Quarkslab

Quarkslab is a French company specializing in information security R&D, consulting and software development. Our expertise is in combining offensive and defensive security to help organizations adopt a new security posture: Force the attackers, not the defender, to adapt constantly. Through our consulting services as well as our software we provide tailored solutions to organizations, helping them to protect their assets, sensitive data, and users against increasingly sophisticated attacks.

Quarkslab is an avid and active user of, and contributor to, Open Source Software and develops and maintains state-of-the-art security tools such as LIEF , QBDITritonIrma, and several other projects.

We develop two commercial software products: QFlow, a platform to automate and orchestrate security analysis of files at scale, and QShield, advanced code and data protection software to disrupt code lifting, reverse engineering and tampering attacks.

Job description

The QShield team is looking for a Lead LLVM Compiler Engineer, primarily to drive the development of their C/C++ and Java application protection solutions, but also the integration with other tools.

These tools target and run on different environments (as Linux, Windows, macOS, Android and iOS) and architectures, such as x86_64 and arm. The QShield obfuscator is built on top of LLVM.

You will lead the design, implementation and tests of the new protections and product features, you will maintain the tools as the targeted environments, the architecture and also LLVM itself, which is the first adversary of QShield protections. You will have to achieve acceptable performance, and of course be up to date on the evolution of reverse engineering tools!

If you like compilation, technical challenges, if you are curious about security, and you are enthusiast about leading and working with other high skilled people, you will love this job!

Key Responsibilities

Compiler Development:

  • Lead and participate to the development and maintenance of QShield C/C++ and Java code obfuscators in collaboration with the team
  • Ensure the quality of the delivered product in terms of security, performance and code size
  • Manage the “harder-to-solve” customer issues

Project Organization:

  • Closely cooperate with the Engineering and Product Managers to evaluate and schedule the developments according to the roadmap, the customer needs and requests, and the maintenance needs.
  • Closely cooperate with the CI & Release Manager for maintaining the CI
  • Ensure the technical coherence of the project and/or product and assigns responsibilities to other team members
  • Ensure that the features will be developed in time, and if not raise an alert to find a solution
  • Ensure the distribution of the work among the different available resources (in a collaborative way)
  • Ensure that customer support requests are handled in a timely manner

What is QShield?

At Quarkslab we develop QShield, a software for application protection. Our solutions include a tool to protect Java/Kotlin programs and a C/C++ code-obfuscator based on LLVM, a white-box cryptography library, a RASP framework, a digital vault and remote attestation solutions. All these components help to increase the security of applications and firmware/middleware to protect IP, APIs, secrets and every sensitive information used or provided by software.

Why work at Quarkslab?

Work with an amazing team, eager to learn and play with new approaches and technologies, mixing various skills (security, compilation, program analysis, reverse engineering, software engineering). International environment with offices in Paris and Buenos Aires (team croissants vs. team asado), representations in Tokyo and Singapore.

  • Attend conferences in your field, learn from many internal events (weekly conference, trainings, research activities).
  • Contribute and support Open Source Software: Our own tools and other people’s projects.
  • Flexible work hours, work from home.
  • Premium health insurance.

Our recruitment process:

  1. Call with our talent acquisition manager.
  2. Video call with the Hiring Manager.
  3. Do a short programming challenge
  4. Interview with C-Level, QAS business unit and HR Manager at Quarkslab’s Office (or remote due to Covid).
  5. HR debrief and job offer.

QuarksLab is proud to be an equal opportunity workplace employer. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability or gender identity. If you have a disability or special need that requires accommodation, please let us know and we will be happy to accommodate.


Who you are

Hard skills:

  • Very good level in C++ 11 or higher
  • 5 years+ experience with developing in LLVM, in particular the optimizer
  • Knowledgeable in git & CMake
  • Knowledgeable in Python
  • Spoken English

Soft skills:

  • Team leadership, communication, mentoring
  • Understanding of requirements and roadmap

Nice to have:

  • Knowledgeable in code obfuscation, reverse engineering
  • Experience with the Gitlab platform (ticketing, boards, iterations, CI)
  • Experience with Docker
Made byTaleez