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
Founded in 2004 in Vancouver Avigilon, a Motorola Solutions company provides trusted security solutions to the global market. Avigilon designs, develops and manufactures advanced AI, video analytics, network video management software and hardware, surveillance cameras, and access control solutions that help change the way people interact with their security systems. Avigilon's solutions have been installed at thousands of customer sites, including school campuses, transportation systems, healthcare centers, public venues, critical infrastructure, prisons, factories, casinos, airports, financial institutions, government facilities, and retailers.
See this video to learn more about Avigilon products: https://www.youtube.com/watch?v=8Y3q09lWfnE&t=3s
Job Description
We are forming the first Scrum teams in Motorola Solutions Krakow Software Centre to work on Avigilon products. The team will work on smart camera features development and collaborate closely with Avigilon teams in Vancouver, Canada. We are looking for self-driven software engineers to build the new team. Your responsibilities will include design, develop, test, deploy, maintain and improve embedded software running on Avigilon devices that are utilizing Ambrella components.
Responsibilities include:
- Design sophisticated scalable multi-threaded Object-Oriented Software in C++ for solving challenging problems involving imaging, high-speed data processing, and networking
- Implement advanced software modules that follow modern C++ design patterns
- Develop and debug Linux device drivers
- Create design documents on software architecture and algorithms
- Maintain and improve build system using Make, CMake, Python, and Docker
- Peer review code for adherence best practices, design guidelines and coding standards
- Estimate and track time and effort necessary for completing implementation tasks
- Bachelor's degree is required, emphasis in Engineering, Computer Science or a related technical discipline
- Strong C++ programming skills (experience with C++17 a plus)
- Experience with scripting languages (esp. Python)
- Experience and knowledge of data structures, algorithms and software design
- Knowledge of software engineering best practices including build environments and automated testing
- English language skills at level allowing efficient communication
Optional Qualifications:
- Knowledge of digital imaging/photography and audio/video coding
- Experience with embedded applications development in a Linux environment for ARM target processors
- Knowledge of operating system concepts including processes, threads, mutexes, interrupt handling, and exception handling
- Experience with TCP/IP, RTP, network programming
- Competitive salary package
- Private medical & dental coverage
- 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