Engineering

Verification Engineer

Montreal, QC

START YOUR APPLICATION

Algolux is an industry-leading software provider with technology at the intersection of AI, computer vision, and computational imaging. Our award-winning products address mission-critical applications for the Advanced Driver Assistance Systems (ADAS), Autonomous Vehicle (AV), Smart City, and video security markets.

As a Verification Engineer, you are a highly skilled individual with technical expertise that spans across multiple technologies. You will be a key part of a team that develops machine learning solutions for digital cameras in self-driving cars. We work with the leading companies in the automotive industry. Your work at Algolux has great chances to end up in the next generation of autonomous vehicles.

The ideal candidate is a hands-on Verification Engineer with strong experience in dealing with imaging-related hardware and software in Embedded Computer Vision (CV) applications. Automation of the QA process is the goal, but knowing when to perform manual tasks to accelerate the process is a must.

Key Responsibilities:

  • Plan, design, develop and execute detail-oriented automation test scripts and test cases based on product specifications and requirements for both integration and system-level tests.
  • Actively participate in test planning discussions with the research and development teams to assure automated QA  coverage is continuously improving both functional and non-functional requirements.
  • Collaborate with manual testers, and researchers to improve QA processes, participating in scheduled scrum meetings.
  • Analyze the root cause of automation test case bugs/failures and submit bugs in the issue tracking system along with the full description of expected results, referring to design specifications, and all the required artifacts needed by developers to reproduce the reported bugs/failures.
  • Collaborate with manual testers to improve exploratory/manual testing in areas where automation is not yet available.
  • Advocate code-level testing and establish good practices within the team.
  • Design performance/regression tests on software releases and for different target platforms/configurations.
  • Collaborate with DevOps to plan and execute performance/regression tests.
  • Produce reports of performance/regression testing on software candidate releases along with a continuous discussion with QA manager/team lead.

Requirements:

  • Minimum of 5 years experience in Quality Assurance
  • Minimum of 3 years experience in hardware testing
  • Minimum of 3 years of experience in QA for CV applications
  • Experience with Python  programming and their related  testing frameworks
  • Experience working with Docker
  • Highly experienced in developing test automation code for applications in all QA categories (Unit, Integration, System, Stress and Performance).
  • Hands-on experience with Linux shell scripting and package management tools.
  • Experience with one or more Continuous Integration tools such as Gitlab CI/CD, Jenkins, Travis or CircleCI.
  • Familiarity with Issue Tracking systems such as Jira
  • Familiarity with  Test Case Management tools such as Xray, qTest, PractiTest, etc.

Assets:

  • Experience with heterogeneous  target platforms with a good  understanding of CPU, GPU  Architectures such as ARM, AMD, Nvidia and Intel
  • Experience  in producing benchmarking reports,
  • Experience working with cameras
  • Experience with C++ programming