JobBobsReal-time global job discoveryLive

Staff Software Engineer - Embedded

Alarmcom · Tysons, Virginia · 2026-07-23

executive
Apply on the employer's site

About this role

<div id="main-content" class="wiki-content"> <p><a class="external-link" href="http://alarm.com/">Alarm.com</a> 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.</p> <p><strong>Required Technical Skills:</strong></p> <ul> <li>Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field.</li> <li>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.</li> <li>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.</li> <li>Experience with C++ in bare-metal and RTOS-based environments (FreeRTOS, Zephyr, ThreadX, or similar).</li> <li>Expertise in implementing large complex systems. Expertise in CMake, Makefile and other build systems. Expertise in cross-compilation.</li> <li>Expertise in threading, processes and other Linux systems knowledge. Expertise in asynchronous and messaging-based designs (e.g., protobuf/nanopb).</li> <li>Expertise in IP networking and networking software development.</li> <li>Experience in building Linux kernels, device drivers, kernel modules, U-Boot, etc.</li> <li>Experience with static and dynamic analysis tools.</li> <li>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).</li> <li>Proficiency with Git and CI/CD pipelines adapted for embedded environments.</li> </ul> <p><strong>Responsibilities:</strong></p> <ul> <li>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.</li> <li>Ability to analyze & architect C++ code for various use cases, such as monolithic vs modular design, static vs dynamic memory allocation, etc.</li> <li>Implementing software patterns such as state machines, event-driven design, and publish/subscribe models across large codebases.</li> <li>Drive cross-platform software design that supports multiple hardware variants or product SKUs from a shared codebase.</li> <li>Strong oral and written communication skills. Ability to create and own technical design documents, architecture decision records (ADRs), and system-level specifications.</li> <li>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.</li> <li>Ability to proactively identify systemic risks, technical debt, and architectural shortcomings, and to champion long-term remediation plans.</li> </ul> <p><strong>Nice to Have:</strong></p> <ul> <li>Master's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field.</li> <li>Experience with porting glibc, musl or bionic.</li> <li>Experience with formal software development processes such as Agile/Scrum adapted for hardware-dependent teams.</li> <li>Functional knowledge of security standards and protocols, such as TLS/SSL, OpenSSH, ECDSA/ECDH, AES256, HMAC, SHA256.</li> <li>Experience with designing firmware for video pipeline systems, image signal processing, or streaming protocols (RTSP, H.264/H.265) is a strong plus.</li> <li>Experience with Android and AOSP.</li> <li>AI-aided design and software architecture.</li> <li>Contributions to open-source embedded projects.</li> </ul> <div id="cipe-headings-prefs" data-levels="[1, 2, 3, 4, 5, 6]" data-headings-mode="combined" data-short-click-area="false"></div> </div> <div id="likes-and-labels-container"> <div id="likes-section" class="no-print"></div> </div> <p><span class="ui-provider ee cfm bqo cfn cfo cfp cfq cfr cfs cft cfu cfv cfw cfx cfy cfz cga cgb cgc cgd cge cgf cgg cgh cgi cgj cgk cgl cgm cgn cgo cgp cgq cgr cgs">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.</span></p> <p><strong>WHY WORK FOR ALARM.COM?</strong></p> <ul> <li><strong>Collaborate with outstanding people</strong>: We hire only…

Skills asked for

Similar jobs

Apply on the employer's site

Your next role is already in here.

Search live openings from thousands of employers, save the ones worth a second look, and let JobBob keep watch for the rest.