Embedded (Automotive) Software Development Lead
Montreal, QCSTART 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.
You will be a key part of a team that is building breakthrough end-to-end perception stacks for driver assistance systems and autonomous vehicles. We are looking for candidates that are motivated to solve key imaging and computer vision problems that will enable robust robotics and sensing in adverse scenarios in the wild. The technology developed at Algolux is deployed at scale in vehicles and camera solutions.
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 software development lead, you will lead a team of developers that contribute to embedded computer vision applications on a variety of software and hardware platforms. The ideal candidate is expected to champion best practices in a multidisciplinary team. As a Lead, you will take on a major role in guiding the development skills of other members of the team, using events like code review or training sessions as opportunities to lead others towards better practices and cleaner code.
- Lead embedded development and port of computer vision and image processing software that:
- Supports a variety of computing platforms and custom hardware accelerators, such as PCs, embedded devices, GPU, VPU, and FPGA
- Leverages the power of existing neural network inferencing frameworks like TensorRT, OpenVINO, TensorFlow, etc.
- Participate in defining the release and roadmap of products in cooperation with other engineering managers and the executive team.
- Collaborate in the planning, execution, and success of customer projects.
- Ensure adequate resourcing for key deliverables, quality deliverables (balancing time, cost and scope constraints), and minimizing technical debt.
- Lead development infrastructure initiatives
- Champion and enforce software best practices
- Train software developers in order to scale up the engineering team.
- Foster an environment of continuous learning and experimentation
- Bachelor or Master degree in Computer Science, Software Engineering (or in similar fields)
- 3 or more years in a software development tech lead role, with in-depth experience in building, motivating, and mentoring cross-functional collaborative product development teams.
- 5 or more years of experience in software engineering / product development of commercial software on embedded platforms, including experience defining release strategy, test strategy, planning and effort estimation, and in continuous integration and delivery.
- Excellent knowledge of GPGPU development and CUDA, ideally in connection to neural network inference systems and libraries, including TensorRT, CuDNN, and CuBLAS.
- Experience with Deep Learning and Computer Vision models.
- Strong C++ development skills and knowledge of CI/CD best practices.
- Experience with Deep Learning frameworks and software, such as TensorFlow, Caffe, OpenVino, and ONNX.
- Experience with Autonomous Driving or ADAS software and hardware environments.
- Experience with embedded automotive platforms, such as NVIDIA Drive AGX, Renesas V3H, FPGA etc.
- Experience with design and development software in compliance with industrial-grade quality standards such as Automotive SPICE.
- Experience with functional safety development processes needed to meet the requirements of the ISO 26262 standard.