Quarkslab is a French company specializing in R&D, consulting and software development in the field of IT security. Our expertise lies in combining offensive and defensive security to help organizations adopt a new security posture: forcing attackers, not defenders, to constantly adapt.
Through our consulting services and software, we provide tailor-made solutions to organizations, helping them to protect their assets, sensitive data and users against increasingly sophisticated attacks.
Job Description
The QShield team develops several protection solutions, for C/C++/Java code, cryptographic keys, and data at rest, but also to attest the legitimity of a device or an application.
These tools run on different kind of environments, including Linux, Windows, macOS, Android and iOS, and architectures, such as x86_64 and arm for instance, and some of them rely on third party components such as ASM library, a bytecode manipulation library for java.
The challenge you will face will be to help develop and maintain our C++ products, as we integrate new protections or features, and the targeted environments and architectures evolve. You will also participate in the implementation of customer specific requirements and customer support.
If you like Java, technical challenges, and are curious about security , you will love this job!
Key Responsibilities
Your main task will be to become the lead developer of our Java protection solution, in collaboration with the product manager and the team.
Manage the project backlog following agile principles (weighted issues, scoped iteration)
Ensure the quality of the delivered product in terms of functional adequation to product manager specification, security, performance and code size.
Communicate your developments to the rest of the team.
💼 The Role
We're looking for a Senior Java Developer with strong knowledge of Java internals: bytecode and class loading ; and knowledge in compilation, obfuscation, and runtime behavior. You'll join our QShield team, which builds protection tools for code (Java/C/C++), cryptographic keys, and sensitive data.
Some of our tools rely on bytecode transformation using libraries like ASM, while others interface with native C/C++ code or deal with Android internals.
⚠️ The role is 100% remote but restricted to candidates living in France (for legal and logistical reasons).
We also welcome C/C++ compiler engineers eager to specialize in Java security.
The position is open to permanent contract as well as freelance.
🚀 What You’ll Do
Work on our Java protection product (obfuscation, anti-tamper, etc.)
Write and maintain bytecode transformations with performance and stealth in mind
Write and maintain protection against dynamic instrumentation and tampering
Ensure compatibility with a range of Java runtimes and Android versions
Review code, mentor junior developers, and help maintain high-quality standards
🧠 What We’re Looking For
Required:
5+ years of experience in Java (or C/C++ with a focus on internals/compilation)
Solid understanding of:
Java bytecode
JVM internals and performance implications
Bytecode manipulation libraries (ASM, BCEL, etc.)
Good software engineering practices (design, tests, code reviews)
Fluent in spoken and written English
Able to work autonomously in a distributed (remote) environment
CI/CD and test automation
Nice-to-Have:
Background in application or software security
Experience in reverse engineering or anti-reverse techniques
Familiarity with Android internals / NDK
Build tools: Gradle, Maven
Familiarity with GitLab CI, Git, CMake
✨ Why Join Us?
Work remotely from anywhere in France with flexible hours
Collaborate with experts in security, reverse engineering, and compiler technologies
Contribute to tools that make life harder for attackers
Be part of a tight-knit R&D team where curiosity and initiative are valued