Alarm.com is a rapidly expanding technology company developing innovative cloud and device solutions across a wide range of cutting-edge technologies that provide a unified, connected service to millions of residential and commercial properties in the US and abroad. We are looking for a talented and passionate video embedded software engineer for the Device Engineering team to help us define the future of intelligent video surveillance and security by creating and integrating camera devices that connect with our robust cloud using advanced streaming technologies and multimedia processing. You will be working with a team of talented engineers across a diverse set of technological backgrounds to design video camera systems, build and manufacture hardware, architect and implement multimedia software stacks, and collaborate in an agile and fast-paced environment.
Required Skills:
- Bachelor's Degree in Computer Science, Electrical/Computer Engineering, or equivalent experience
- 7 years of embedded software development experience with Linux platforms
- Strong proficiency in C/C++ and Python programming
- Experience with multimedia frameworks and libraries (GStreamer, FFmpeg, DirectX, or OpenGL)
- Knowledge of video codecs (H.264, VP8/VP9), audio codecs (G711, G722), and streaming protocols
- Hands-on experience with camera pipelines, ISP integration, and video/audio processing algorithms
- Experience with embedded Linux or Android systems and Git version control
Responsibilities:
- Design and develop embedded software for Linux-based video camera devices with focus on SoC integration and hardware optimization
- Integrate video System-on-Chip components including camera sensors, ISPs, and hardware encoders to optimize the complete streaming pipeline
- Implement and optimize streaming protocols, codecs, and real-time video processing for reliable cloud transmission
- Collaborate with hardware engineers on camera performance optimization, power management, and hardware driver integration
- Work with cloud software teams to design APIs, protocols, and features that enable seamless device-to-cloud connectivity
- Partner with product managers and quality engineers to define technical requirements, conduct system testing, and ensure products meet performance and reliability standards