Senior C++ Developer
Starting Salary (annually): CAD $60.000
Montreal, Canada Remote · Full time
An industry-leading Canadian software provider with technology at the intersection of AI, computer vision, and computational imaging is looking for the top Latin American talent. Their 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 Senior C++ Developer, you will contribute to the integration of Deep Learning based Computer Vision technologies on a variety of software and hardware platforms. The ideal candidate is a Software Engineer with a proven ability to write production-quality code and who is comfortable collaborating with the R&D team.
Integrate or port computer vision and image processing algorithms to various platforms.
Participate in the design of Computer Vision software infrastructure that:
- Supports a variety of computing platforms and AI accelerators (such as PCs, embedded devices, CPUs, GPUs and VPUs)
- Leverages the power of existing Neural Network inferencing frameworks like TensorRT, OpenVINO, TensorFlow, etc.
Provide constructive feedback and guidance to junior team members.
Knowledge in at least one of these fields is desirable: ComputerVision, Image processing, Deep learning, etc.
Experienced and comfortable dealing with technical / project uncertainty.
Pragmatic approach with a make it work attitude.
Excellent C++ programming skills:
- Mastery of modern C++ standards (C++11 or more recent).
- Hands-on experience with object-oriented software design patterns, and their implementation in C++.
- Comfortable using language features like STL, smart pointers, move semantics, templates, etc.
- Experience with debugging and using tools such as gdb, lldb, valgrind, etc.
- Experienced with cross-platform build systems, like CMake.
3+ years of experience developing under a linux environment
- Experience working in a collaborative work environment:
- Familiarity with agile development practices such as Scrum.
- Comfortable using collaborative development tools such as GitLab and Jira.
- Ability to adhere to company coding standards.
- Willingness to participate in code review processes.
Bachelor or Master degree in Computer Science, Software Engineering (or in similar fields), and at least 5 years of industry work experience as a Software Developer.
Proven dedication for writing production-quality code that is robust, efficient, portable, maintainable, and bug-free.
Strong communication skills. English B2+.
Deep Learning frameworks such as TensorFlow, PyTorch or Caffe.
Automotive or Embedded Platforms, such as NVIDIA Drive/Jetson AGX.
Good knowledge of Deep Learning and Computer Vision algorithms.