Device Engineer II
Alarm.com · Tysons, Virginia · United States · On-site
Pay: USD 88,300 – 122,500 a year
Posted Oct 2, 2026
Sign up free: we match you to jobs like this, tailor your application and fill the form. 2 free applications every day.
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 embedded software engineer for the Device Engineering team to help us define the future of the Internet-of-Things for residential and commercial properties by creating and integrating devices including security panels, networking gateways, and video cameras. You will be working with a team of talented engineers across a diverse set of technological backgrounds to design devices, build and manufacture hardware, architect and implement software, and collaborate in an agile and fast-paced environment.
You will build firmware for our video cameras at our Tysons, Virginia headquarters. Prior camera, multimedia, or networking experience is not required: we are looking for a strong embedded Linux and C++ generalist who is eager to learn, and the team's experienced engineers will mentor you. Your code will run on real hardware every day and ship to millions of homes and businesses.
What You'll Learn and Work On
Areas the team owns; prior exposure is a plus, not a prerequisite.
C++ application software on embedded Linux and resource-constrained SoC hardware.
Video and audio: capture, encoding, streaming, two-way audio, and event-driven clips and snapshots.
On-device analytics and event detection.
Builds, cross-compilation, and hardware bring-up and validation with senior engineers.
Connectivity: wired and wireless networking, secure cloud communication, and over-the-air updates.
Other duties as assigned.
Required Qualifications:
Self-starter who scopes their own work, follows through, and communicates progress and blockers early.
Strong C++ proficiency for embedded systems, with sound software architecture and design principles.
Solid Linux systems programming (processes, threads, IPC, sockets), including safe concurrent design, and hands-on debugging on a target device with tools such as gdb, strace, or memory analyzers.
2+ years of professional embedded software development on Linux platforms.
Bachelor's Degree in Computer Science, Electrical/Computer Engineering, or a related field, or equivalent experience.
Experience with cross-compilation and build frameworks such as Yocto, buildroot, OpenWRT, or Android.
Knowledge of the SDLC, Git, and collaborative code review; able to present coherent designs, code changes, tests, and results.
Python or Bash scripting to automate development and test processes.
Preferred Qualifications:
Video, audio, or image pipelines: camera sensors, ISPs, hardware encoders, media frameworks, codecs, or streaming protocols.
Networking fundamentals and on-device network debugging; Wi-Fi, Ethernet, Bluetooth, cellular, or other IoT protocols.
Board support packages, Linux…