Embedded Software Engineer I

Alarm.comTysons, VA
$90,000 - $100,000Hybrid

About The Position

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 that connect with our robust cloud using next-gen communication stacks. 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.

Requirements

  • Bachelor's degree in computer science, Electrical/Computer engineering, or related field, or equivalent experience.
  • 0-2 years of professional experience; internships, co-ops, research, capstone, or personal projects involving embedded or systems software are welcome in place of industry experience.
  • Proficiency in C and/or C++, with an understanding of software architecture and design principles.
  • Proficiency in Linux and comfort working from the command line.
  • Exposure to microcontrollers or single-board computers (e.g., STM32, ESP32, Arduino, Raspberry Pi, BeagleBone) and hardware peripherals such as UART, SPI, I2C, and ADC.
  • Foundational understanding of electronics and the ability to read circuit schematics.
  • Familiarity with version control systems such as Git.
  • Strong problem-solving skills, curiosity about how hardware and software meet, and eagerness to learn from code review and mentorship.
  • Clear written and verbal communication, and the ability to collaborate on a team.

Nice To Haves

  • Experience with C++ in bare-metal and RTOS-based environments (FreeRTOS, Zephyr, ThreadX, or similar).
  • Experience with glibc, musl or bionic.
  • Experience in threading, processes and other Linux Systems knowledge. Experience in Asynchronous and Messaging based designs (e.g., protobuf/nanopb).
  • Experience in building Linux kernels, device drivers, kernel modules, U-Boot, etc.
  • Experience with cross-compilation and build frameworks such as Yocto, Buildroot, OpenWRT, or Android.
  • Functional knowledge of security standards and protocols, such as TLS/SSL, OpenSSH, ECDSA/ECDH, AES256, HMAC, SHA256.
  • Experience with designing firmware for video pipeline systems, image signal processing, or streaming protocols (RTSP, H.264/H.265) is a strong plus.
  • Experience with running AI models on embedded device

Responsibilities

  • Work alongside senior engineers to develop and maintain embedded Linux applications, platform frameworks, and board support packages using C/C++.
  • Implement, test, and debug well-scoped features and bug fixes on real hardware, growing toward independent ownership.
  • Support device bring-up and validation with electrical and mechanical engineers.
  • Contribute to features that connect our devices to the cloud, working with software engineers across teams.
  • Participate in code reviews, write unit tests, and document your work to Alarm.com's standards.
  • Communicate effectively and collaborate with others to ensure the timely delivery of projects.

Benefits

  • medical plans with company subsidies
  • Health Savings Account (HSA) with a company contribution
  • 401(k) with an employer match
  • paid vacation that increases with tenure
  • paid holidays
  • wellness time
  • paid maternity and bonding leave
  • company-paid disability and life insurance
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service