Software Engineer, Product Test and Quality Assurance Arxan Technologies
Arxan's software-security products protect applications from reverse-engineering and tampering on many mobile and desktop platforms. Be part of the team creating these sophisticated security features, from requirements through to final product approval for ship. Apply your programming and systems-level software-engineering skills in Arxan?s integrated product teams, creating effective tests of new features as well as providing critical input on feature designs and quality practices. Design extensions and improvements to our automated test library and underlying automation facilities.
Duties and Responsibilities:
Develop architectural understanding of the product features to be tested, assess risks from that understanding, and design tests targeted at those risks. Define strategic technical test plans for team review and comment. Implement automated tests according to team-agreed plan.
Work as part of the product-development team using Scrum Agile practices. Provide substantive technical comments on product requirements and designs, participate in design reviews, and help drive quality considerations early in the release cycle. Help ensure effective use of lean quality processes by the entire product team, and help define or streamline processes as indicated by team experiences.
Explore test-automation frameworks, debuggers, and similar tools; incorporate into tests in order to drive test effectiveness. Use binary-analysis tools and disassemblers to understand compiled programs and their interactions with Arxan products. Help extend Arxan?s internal automated test harness.
Configure and troubleshoot test systems involving a variety of current operating systems, such as iOS, Android, Mac OS, Linux, and Windows?installing software, adjusting configuration, using system utilities, and integrating with build environments, system libraries, NDKs, and SDKs.
Required Skills and Experience:
Competent and demonstrable programming skills in C/C++, Objective C, Java, and/or C#. Ability to use debuggers and disassemblers. Additional knowledge of scripting languages is a plus.
Familiarity with compilers and build environments, such as clang, gcc, Visual Studio, Xcode, make, cmake.
Some knowledge of dynamic and statically linked libraries, loaders and other system functions. Some knowledge of ARM and/or x86 assembler. Familiarity with executable file types a plus (Mach-O, PE, ELF, etc.).
Familiarity with a variety of current operating systems, such as iOS, Android, Linux, Mac OS, and Windows?installing software, configuring, and using system utilities.
Demonstrated ability to understand both usage and internal design of complex software products. Ability to target tests at real risks identified from usage and internals, and find important defects.
Demonstrated effective, efficient communication skills, both verbal and written, for team discussions and collaboration, lean but definitive test plans, defect reports, emails, etc.
Strong analytical and problem-solving skills.
Ability to work effectively in a collaborative team environment.
Self-motivated, ability to prioritize, and attention to detail.
Knowledge of computer security, encryption, etc. helpful.
Education requirements:
Bachelor of Science in Computer Science or work experience equivalent. Masters preferred.
Evidence of academic excellence.
| Location: |
6903 Rockledge Drive
Suite 910
Bethesda, MD 20817
United States
|