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. Our critical communications, video security and command center technologies support public safety agencies and enterprises alike, enabling the coordination that’s critical for safer communities, safer schools, safer hospitals and safer businesses. Connect with a career that matters, and help us build a safer future.
Department OverviewThe Video Embedded Software Engineering Team at Motorola Solutions (MSI) delivers firmware for embedded devices such as in-car video systems, fixed video and body worn cameras. Working in close collaboration with other departments, engineers in this team excel at developing applications and drivers under Linux, and have a variety of backgrounds and specializations. The team uses modern C++ to develop highly reusable code, and utilize state-of-the-art systems and tools throughout the development life cycle.
Job Description
Design and implement sophisticated scalable multi-threaded Object Oriented Software in C++ for solving challenging problems involving high speed data processing and networking
Design advanced software modules that follow modern C++ design patterns
Apply C programming skills for Linux device driver development and debugging
Apply problem solving skills and experience to identify and improve low-level system performance issues
Apply engineering principles to design algorithms for controlling image acquisition parameters, as well as environmental conditions (Temperature, Power, Fog, Frost, etc.)
Create design documents on software architecture and algorithms
Collaborate with Hardware designers on board bring-up and debug
Maintain and improve Firmware build system using Make and Python
Review code of peers for adherence to coding standards and design guidelines
Estimate and track time and effort necessary for completing implementation tasks
Review Marketing and Product Requirements Document during feasibility and development
Collaborate with Quality Assurance team on identifying test cases for new features and areas for regression tests
Follow the established development process for all design and implementation tasks
Provides mentorship and coaching to junior developers
Basic Requirements
Bachelor / Master degree in Computer Engineering, Software Engineering and Electronics and Electrical
3+ years embedded development experience
Strong C and C++ design and programming skills for embedded applications
Firm grasp of operating system concepts including processes, threads, mutexes, interrupt handling, and exception handling
Experience with C/C++ compilation and debugging tools
Experience with scripting languages, build systems, and version control systems
Excellent written and oral communication skills
Experience with development in a Linux environment for ARM target processors
Working knowledge in writing low level programming for HW peripherals and drivers.
Understanding of embedded design considerations including C/C++ memory management, microprocessor architectures, instruction efficiency, and I/O timing
Knowledge of digital imaging/photography and audio/video coding is a plus
Travel RequirementsNone
Relocation ProvidedNone
Position TypeExperiencedReferral Payment PlanYes
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.
Top Skills
Motorola Solutions Singapore Office
80 Pasir Panjang Road, Singapore, 117372