Skip to content

Software Developer Generalist

  • Montreal, Quebec, Canada
Information Technology & Software Release

Job description

We’re looking for a unique individual to join our highly talented Core Software team and contribute to the delivery of robust software and SDKs on a variety of platforms, from laptops to embedded SoCs. If you have a keen interest in 3D, computational imaging, machine learning and developing exemplary API interfaces, you’ll love working with our team.

Who are we and what do we do?

We have a passion for developing solutions at the intersection of 2D imaging and depth. AIRY3D has developed DepthIQ™, a 3D computer vision platform that consists of a Transmissive Diffraction Mask and computational imaging software that can give any CMOS image sensor the ability to provide depth information. Check out and our YouTube channel for more details.

What are we looking for?

As a Software Developer Generalist, your advanced design and coding skills will be required to develop and maintain both our core software and our DepthIQ SDK. A lead-by-example advocacy agile software engineering methodologies is expected. You will work closely with our Advanced Research and Optics teams to port and integrate computer vision and image processing algorithms. As the work we do is highly technical, we will only be considering candidates with strong C++ and Python skills in a scientific or computer vision environment.

What you will do:

  • Contribute to the architecture, development, maintenance, and optimization of our internal applications and SDK either in C++ or Python.
  • Develop and maintain unit tests based on the features you are responsible for.
  • Profile software to identify bottlenecks and implement creative solutions to improve performance.
  • Help develop high-level applications using depth and machine learning to demonstrate potential applications in smartphones, AR/VR, automotive, and industrial applications.
  • Help develop and optimize computational photography and computer vision core algorithms.

Job requirements

What you bring to our team

  • Bachelor or Master’s degree in Computer Science, Software Engineering, Mathematics or a related field.
  • At least 5 years’ experience with software engineering, design patterns, object-oriented software architecture, and agile development processes including design and code reviews.
  • Demonstrated proficiency in C++ and Python in both Windows and Linux eco-systems.
  • Clear understanding of multi-threaded architecture in heterogeneous environment.
  • Good experience with building tools usage like Cmake and versioning tools like git, GitLab.
  • Hands-on industry experience in one or more of the following: computer vision, image processing, computational imaging, 2D/3D computer graphics.
  • Good communication skills and ability to work in a collaborative environment with cross-functional teams.
  • Strong problem-solving skills and lifelong learner.
  • Proactive in anticipating needs and ability to work with minimal supervision.

Bonus points

  • Good experience with GPU programing and computer vision libraries: OpenCL, CUDA, OpenGL, OpenCV.
  • Experience with embedded platforms, GUI development, optimization, camera/sensor knowledge is a plus.
  • Startup experience.

What’s it like working in our team?

We believe in creating disruptive technology in a workplace with great work ethics. We truly enjoy what we are doing and the diversity of those we work with, all while having fun and not taking ourselves too seriously! We’re hybrid; work from home or in our vibrant Montreal (Mile End) location. Access to prototypes and lab equipment requires onsite presence at least once per week. We offer health insurance, stock options and a Team Incentive Plan.

AIRY3D is an equal opportunity employer. Should you require accommodation in any aspect of our selection process we would be happy to make arrangements.