Oferta pracy

Embedded Software Engineer (C++)

Motorola SolutionsO firmie

Motorola Solutions

Green Office - budynek B

Kraków

Company Overview

At Motorola Solutions, we create technologies our customers refer to as their lifeline.  Our technology platforms in communications, software, video and services help our customers work safely and more efficiently.  Whether it’s helping firefighters see through smoke, enabling police officers to see around street corners, or reliably keeping the lights on in homes and businesses around the world, our work supports those who put their lives on the line to keep us safe.  Bring your passion, potential and talents to Motorola Solutions, and help us usher in a new era in public safety and security.

Department Overview

We are seeking a Software Engineer focused on 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 Software Engineer will also help architect production software for new computer vision and machine learning features based on our research team’s algorithms.
Embedded Software Engineer (C++)Numer ref.: R9197

Job Description

Responsibilities include: ​
  • Develop production 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
  • Optimize algorithms and system to ensure real time performance
  • 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
  • Write unit tests, automated feature tests to assure product quality 
  • Work with Quality Assurance team on identifying test cases for new features and areas for regression tests
  • Collaborate with our Research team in implementing computer vision and machine learning apps on hardware
Basic Requirements
  • Bachelor of Science degree in Electrical Engineering, Computer Engineering, Computer Science or equivalent experience
  • 2+ 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
  • Understanding of embedded design considerations including C++ memory management, microprocessor architectures, instruction efficiency, and I/O timing
  • Experienced developing test harnesses for unit testing and regression testing
  • Experience with scripting languages (esp. Python)
  • Knowledge of software engineering best practices including build environments and automated testing
  • English language skills at level allowing efficient communication
Preference will be given to candidates with the following skills and experience:
  • Experience with video, computer vision (OpenCV) or machine learning
  • Experience with continuous integration in a highly available production environment
Also, to reward your hard work you’ll get:
  • Competitive salary package
  • Private medical & dental coverage
  • Employee Pension Plan
  • Life insurance
  • Employee Stock Purchase Plan
  • Flexible working hours
  • Strong collaborative culture
  • Comfortable work conditions (high-class offices, parking space)
  • Volleyball field and grill place next to the office
  • Access to wellness facilities and integration events as well as training and broad
  • Development opportunities

Ogłoszenie archiwalne