Software Engineering – Embedded Machine Learning Engineer (Co-op Placement)

Location: Toronto

Discipline: Software Engineering, Computer Engineering, Electrical Engineering, Mechatronics or Computer Science (University of Waterloo)

Student Level: Intermediate or Advanced Co-op student (University of Waterloo)

Time Frame: Sep 2023 — Dec 2023 (4 months), or Sep 2023 – Apr 2024 (8 months, preferred)

Positions available: 2

Reports To: Director of Engineering

Organizational Profile: 

Arcturus Networks Inc. is a privately held Canadian company that develops embedded hardware and software solutions for the industrial and commercial marketplace, utilizing open source and proprietary software.  The company develops in-house designed hardware platforms targeted as embedded, industrial-grade server or end-point modules, for use in audio communications, Machine Vision, analytics and control, video surveillance and IOT applications in various industry verticals. Our customers are typically industrial application developers, manufacturers and OEM’s who integrate our modules or platforms into their specific applications.

Role Profile: 

We are looking for highly skilled and motivated students to participate in the development of our state-of-the-art Embedded Machine Vision System. We have developed specialized Edge AI Hardware and are in the process of developing Public Safety AI applications for video surveillance, video analytics and to perform advanced machine vision algorithms.  The candidate will have the opportunity to be a major contributor in this project and will obtain tremendous experience in the areas of Machine Vision, Machine Learning and embedded system-level development.

What will this job do for you? 

This coop internship will give you all the experience and knowledge necessary to call yourself an MLOps engineer. An MLOps engineer has a deep understanding of both the Machine Learning and Software Engineering domains, as well as experience working with cloud infrastructure, containerization technologies, and data processing frameworks. Add to that the exposure you’ll gain to embedded AI.

We don’t require you to be an expert in this field. We will make you an expert, if you are ready to be challenged and committed to doing your best during this internship. 

Key Responsibilities:

  • Collaborate with cross-functional teams, including product management, software engineers, and business stakeholders, to identify machine learning model requirements
  • Develop, maintain and refine machine learning models using various Machine Vision algorithms and techniques
  • Develop, adapt, port and integrate Machine Vision applications onto Edge AI embedded microprocessors powered with various types of AI/ML accelerators
  • Train and validate machine learning models using datasets of all types and sizes, and optimize their performance by augmenting the datasets and retraining to improve their accuracy and effectiveness
  • Champion MLOps initiatives across the company. Research, design and implement best practices to develop MLOps processes and infrastructure
  • Develop and maintain data pipelines and infrastructure to support deployment of models in production environments.
  • Develop runtime metrics that can be used to identify model performance effectiveness and degradation over time
  • Continuously monitor and refine machine learning models to ensure that they remain accurate and effective over time and create methods to redeploy with improvements in production environments
  • Stay up-to-date with the latest Machine Learning and MLOps techniques and technologies and apply them to improve the production applications

Key Requirements:

  • Ability to learn and adapt to new technologies quickly is essential for success in this job
  • Strong programming skills in languages such as Python, C and C++
  • Multi-threaded and distributed software applications experience
  • System-level software development experience under Open Source systems and Linux environments
  • Advanced experience using Docker, Kubernetes and related containerization and orchestration technologies
  • Familiarity with microservices architectures
  • Familiarity with machine learning frameworks such as TensorFlow or PyTorch
  • Strong interest in becoming an MLOps expert
  • Familiarity with data processing, experimentation and model deployment frameworks such as MLflow
  • Experience working with embedded microprocessor hardware modules
  • Wide experience working with databases and data models
  • Excellent problem-solving skills and attention to detail.
  • Strong communication and collaboration skills.

The candidate should have completed a minimum of two years towards a B Sc. degree in Computer Science, Computer Engineering or Software Engineering

For additional eligibility requirements and to apply, visit WaterlooWorks.

Talk to us,
we don't bite