At Avigilon we are helping solve some of the biggest challenges around safety and physical security by developing advanced artificial intelligence (AI) technologies and products that are used to help keep people, businesses, and cities around the world safer. Avigilon, a Motorola Solutions company, 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.
Founded in 2004 in Vancouver, Avigilon has been a driving force behind the security industry’s AI evolution and has continuously been a company that stands for innovation and growth. At Avigilon, you will find a culture of thought-leaders who are passionate about creating exciting new solutions for security and surveillance. We seek problem-solvers who are eager to rise to the challenges of a continuously evolving technological industry, and those who want to make an impact of the safety of people and businesses globally.
We believe that diversity spawns innovation – the more diverse our employees are, the more ideas and talents we have to excel as a leader in the technology sector. If you would like to be part of a dynamic team of people who are ambitious, focused, and hardworking then we look forward to meeting you!
- 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
- 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
- Degree in Computer or Electrical Engineering, Computer Science, or related technical discipline
- Experience with development in a Linux environment for ARM target processors
- 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
Perks and Benefits:
As a full-time employee at Avigilon, you are eligible to receive a comprehensive benefits package which includes MSP, extended health, dental, and medical insurance while travelling. You will also receive a health spending account to cover additional healthcare costs, such as vision care, RMT and chiropractor visits.