Waterloo City, Ontario, CA

Position Summary:

We’re looking for people who are passionate about how to test security protocols to join our Development team — a group of dedicated individuals who implement cryptographic algorithms and integrate them into Internet protocols. Members are responsible for implementation and testing, with a heavy emphasis on security, efficiency, and resiliency. Our implementations are for a variety of desktop, mobile and embedded platforms.


  • Design and build automated test frameworks for our toolkit and other products
  • Benchmark and optimize our products for efficiency and speed
  • Create tools to test our code for correctness, security and performance
  • Analyze requirements to determine test plans
  • Integrate static and dynamic analysis methods into our development and build environments

Skills and Qualifications:

  • a degree in Computer Engineering, Computer Science, or Software Engineering
  • experience in software development or quality assurance development or tools development
  • solid proficiency in automated testing, including unit testing, in-browser functional testing, performance testing, and everything in-between
  • experience with incident tracking software (for example, JIRA, etc.)
  • experience with C or C++ programming
  • experience with any *NIX operating system (Mac OS X, BSD, Linux, QNX or any Unix variant)
  • experience with protocols such as TLS, SMIME, IKE/IPSec, and PKI
  • ability to dissect a problem and form solutions that meet real-time constraints
  • an independent work ethic to bring tasks to completion

Additional Assets:

  • experience with cryptography is a plus
  • experience with static and dynamic analysis tools (for example, Coverity, Klocwork, Valgrind etc.)