Design, develop, and optimize C++ code for camera systems, implementing AI models and optimizing algorithms for embedded systems while collaborating with AI engineers.
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
Motorola Solutions London, England Office
London, United Kingdom
Similar Jobs at Motorola Solutions
Artificial Intelligence • Hardware • Information Technology • Security • Software • Cybersecurity • Big Data Analytics
The Business Data Analyst at Motorola Solutions conducts data analysis to identify issues, collaborate with teams, and implement improvements in business processes, enhancing operational efficiency and decision-making through data-driven insights.
Top Skills:
PythonSQLTableau
What you need to know about the London Tech Scene
London isn't just a hub for established businesses; it's also a nursery for innovation. Boasting one of the most recognized fintech ecosystems in Europe, attracting billions in investments each year, London's success has made it a go-to destination for startups looking to make their mark. Top U.K. companies like Hoptin, Moneybox and Marshmallow have already made the city their base — yet fintech is just the beginning. From healthtech to renewable energy to cybersecurity and beyond, the city's startups are breaking new ground across a range of industries.

