OPSWAT logo

OPSWAT

Rust Developer at OPSWAT

Budapest, HungaryFull-timeTechnology OfficePosted 9 days ago
Apply with Pipeline

About the Role

<div class="content-intro"><p><span class="acronym-highlight">OPSWAT</span>, a global leader in IT, <span class="acronym-highlight">OT</span>, and <span class="acronym-highlight">ICS</span> critical infrastructure cybersecurity, delivers an end-to-end platform that gives public and private sector organizations and enterprises the critical advantage needed to protect their complex networks, secure their devices, and ensure compliance. Over the last 20 years our commitment to innovative technology has earned the trust of more than 1,700 organizations, governments, and institutions globally, solidifying our role in protecting the world’s critical infrastructure and securing our way of life.</p></div><p><strong>The Position</strong></p> <p><span data-contrast="auto">We are excited to welcome an experienced Software Engineer (Rust) to our expanding Technology Office team in Budapest.</span><span data-ccp-props="{}">&nbsp;</span></p> <p><span data-contrast="auto">In this mid-level position, you will contribute to the development and enhancement of high-performance Rust software that supports our products across on-premise, cloud, and hybrid deployments. You'll work with the modern Rust ecosystem and supporting tools to build reliable, safe, and efficient code as part of impactful projects. A key focus of the role is helping the Data Science team build a unified SDK that makes their AI-based features easy to integrate into Aether.</span><span data-ccp-props="{}">&nbsp;</span></p> <p><span data-contrast="auto">Joining a collaborative global team (with members in Vietnam, Spain, Romania, UK, US, Georgia, and Hungary), you'll work closely with senior engineers — both locally and remotely — in a supportive, international environment that values growth and innovation.</span><span data-ccp-props="{}">&nbsp;</span></p> <p><strong>What You Will be Doing</strong></p> <ul> <li data-leveltext="•" data-font="" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="1" data-aria-level="1"><span data-contrast="auto">Work with the Engineering Manager and Hungary-based team to plan, design, implement, and maintain Rust components and applications</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="2" data-aria-level="1"><span data-contrast="auto">Work closely with the Hungarian Data Science team, helping them build a unified SDK that wraps their AI-based models so these features can be integrated easily into Aether</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="3" data-aria-level="1"><span data-contrast="auto">Review requirements, contribute to feature design, and implement clean, idiomatic, maintainable Rust code</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="4" data-aria-level="1"><span data-contrast="auto">Write and maintain unit and integration tests; participate in code reviews to ensure quality and best practices</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="5" data-aria-level="1"><span data-contrast="auto">Create and update technical documentation for your work, including rustdoc for public APIs</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="6" data-aria-level="1"><span data-contrast="auto">Help identify opportunities for code improvements and participate in team discussions on enhancements</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="7" data-aria-level="1"><span data-contrast="auto">Collaborate with global engineers to deliver secure, reliable, and performant software</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="8" data-aria-level="1"><span data-contrast="auto">Support junior engineers through code reviews and pair programming, and keep growing into advanced systems topics</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <p><strong>What We Need from You</strong><strong>&nbsp;</strong></p> <ul> <li data-leveltext="•" data-font="" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="9" data-aria-level="1"><span data-contrast="auto">Good foundation in Software Engineering principles</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="10" data-aria-level="1"><span data-contrast="auto">Good knowledge of Rust: ownership, borrowing and lifetimes, traits and generics, and idiomatic error handling with </span><span data-contrast="auto"><span data-ccp-charstyle="Code Char">Result</span></span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="11" data-aria-level="1"><span data-contrast="auto">Familiarity with Cargo and the Rust toolchain (rustup, clippy, rustfmt)</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="12" data-aria-level="1"><span data-contrast="auto">Good understanding of:</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="o" data-font="" data-listid="4" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769242&quot;:[9675],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="1" data-aria-level="2"><span data-contrast="auto">Concurrency in Rust: threads, </span><span data-contrast="auto"><span data-ccp-charstyle="Code Char">Send</span></span><span data-contrast="auto">/</span><span data-contrast="auto"><span data-ccp-charstyle="Code Char">Sync</span></span><span data-contrast="auto">, atomics, and synchronization primitives (</span><span data-contrast="auto"><span data-ccp-charstyle="Code Char">Mutex</span></span><span data-contrast="auto">, </span><span data-contrast="auto"><span data-ccp-charstyle="Code Char">RwLock</span></span><span data-contrast="auto">, channels)</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="o" data-font="" data-listid="4" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769242&quot;:[9675],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="2" data-aria-level="2"><span data-contrast="auto">Thread pools and producer-consumer patterns</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="o" data-font="" data-listid="4" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769242&quot;:[9675],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="3" data-aria-level="2"><span data-contrast="auto">Common approaches to avoiding lock contention and race conditions</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="13" data-aria-level="1"><span data-contrast="auto">Has experience with Docker/containerization</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="14" data-aria-level="1"><span data-contrast="auto">Good knowledge of Semantic Versioning (SemVer) and dependency management with Cargo (workspaces, crates, feature flags)</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="15" data-aria-level="1"><span data-contrast="auto">Experience or familiarity with CI/CD pipelines (TeamCity preferred)</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="16" data-aria-level="1"><span data-contrast="auto">Solid grasp of design patterns, trait-based composition, and writing clean, readable code</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="17" data-aria-level="1"><span data-contrast="auto">Proficiency in English</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <p><strong>It Would be Nice if You Had</strong></p> <ul> <li data-leveltext="•" data-font="" data-listid="5" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="18" data-aria-level="1"><span data-contrast="auto">Understanding of OS-level file and process behavior on Windows and/or Linux</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="5" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="19" data-aria-level="1"><span data-contrast="auto">Experience designing SDKs or library APIs, or packaging ML models for inference (e.g., ONNX Runtime)</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="5" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="20" data-aria-level="1"><span data-contrast="auto">Experience with async Rust (e.g., Tokio) or with </span><span data-contrast="auto"><span data-ccp-charstyle="Code Char">unsafe</span></span><span data-contrast="auto"> Rust and FFI boundaries</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="5" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="21" data-aria-level="1"><span data-contrast="auto">Hands-on experience with performance work (e.g., profiling with tools like flamegraph, benchmarking with criterion, memory allocation awareness)</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="5" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="22" data-aria-level="1"><span data-contrast="auto">Familiarity with AWS basics (S3, API Gateway, DocumentDB) or similar cloud services</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="5" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="23" data-aria-level="1"><span data-contrast="auto">Any background in cybersecurity (AV, EDR, sandboxing), compression, parsers, SIMD, or ML concepts</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <p><strong><span data-contrast="auto"><span data-ccp-parastyle="heading 2">Why </span><span data-ccp-parastyle="heading 2">You’ll</span><span data-ccp-parastyle="heading 2"> Love Working Here</span></span></strong><span data-ccp-props="{&quot;134245418&quot;:true,&quot;335559738&quot;:280,&quot;335559739&quot;:100}">&nbsp;</span></p> <ul> <li data-leveltext="•" data-font="" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="24" data-aria-level="1"><span data-contrast="auto">Stable, growing international company with a strong global customer base</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="25" data-aria-level="1"><span data-contrast="auto">Supportive, professional, and diverse team spanning multiple continents</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="26" data-aria-level="1"><span data-contrast="auto">Real challenges and meaningful ownership on cutting-edge projects</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="27" data-aria-level="1"><span data-contrast="auto">Modern Rust technology stack with opportunities to learn advanced systems programming</span><span data-ccp-props="{}">&nbsp;</span></li> </ul> <ul> <li data-leveltext="•" data-font="" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;•&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="28" data-aria-level="1"><span data-contrast="auto">Mentorship, career growth, and exposure to international collaboration</span><span data-ccp-props="{}">&nbsp;</span></li> </ul><div class="content-conclusion"><p>OPSWAT is an equal opportunity employer. We celebrate diversity and are committed to providing an environment where equal employment opportunities are extended to all employees and applicants, free of discrimination and harassment of any type. All employment decisions are based on individual qualifications, job requirements, and business needs without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other category protected by federal, state, or local laws.</p> <p>Recruiting Agencies: we do not accept unsolicited resumes from third party agencies for any of our open positions. To submit resumes for our jobs, there must be a recruiting contract approved by our legal team and endorsed by both parties. We are currently not accepting additional 3rd party agencies at this time.</p> <p>&nbsp;</p></div>