
Software Engineer, Crop Computer Vision and Machine Learning
National Research Council Canada7 days ago
Saskatoon, CanadaMid Level
Responsibilities
- Design, develop, document, and implement production-quality computer vision software for automated crop image analysis.
- Develop and train deep learning models for computer vision, including convolutional neural networks, vision transformers, and foundation models.
- Apply computational geometry, 3D representations, image analysis, and performance-critical C++ development.
- Support data management, reproducible machine learning experiments, and data-processing workflows.
- Use parallel processing and multi-threaded application design where appropriate.
- Mentor junior developers, engineers, research colleagues, technical staff, and students in computer vision, machine learning, and software development practices.
- Collaborate with colleagues across the NRC and national and international partners on crop phenomics and climate-resilience research.
Requirements
- M.Sc. in Computer Science, Electrical Engineering, or a related field, or a B.Sc. with at least two years of relevant experience in computer vision or machine learning algorithm development.
- At least three years of significant, directly relevant computer vision experience across multiple projects.
- Proven ability to develop computer vision algorithms, documentation, and production-quality software for image analysis.
- Strong proficiency in Python and experience with C++ for performance-critical computer vision applications.
- Experience with computational geometry, 3D representations, and related data structures.
- Experience developing and training deep learning models for computer vision.
- Experience mentoring junior developers, engineers, or students in machine learning, computer vision, and software development best practices.
- Knowledge of classical computer vision methods, 3D reconstruction, deep learning, dataset preparation, model evaluation, and performance metrics.
- Proficiency with PyTorch or TensorFlow and familiarity with OpenCV or similar frameworks.
- Ability to use Git and workflow or pipeline tools such as Snakemake or MLflow.
- Experience with biological or agricultural images, parallel processing, transfer learning, large foundation models, and federated learning frameworks is considered an asset.
- English language proficiency and eligibility to obtain Reliability Status clearance are required.
Benefits
- Compensation is $103,911 to $130,061 per annum.
- Competitive benefits include a pension plan, health and dental coverage, disability and life insurance, office closure at the end of December, and additional well-being supports.
- The position requires full-time physical presence at the identified NRC work location in Saskatoon, with possible accommodations or alternative arrangements in some circumstances.
- Relocation assistance may be provided according to NRC directives.
- Preference is given to Canadian Citizens and Permanent Residents of Canada.