Jobs · Information Technology · Virginia

Embedded Software Engineer I

Alarm.com · Tysons Corner, VA · 1 mo ago
Information Technology$90k–$100k/yrFull-time

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. The Device Engineering team is seeking a talented and passionate embedded software engineer to help 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.

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, collaborating 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.

Required Skills

  • Bachelor’s degree in computer science, electrical/computer engineering, or a related field, or equivalent experience.
  • 0–2 years of professional experience; internships, co‑ops, research, capstone projects, 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, I²C, 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.

Preferred Skills

  • 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 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, AES‑256, HMAC, SHA‑256.
  • Experience designing firmware for video pipeline systems, image signal processing, or streaming protocols (RTSP, H.264/H.265) – a strong plus.
  • Experience running AI models on embedded devices.

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.
  • Collaborative and casual work environment.

Pay

Base Salary Range: $90,000 — $100,000 USD.

Note: Sponsorship of new applicants for employment authorization, or any other immigration‑related support, is not available for this position at this time.

Similar jobs