They are hiding SNN very well in this job opening:
Privacy Policy
Job Openings
Computer Vision Engineer (C++)
Embedded Software · Montreal, Quebec
Algolux is a globally recognized computer vision company addressing the critical issue of safety for advanced driver assistance systems and autonomous vehicles. Our machine-learning tools and embedded AI software products enable existing and new camera designs to achieve industry-leading performance across all driving conditions. Founded on groundbreaking research at the intersection of deep learning, computer vision, and computational imaging, Algolux has been repeatedly recognized at industry and academic conferences and has been named to the 2021 CB Insights AI 100 List of the world’s most innovative artificial intelligence startups.
We believe in interdisciplinary research at Algolux and candidates will be working with a diverse team of imaging, computer vision, optimization, physics, and optics experts.
As a Deep Learning Engineer, you will contribute to Deep Learning based Computer Vision applications on a variety of software and hardware platforms. The ideal candidate is a Computer Scientist/Software Engineer with a proven ability to write production-quality code as well as experience in Computer Vision.
Key responsibilities:
- Implement computer vision algorithms in python
- Port computer vision, image processing, and deep learning algorithms to Modern C++/CUDA for x86/GPU and ARM64/GPU embedded platforms.
- Validate algorithms and models, following best practices
- Validation of deep learning models, in TensorFlow and PyTorch
- Validation of computer vision implementations in python and/or C++
- Visualization of implemented algorithms
- Perform model conversion from TensorFlow and PyTorch to ONNX and TensorRT.
- Validation of target hardware inference accuracy against ground-truth models.
- Participate in the design of the perception stack’s infrastructure:
- Support deployable, maintainable code for highly critical software systems (e.g. automotive safety).
- Develop in Linux environments and Docker containers.
- Participate in peer design collaboration and code reviews
- Participate in continuous improvement of group development practices and processes.
Requirements:
- Good C++ development skills:
- Strong exposure to modern C++ standards (C++14 or more recent).
- Familiarity with object-oriented software design patterns in C++.
- Comfortable using language features like STL, smart pointers, move semantics, etc.
- Understand memory structures and storage.
- Experience with debugging and using tools such as GDB/LLLDB, Valgrind, etc.
- Familiarity with CMake.
- Strong computer vision skills:
- Good familiarity with frameworks like TensorFlow and PyTorch and deep learning topologies
- Good familiarity with computer vision concepts such as object detection, multi-object tracking, segmentation, etc.
- Good familiarity with single-view, multi-view geometry, camera calibration, camera intrinsic and extrinsic parameters, etc.
- Good familiarity with deep learning models validation and testing approaches
- Excel at working in a highly collaborative environment:
- Familiarity with AGILE development practices.
- Comfortable using collaborative development tools such as Git and Jira.
- Ability to adhere to company coding standards.
- Bachelor's or Master's degree in a STEM-related field, and at least 2-3 years of industry work experience as a Software Developer with computer vision specialization.
- Proven dedication to writing production-quality code that is robust, efficient, portable, maintainable, and bug-free.
Nice to have:
- Understanding of parallel computing and optimization:
- Understanding of GPU architectures and how to optimize code for different GPU-based platforms
- Understanding of multi-threaded programming and thread safety
- Automotive or Embedded Platforms, such as NVIDIA Drive or NVIDIA Jetson
- Experience with other relevant NVIDIA libraries and frameworks, such as CUBLAS, CuDNN, NPP