LMI Technologies, recognized as one of Canada's Best Workplaces, is a medium-sized technology company built on a culture of openness, respect and professional excellence. At LMI our staff work passionately toward the common goal of designing and delivering innovative 3D machine vision solutions to OEMs and System Integrators working in industrial factory automation around the world. The result of this teamwork is high-performance, easy-to-implement and cost-effective 3D sensor technologies that deliver the best results in even the most challenging 3D inline inspection applications.
What will you do as a Senior Software Developer?
LMI is seeking a Software Developer or computer science graduate with 7+ years of proven experience in computer vision who has the desire and skill set to design machine vision sensors. You will work in a multi-disciplinary, multi-platform, engineering team (software, electrical, mechanical / optical) that develops new sensor products and supporting infrastructure (manufacturing and test equipment). The ideal candidate will have a passion for leading-edge technology, extensive experience developing production-ready software, strong critical thinking and problem-solving skills, and can work well autonomously yet still communicate effectively with a close-knit group of about 10 engineers. Previous leadership or project management experience is an asset as there is an opportunity to lead a team in this role.
This Senior Software Developer will work in the R&D team and report to the Software Engineering Manager.
- Design and develop 3D acquisition algorithms for our sensors to produce 3D data from images
- Develop components of our calibration and acquisition pipeline
- Characterize and validate prototype sensor performance and integrate final designs with customers
- Investigate solutions for challenging acquisition problems. Investigate improvements to our algorithms to enhance the performance of our sensors
- Design and develop manufacturing software tools required to build the sensors and control key component performance (e.g. software tasks for focusing and aligning cameras / lasers / projectors, quantifying and adjusting sensor sensitivity, etc.)
- Lead technical investigations and produce reports and documentation to senior management
- Demonstrate leadership and ownership. Drive projects to completion, participate in frequent peer design and code reviews, and use your expertise to oversee and mentor others in the team
- Proactively contribute to and implement continuous improvement initiatives
What do you need to be successful?
Degree / Diploma in Computer Science, Electrical / Computer Engineering or equivalent5+ years work experience in a disciplined software development environment producing deliverable codeSolid knowledge of C / C++ and C# programming using Microsoft Visual StudioExpertise in 3D metrology or computer vision (object detection, image restoration, scene reconstruction, signal processing, etc., but excluding machine learning) is requiredExperience independently planning and completing complex projects / deliverables in a reliable time frameProficient with commonly used scripting languages like PythonExcellent understanding of object oriented programmingExcellent understanding of commonly used data structures and algorithms (lists, trees, sorting, binning, etc.)Excellent understanding of math and statisticsExcellent written and verbal communicationSolid understanding of memory management, threading / synchronization, networkingPrevious scrum master experience or experience overseeing a small team is an assetExperience developing for a manufacturing automation environment is an assetHow to submit your interest?