Senior Software Engineer, Video Analytics
If you are a current Motorola Solutions employee, please click this link to apply through your Workday account.Company Overview
Motorola Solutions is there for our customers when everything is on the line. In extreme moments — when a hurricane lands or when a fire breaks out. And in everyday moments — when a package arrives just in time for the holiday or when a child doesn’t miss the school bus home.
We unify voice, data, video and analytics in one integrated ecosystem to enable individuals, businesses and communities to work together in more powerful ways. To help people make better decisions, act confidently and be their best in the moments that matter. Bring your passion, potential and talents to Motorola Solutions and connect with a career that matters.
Department OverviewWe are seeking a Senior Software Engineer focused on architecture and developing software for Motorola's video product line of analytics cameras and appliances running the Linux operating system. Motorola's video analytics platforms allow our users to proactively monitor their premises using advanced video analytics and high resolution / high quality video. Partnering with a team of hardware, platform, client/server, multimedia, SQA, and computer vision developers, this Software Engineer will develop APIs and implement interprocess communications that interface platform-level software with cutting edge video and business analytics. In this role, this Lead Engineer will architect production software for new computer vision and machine learning features based on our research team’s algorithms.
Job Description
Responsibilities include:
- Architect, design, and develop quality software for real-time multi-core embedded Linux devices
- Design and implement sophisticated scalable multi-threaded Object Oriented Software in C++ following modern C++ design patterns
- Collaborate with our Research team in implementing computer vision and machine learning apps on hardware
- Author detailed design documents about our software architectures, algorithms, and interfaces
- Apply problem solving skills and experience to identify and improve low-level system performance issues
- Maintain and improve firmware build systems using CMake, Docker, and Python
- Work with Quality Assurance team on identifying test cases for new features and areas for regression tests
- Review code of peers for adherence to coding standards and design guidelines
- Estimate and track time and effort necessary for completing implementation tasks
- Develop platform-level requirements from high level marketing requirements
- Provide technical leadership and domain knowledge for new features
Qualifications:
- Bachelor of Science degree in Electrical Engineering, Computer Engineering, Computer Science, Physics, or equivalent experience
- 7+ years of experience writing C++ multi-threaded, multi-process software for embedded Linux systems
- Understanding of and proven ability with operating system concepts including processes, threads, mutexes, interrupt handling, and exception handling
- Excellent understanding of embedded design considerations including C++ memory management, microprocessor architectures, instruction efficiency, and I/O timing
- Ability to multi-task and work in a fast-paced Agile development environment
- Experience with cross-compiling and integrating open source software for target architectures
- Comfortable “owning” and maintaining large software distributions
- Experienced developing test harnesses for unit testing and regression testing
Preference will be given to candidates with the following skills and experience:
- Experience with video, computer vision (OpenCV) or machine learning
- Master’s of Science degree in Electrical Engineering, Computer Engineering, Computer Science or equivalent experience
- Experience with continuous integration in a highly available production environment
Basic Requirements
- Bachelor of Science degree in Computer Engineering, Computer Science, Physics, Electrical Engineering or equivalent degree
- 3+ years of experience writing C++ multi-threaded, multi-process software
Vaccine Requirement
As an employer of 100 or more employees, Motorola Solutions has implemented a policy requiring all U.S. employees reporting to a workplace (anywhere you are performing services on behalf of Motorola Solutions) where other people are present (including coworkers and customers) be fully vaccinated against COVID-19 by February 9, 2022. Any employees not fully vaccinated by this date will be required to participate in periodic COVID-19 testing.
If you are unable to be fully vaccinated, you may apply for a reasonable accommodation based on a qualified medical condition or religious belief. Any offer of employment will be contingent on candidate's ability to demonstrate proof of vaccination (unless approved for a reasonable accommodation based on a qualified medical condition or religious belief) or willingness to participate in periodic COVID-19 testing.
Travel RequirementsUnder 10%
Relocation ProvidedNone
Position TypeExperienced
Referral Payment PlanNo
Our U.S. Benefits include:
- Incentive Bonus Plans
- Medical, Dental, Vision benefits effective Day 1
- 401K with Company Match and Day 1 vesting
- 9 Paid Holidays
- Generous Paid Time Off Packages
- Employee Stock Purchase Plan
- Paid Parental & Family Leave
- and more!
EEO Statement
Motorola Solutions is an Equal Opportunity Employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, veteran's status, or, any other protected characteristic.