Required Skills and Experience:
This position requires the ability to understand diverse system technologies and requirements, translate requirements into test specifications, and develop, execute, and maintain an effective and efficient test infrastructure for a highly technical cryptographic security testing platform. At a minimum, the successful candidate will possess the following demonstrable skills:
- 5+ years of experience developing scripts that integrate applications, libraries, and hardware, preferably in a test environment. We use Python extensively, but other relevant experience will be considered.
- A demonstrated success record designing, implementing and managing structured test automation.
- An understanding of testing principles, methodologies, and tools, with experience in applying testing methodologies, creating test plans and executing and automating test suites.
- Experience developing in a wide range of object-oriented programming languages such as C++, C# and/or Java.
- Good comfort level in operating oscilloscopes and other hardware equipment.
- Scripting interface experience with hardware test equipment such as oscilloscopes, spectrum analyzers, signal generators, and switches.
- Passion and enthusiasm for product quality.
Preferred Skills and Experience:
Experience and training in any and all of the technologies listed below will be highly beneficial to the job.
Cryptography and Side Channel Analysis
- An understanding of the principles of cryptography and common cryptographic algorithms such as AES, DES, 3DES, RSA, ECC, etc.
- Experience with cryptographic side channel analysis, such as SPA, DPA, timing attacks, fault attacks, etc.
Software Development and Testing
- Experience in software development and testing with exposure to full product development lifecycle - from requirements through post-release.
- Proficiency with Visual Studio or other comprehensive development authoring, debugging, and testing IDE.
- Experience in using GUI testing tools such as WinRunner, QTP, Rational Robot, Silk Test etc.
- Good understanding of tools and techniques used to test .NET and HTML5 based applications.
- An understating of varied graphical user interface design and implementation frameworks such as .NET Forms and WPF, MFC, Matlab figures, Python Tkinter, etc.
- Experience with developing and/or testing high-performance graphical visualization (plotting) libraries and tools.
- Experience with Python native code library development and deployment.
- Experience with Matlab, Matlab scripting, and MEX file development
Computer and Networking Technology
- In-depth experience with Operating Systems including Windows and Linux variants
- Experience with networking concepts: TCP/IP, HTTP/HTTPS, SSH, IP/Ports, Firewalls, Routers/Gateways etc.
- Experience with SOAP, REST, RPC or other client-server API testing.
- Understanding of analog and digital signal processing, such as filtering, downconversion, sampling, spectral analysis, etc.
BS/MS degree in Computer Science, Electronics and Communications, Information Science/Technology, Electrical Engineering