Software Engineer, C++ Programmer

US-MA-Greater Boston
Job ID
# Positions
Job Type
Permanent Full Time

Job Description

Software Engineer, C++ Programmer

Somerville, MA, USA


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.


Position Overview:

Avigilon is seeking an experienced Software Engineer to implement computer vision algorithms, including object detection, tracking and classification, on production hardware. The Software Engineer must have passion for computer vision and machine learning. 


Responsibilities include:

  • Implement, optimize and productize computer vision and machine learning algorithms including object detection, tracking, and object classification
  • Implement efficient algorithms in C++
  • Profile and optimize algorithms to meet stringent memory and cycle budgets on target hardware
  • Design advanced software modules that follow modern C++ design patterns
  • Author design documents on software architecture and algorithms
  • Peer review code for adherence to coding standards and design guidelines
  • Collaborate with Quality Assurance team on identifying test cases for new features and areas for regression tests


  • Degree in Computer or Electrical Engineering or Computer Science
  • Extensive experience in designing and writing C and C++ multi-threaded, and multi-process software
  • Familiarity with computer vision and machine learning techniques
  • Knowledge of linear algebra, algorithms and data structures and statistic
  • Experience with compilers, profilers, and debuggers


Preference will be given to candidates with the following skills and experience:

  • Experience with scripting languages, build systems, and version control systems
  • Understanding of embedded design considerations including memory management, microprocessor architectures, instruction efficiency, and I/O timing
  • Expertise with cross-compiling open source software for target architectures (ARM, Intel, etc.)
  • Experience with compressed video (H.264), storage (media containers) and streaming (RTSP, RTCP)
  • Familiarity with OpenCV and GPU programming is a plus
  • Low level optimization on ARM (Assembly, NEON) and Intel

Perks of Working at Avigilon:

As a full-time employee of Avigilon, you are eligible to receive a comprehensive benefits package which includes a competitive salary with full benefits including extended health, dental, vision, paid vacation and holidays, 401K, eligible to participate in TechTalks, Hackathons, etc.



Avigilon is an Equal Employment Opportunity Employer and does not discriminate on the basis of race, color, religion, sex, national origin, pregnancy, age, disability, veteran status, genetic information, or any other characteristic protected under applicable law. It is the policy of Avigilon to comply with all aspects of the Americans with Disabilities Act.  Upon request, Avigilon will provide reasonable accommodations to individuals with disabilities who need an accommodation to fully participate in the application process.


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