Embedded Software Engineer (C++, Computer Vision)

Summary

The Embedded Software Engineer will develop and optimize high-performance video analytics software for edge devices using C++, Linux, and computer vision frameworks. The role involves integrating deep learning models into real-time video pipelines and optimizing performance for embedded hardware platforms.

Company Overview

At Motorola Solutions, we believe that everything starts with our people. We’re a global close-knit community, united by the relentless pursuit to help keep people safer everywhere. We build and connect technologies to help protect people, property and places. Our solutions foster the collaboration that’s critical for safer communities, safer schools, safer hospitals, safer businesses, and ultimately, safer nations. Connect with a career that matters, and help us build a safer future.


Department Overview

Avigilon


Job Description

We are seeking an Embedded Software Engineer with expertise in C++ and Computer Vision to drive the development of our high-performance Video Analytics Engine. You will focus on building, porting, and optimizing real-time video processing capabilities across diverse embedded hardware and SOC platforms. Working with modern architectures (GStreamer), you will bridge deep learning models with low-level system software to deliver ultra-low latency edge analytics.

Key Responsibilities

  • Core C++ Development: Design, write, and maintain high-efficiency C++ software components for core video analytics libraries.

  • Multi-Platform Optimization: Port and optimize algorithms, memory allocation, and hardware usage across diverse embedded platforms (Edge AI, Smart Cameras, SOCs).

  • Video Pipeline Integration: Build low-latency, real-time video processing pipelines integrated with GStreamer frameworks.

  • Model Deployment: Collaborate with AI engineers to optimize and deploy Deep Learning/Computer Vision models into production edge environments.

  • System-level Debugging: Identify and resolve system bottlenecks, memory leaks, multi-threading concurrency issues, and latency spikes.


Basic Requirements

  • Bachelor/Master Degree in any Software Engineer, Computer Science or any relevant field

  • 4+ years of professional C++ development experience (C++11/14/17).

  • Strong hands-on expertise in Linux and Embedded Linux environments.

  • Deep understanding of memory management, multi-threading, concurrency, and performance profiling.

  • Practical experience in Computer Vision and image processing libraries (e.g., OpenCV, TensorRT).

  • Proven track record of debugging and optimizing resource-constrained system software.

Nice to Have

  • Deep experience with GStreamer framework and video codecs (H.264/H.265, RTSP).

  • Experience optimizing software for specific hardware accelerators/SOCs (e.g., Nvidia Jetson, Ambarella, Qualcomm, NXP).

  • Familiarity with hardware acceleration APIs (CUDA, OpenCL).


Travel Requirements

None


Relocation Provided

None


Position Type

Experienced

Referral Payment Plan

No

EEO Statement

Motorola Solutions is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion or belief, sex, sexual orientation, gender identity, national origin, disability, veteran status or any other legally-protected characteristic.

We are proud of our people-first and community-focused culture, empowering every Motorolan to be their most authentic self and to do their best work to deliver on the promise of a safer world. If you’d like to join our team but feel that you don’t quite meet all of the preferred skills, we’d still love to hear why you think you’d be a great addition to our team.

See also

Embedded jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available