Press ENTER to skip to the job description.
Sr. Software Engineer

Sr. Software Engineer
MA, Boston

Job Description

Sr. Software Engineer - C++

Boston Area 

Our client is proud to lead the industry in video analytics.  Their solutions have been installed worldwide at thousands of customer sites, including schools, transportation, hospitals, public venues, prisons, casinos, airports, government facilities, and more.  They are defining the future of the security industry through innovative end-to-end video surveillance solutions, utilizing their award-winning AI based surveillance systems. 

 Position Overview:

Our client is seeking a Senior Software Engineer to develop software for their video product line of analytics cameras and appliances running the Linux operating system.  Their platforms allows users to proactively monitor their premises using high resolution/high quality video.  This Senior Software Engineer will partner with a team of hardware, platform, client/server, multimedia, SQA, and computer vision developers to develop APIs and implement inter process communications that interface platform-level software with cutting edge video and business analytics.  Additionally, they will also help architect production software for new computer vision and machine learning features.  This position provides the opportunity to contribute to intelligent camera surveillance systems through cutting edge research and software engineering. 

Responsibilities include: 

·       Create software for real-time multi-core embedded Linux devices ready for production

·       Design and implement complex scalable multi-threaded software in C++

·       Work in partnership with Research team in implementing computer vision and machine learning apps on hardware

·       Write thorough design documents regarding software interfaces, architectures, and algorithms

·       Detect and improve low-level system performance issues

·       Identify test cases for new features and areas for regression tests with Quality Assurance team

·       Review peers code

·       Mentor, coach, and provide technical leadership and domain knowledge for new features

·       Build platform-level requirements from marketing conditions

Qualifications:

·       5+ years writing C++ multi-threaded, multi-process software for embedded Linux systems

·       Understanding of embedded design considerations including C++ memory management, microprocessor architectures, instruction efficiency, and I/O timing

·       Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science or equivalent experience

·       Knowledge of processes, threads, mutexes, interrupt handling, and exception handling

·       Experience maintaining and improving firmware build systems using CMake, Docker, and Python

·       Excellent software design, development skills, and production quality coding

·       Agile development environment experience

·       Expert at cross-compiling and integrating open source software for target architectures

·       Comfortable “owning” and maintaining large software distributions

·       Experienced developing test harnesses for unit and regression testing

·       Technical Leadership experience

·       Experience managing day to day software development details for small agile scrum teams

·       Experience with video, computer vision (OpenCV, OpenGL) or machine learning

·       Master’s Degree in an engineering is a HUGE PLUS

·       Low level optimization on ARM (Assembly, NEON) and Intel (SSE2), GPU / CUDA

 

Apply Now