Motorola Solutions Logo

Motorola Solutions

Senior Software Engineer

Posted Yesterday
Be an Early Applicant
In-Office or Remote
2 Locations
Senior level
In-Office or Remote
2 Locations
Senior level
Design, develop, and optimize C++ code for camera systems, implementing AI models and optimizing algorithms for embedded systems while collaborating with AI engineers.
The summary above was generated by AI

As a Senior Software Engineer in our camera systems group, you will play a crucial role in designing, developing, and optimizing C++ code for embedded systems. You will work on implementing and deploying AI models and sophisticated algorithms directly on our camera hardware, enabling real-time analysis of video feeds for critical safety and security applications. This position requires a deep understanding of modern C++, strong software engineering principles, and experience with camera technologies.

Responsibilities:

  • Design, develop, and test high-performance modern C++ code for implementing AI models and computer vision algorithms on embedded camera platforms.
  • Optimize code for performance and resource constraints on embedded systems.
  • Integrate and deploy AI models onto camera hardware.
  • Collaborate with AI/ML engineers to translate models into efficient C++ implementations.
  • Work with camera SDKs and APIs to access and process video streams.
  • Develop and maintain unit and integration tests.
  • Participate in code reviews and contribute to best practices and documentation
  • Troubleshoot and debug software issues on embedded systems.
  • Contribute to the development of new features and enhancements for our camera systems.
  • Stay up-to-date with the latest advancements in AI, computer vision, and embedded systems.

Qualifications:

  • Bachelor's degree in Computer Science, Software Engineering, or a related field. Masters or Ph.D. is a plus.
  • 4+ years of experience in C++ software development, with a strong emphasis on performance optimization.
  • Significant experience working with camera systems, including image processing, video encoding/decoding, and camera SDKs/APIs.
  • Experience implementing and deploying AI models on embedded platforms is highly desired.
  • Proficiency in Python for scripting and tooling is a plus.
  • Strong understanding of software engineering principles, including design patterns, testing methodologies, and version control (e.g., Git).
  • Experience with Linux/embedded Linux development environments.
  • Excellent problem-solving and debugging skills.
  • Ability to work independently and as part of a team.
  • Strong communication and collaboration skills.
  • Experience with computer vision libraries (e.g., OpenCV) is a plus.
  • Experience with deep learning frameworks (e.g., TensorFlow, PyTorch, ONNX Runtime) is a plus.
  • Experience with CI/CD systems like GitHub Actions or Azure DevOps is also a plus.

Note: Candidate must live in the Greater Vancouver Area or the Greater Toronto Area.

Basic Requirements

  • Bachelors degree with 4+ years of Software Engineering experience
  • AND 3+ years of C++ software development experience

Top Skills

Ai Models
APIs
Azure Devops
C++
Camera Sdks
Computer Vision
Embedded Systems
Git
Github Actions
Linux
Onnx Runtime
Opencv
Python
PyTorch
TensorFlow

Motorola Solutions Toronto, Ontario, CAN Office

Toronto, Canada

What you need to know about the Toronto Tech Scene

Although home to some of the biggest names in tech, including Google, Microsoft and Amazon, Toronto has established itself as one of the largest startup ecosystems in the world. And with over 2,000 startups — more than 30 percent of the country's total startups — Toronto continues to attract new businesses. Be it helping entrepreneurs manage their finances, simplifying business operations by automating payroll or assisting pharmaceutical companies in launching new drugs, the city's tech scene is just getting started.

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account