
Senior Software Engineer at OneSpan
BarcelonaFull-timeR&DPosted 27 days ago
Apply with PipelineAbout the Role
<div class="content-intro"><p>At <a href="https://www.onespan.com/about/careers" target="_blank">OneSpan</a>, we specialize in digital identity and anti-fraud solutions that create exceptional and secure experiences.</p></div><p><strong>OneSpan is currently looking for a Sr. Software Engineer (Python) to join our team in Barcelona.</strong></p>
<p>We are building an advanced Android application protection tool focused on APK/AAB transformation, code obfuscation, and native code integration. </p>
<p><span data-contrast="none">Our tooling analyzes and transforms Android applications at different levels, including bytecode and build artifacts, to implement protection and security mechanisms used in production mobile environments. </span></p>
<p><span data-contrast="none">We are looking for a senior engineer who can help us evolve the architecture, maintainability, and scalability of the platform while mentoring a growing engineering team. </span></p>
<p><strong>Job Duties and Responsibilities</strong></p>
<ul>
<li>Design, develop, and evolve our Android protection tooling written primarily in Python. </li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="2" data-aria-level="1"><span data-contrast="auto">Improve the architecture, modularity, reliability, and maintainability of the system. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="3" data-aria-level="1"><span data-contrast="auto">Work on complex transformation pipelines involving APK/AAB processing and code manipulation. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="4" data-aria-level="1"><span data-contrast="auto">Contribute to performance optimization and scalability of the tooling. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="5" data-aria-level="1"><span data-contrast="auto">Write clean, testable, and production-quality code. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="6" data-aria-level="1"><span data-contrast="auto">Improve testing strategies, CI/CD pipelines, release automation, and developer workflows. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="7" data-aria-level="1"><span data-contrast="auto">Mentor junior engineers and help grow engineering best practices across the team. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="8" data-aria-level="1"><span data-contrast="auto">Collaborate closely with Android and security engineers to design and implement new protection techniques. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="9" data-aria-level="1"><span data-contrast="auto">Participate in technical discussions, code reviews, and architectural decision-making. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="10" data-aria-level="1"><span data-contrast="auto">Design and develop our app protection tool using Python to support our platform and products. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="11" data-aria-level="1"><span data-contrast="auto">Work on challenging architectural and performance problems, contributing to the evolution of our systems. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="12" data-aria-level="1"><span data-contrast="auto">Write clean, maintainable, and testable code, ensuring high reliability and performance. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="13" data-aria-level="1"><span data-contrast="auto">Collaborate closely with mobile developers, backend engineers, product managers, and designers to deliver well-architected solutions. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="14" data-aria-level="1"><span data-contrast="auto">Improve the scalability, observability, and maintainability of our systems as the business grows. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="15" data-aria-level="1"><span data-contrast="auto">Contribute to technical decision-making, code reviews, and architectural discussions. </span></li>
</ul>
<p><strong>Requirements</strong></p>
<ul>
<li>5+ years of professional software engineering experience using Python. </li>
<li data-leveltext="·" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="2" data-aria-level="1"><span data-contrast="none">Strong software architecture and system design skills. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="3" data-aria-level="1"><span data-contrast="none">Experience building complex applications, developer tooling, CLI applications, or transformation pipelines. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="4" data-aria-level="1"><span data-contrast="none">Strong understanding of software quality practices, testing, and maintainability. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="5" data-aria-level="1"><span data-contrast="none">Experience mentoring engineers or leading technical initiatives. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="6" data-aria-level="1"><span data-contrast="none">Ability to work autonomously on technically challenging systems. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="7" data-aria-level="1"><span data-contrast="none">Strong analytical and problem-solving skills. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"hybridMultilevel"}" data-aria-posinset="8" data-aria-level="1"><span data-contrast="none">Good communication skills in English. </span></li>
</ul>
<p><strong>Nice to have:</strong></p>
<ul>
<li>Interest or experience in security tooling, reverse engineering, or low-level systems. </li>
<li data-leveltext="·" data-font="Symbol" data-listid="6" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"multilevel"}" data-aria-posinset="2" data-aria-level="1"><span data-contrast="none">Familiarity with Android internals, APK/AAB structure, or mobile application tooling. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="6" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"multilevel"}" data-aria-posinset="3" data-aria-level="1"><span data-contrast="none">Experience with bytecode manipulation, static analysis, or code transformation concepts. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="6" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"multilevel"}" data-aria-posinset="4" data-aria-level="1"><span data-contrast="none">Familiarity with Dalvik bytecode / smali. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="6" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"multilevel"}" data-aria-posinset="5" data-aria-level="1"><span data-contrast="none">Experience with Java or Kotlin. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="6" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"multilevel"}" data-aria-posinset="6" data-aria-level="1"><span data-contrast="none">Experience with reverse engineering or instrumentation tools such as JADX, apktool, Frida, Ghidra, or similar. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="6" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"multilevel"}" data-aria-posinset="7" data-aria-level="1"><span data-contrast="none">Experience working in Unix/Linux environments. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="6" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"multilevel"}" data-aria-posinset="8" data-aria-level="1"><span data-contrast="none">Experience with CI/CD pipelines and automated release systems. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="6" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"multilevel"}" data-aria-posinset="9" data-aria-level="1"><span data-contrast="none">Familiarity with Docker or containerized environments. </span></li>
<li data-leveltext="·" data-font="Symbol" data-listid="6" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"·","469777815":"multilevel"}" data-aria-posinset="10" data-aria-level="1"><span data-contrast="none">Knowledge of cryptography or application protection techniques. </span></li>
</ul>
<p>#LI-hybrid</p>
<p>#LI-LS1</p>
Related Roles
Senior Site Reliability Engineer (SRE)
OneSpan
Noida, Uttar Pradesh, IndiaSenior Software Developer, Frontend (for Demos)
OneSpan
Noida, Uttar Pradesh, IndiaQA Lead – Functional QA & Release Quality Management
OneSpan
India - RemoteRemoteCloud DevOps Engineer
OneSpan
Noida, Uttar Pradesh, IndiaTechnical Lead, Product Development
OneSpan
Noida, Uttar Pradesh, IndiaSoftware QA Test Engineer - Automation SDET
OneSpan
Noida, Uttar Pradesh, India