Staff Software Engineer - Embedded
Alarm.com · Tysons, Virginia
- Senior
- Full-time
- $150,000 – $180,000
- Posted 2025-12-12
- Confirmed live on 25 September 2026
Job description
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 Staff 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. As a Staff engineer you will act as a technical leader and subject-matter expert, architecting software systems, driving technical decisions across teams, and mentoring 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.
Required Technical Skills:
• Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field.
• 10+ years of professional software engineering experience, with a strong focus on native/embedded systems development. Experience developing and working with a large complex C++ codebase.
• Expert-level proficiency in C++ (C++11/14), including modern language features, templates, and memory management. Expertise in highly efficient design and implementation for (disk, RAM and compute) constrained devices.
• Experience with C++ in bare-metal and RTOS-based environments (FreeRTOS, Zephyr, ThreadX, or similar).
• Expertise in implementing large complex systems. Expertise in CMake, Makefile and other build systems. Expertise in cross-compilation.
• Expertise in threading, processes and other Linux systems knowledge. Expertise in asynchronous and messaging-based designs (e.g., protobuf/nanopb).
• Expertise in IP networking and networking software development.
• Experience in building Linux kernels, device drivers, kernel modules, U-Boot, etc.
• Experience with static and dynamic analysis tools.
• Hands-on experience with wireless communication protocols relevant to IoT and security devices, such as Wi-Fi, Bluetooth/BLE, Zigbee, Z-Wave, 802.15.4, LoRa, or cellular (LTE-M/NB-IoT).
• Proficiency with Git and CI/CD pipelines adapted for embedded environments.
Responsibilities:
• Drive technical decision-making across teams, including evaluating trade-offs and building consensus around architectural approaches. Ability to analyze the architecture of a large existing codebase.
• Ability to analyze & architect C++ code for various use cases, such as monolithic vs modular design, static vs dynamic memory allocation, etc.
• Implementing software patterns such as state machines, event-driven design, and publish/subscribe models across large codebases.
• Drive cross-platform software design that supports multiple hardware variants or product SKUs from a shared codebase.
• Strong oral and written communication skills. Ability to create and own technical design documents, architecture decision records (ADRs), and system-level specifications.
• Skilled at translating complex technical constraints and firmware requirements into a clear set of tasks and communicating with product managers, hardware engineers, and other stakeholders.
• Ability to proactively identify systemic risks, technical debt, and architectural shortcomings, and to champion long-term remediation plans.
• Other duties as assigned.
Nice to Have:
• Master's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field.
• Experience with porting glibc, musl or bionic.
• Experience with formal software development processes such as Agile/Scrum adapted for hardware-dependent teams.
• 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 Android and AOSP.
• AI-aided design and software architecture.
• Contributions to open-source embedded projects.
Please note that sponsorship of new applicants for employment authorization, or any other immigration-related support, is not available for this position at this time.
WHY WORK FOR ALARM.COM?
• Collaborate with outstanding people: We hire only the best. Our standards are high and our employees enjoy working alongside other high achievers.
• Make an immediate impact: New employees can expect to be given real responsibility for bringing new technologies to the marketplace. You are empowered to perform as soon as you join the Alarm.com team!
• Gain well rounded experience: Alarm.com offers a diverse and dynamic environment where you will get the chance to work directly with executives and develop expertise across multiple areas of the busines
Prepare for the interview
Nothing collected for this employer yet. The Blind 75 is what technical screens draw from; practise it here, with a coach, in Java or Python.
More at Alarm.com
- Software Engineer II · Tysons, Virginia
- Principal Software Engineer · Tysons, Virginia
- Senior Account Manager · REMOTE
- Staff Software Engineer · Needham, Massachusetts
- Product Manager II (Technical) · Tysons, Virginia
- Partner Success Executive · Tysons, Virginia
- Staff Software Engineer · Boston, Massachusetts
- Senior Regulatory Engineer · Tysons, Virginia