Avigilon

Firmware Developer

CA-BC-Vancouver
Job ID
2017-2738
# Positions
1
Job Type
Permanent Full Time

Job Description

Firmware Developer

Vancouver, Canada

 

Avigilon (TSX: AVO) provides trusted security solutions to the global market. Avigilon designs, develops, and manufactures video analytics, network video management software and hardware, surveillance cameras, and access control solutions. 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.

 

Responsibilities include:

  • 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

Qualifications: 

  • 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, medical insurance while travelling, and the opportunity to participate in the Employee Share Purchase Plan (ESPP).  You will also receive a health spending account to cover additional healthcare costs, such as vision care, RMT and chiropractor visits. 

Options

Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
Share on your newsfeed