Senior Software Engineer, Rust

Technology Office Los Angeles, California San Mateo, California


We’re looking for a talented senior software engineer to join our team. You’re a self-starter who thrives in a fast-paced, agile environment. You naturally take initiative, understand what it means to “fail fast”, and can course-correct quickly. You genuinely enjoy a collaborative team environment, and you’re driven to build quality products customers love to use and to write code developers love to build upon.

Primary Responsibilities

        Contribute to the architecture, design and development of new security products, features and proof of concept prototypes

        Investigate, perform root cause analysis, and solve complex issues identified in the field

        Perform all of the tasks required of a software developer within an Agile SDLC

        Ensure code quality through comprehensive and effective unit and integration testing

        Collaborate with a cross-functional team of developers, product managers and QA engineers, pre-sales engineers and field support engineers

Qualifications

        3+ years of professional experience in Rust and/or C/C++ (minimum of one year in Rust)

        Proficiency with Rust paradigms, constructs, and idioms

        Experience building performant, thread-safe and memory-safe executables and shared libraries in C/C++ and/or Rust

        Proficient at profiling, optimizing, and debugging Rust code

        Knowledge of Rust and C/C++ build systems and toolchains; experience handling library compatibility issues

        Experience with OSS development

        Familiarity with web application development, understanding of the http protocol

        A belief in the importance of unit testing, design patterns and an understanding of common development best practices

        Ability to communicate and transfer knowledge clearly and effectively to both technical and non-technical audiences

        Ability to prioritize and multitask in a fast-paced environment

        A passion for getting to the bottom of issues and eliminating unknowns

        BSc or MSc in computer science or a related degree

Bonus points

        Understanding of how software security exploits work and experience building software that mitigates them

        Experience with formal grammars and/or parser generators (yacc, bison, antlr, etc.)

        Experience building interop layers (native language bindings) between other programming languages and C/C++/Rust

        Experience with containerized environments (e.g. Docker, Kubernetes)

        Experience with performance testing, penetration testing tools and techniques

 

About Imperva

Imperva is an analyst-recognized, cybersecurity leader—championing the fight to secure data and applications wherever they reside. Once deployed, our solutions proactively identify, evaluate, and eliminate current and emerging threats, so you never have to choose between innovating for your customers and protecting what matters most. Imperva—Protect the pulse of your business. Learn more: www.imperva.com, our blog, on Twitter.

Legal Notice

Imperva is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, ancestry, pregnancy, age, sexual orientation, gender identity, marital status, protected veteran status, medical condition or disability, or any other characteristic protected by law.  

#LI-NP1