Staff Embedded Software Engineer

ALARM PARTNERS, LLC
United States
1 day ago
Apply on startup.jobs
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
10 years minimum
Compensation
$150,000.0 - $180,000.0
Working hours
Regular working hours
Job source

Tech stack

LTE (Telecommunication) Artificial Intelligence Android Software Development Bluetooth C++ (Programming Language) CMake Computer Networks Computer Engineering Linux Device Drivers Memory Management Embedded Software
+32 more
Firmware FreeRTOS Make (Software) Protocol Buffers H.264/MPEG-4 AVC Internet Protocol Linux Kernel Modular Design Open Source Technology Scrum Methodology Program Analysis Software Architecture Real-Time Operating Systems Signal Processing Software Engineering Software Systems Wi-Fi Technology Transport Layer Security High Efficiency Video Coding (HEVC) State Machines Technical Debt Git Event Driven Architecture RTSP OpenSSH Information Technology Bare Metal Zigbee Build Tools Live Streaming Codebase U-Boot

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., * 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., * 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 business.
  • Focus on fun: Alarm.com places high value on our team culture. We even have a committee dedicated to hosting a stand-out holiday party, happy hours, and other fun corporate events.
  • Alarm.com values working together and collaborating in person. Our employees work from the office 4 days a week., In connection with your application, we collect information that identifies, reasonably relates to or describes you (“Personal Information”). The categories of Personal Information that we may collect include your name, government-issued identification number(s), email address, mailing address, other contact information, emergency contact information, employment history, educational history, criminal record, and demographic information. We collect and use those categories of Personal Information about you for human resources and other business management purposes, including identifying and evaluating you as a candidate for potential or future employment or future positions, recordkeeping in relation to recruiting and hiring, conducting criminal background checks as permitted by law, conducting analytics, and ensuring compliance with applicable legal requirements and Company policies. By submitting your application, you acknowledge that we may retain some of the personal data that you provide in your application for our internal operations such as managing our recruitment system and ensuring that we comply with labor laws and regulations even after we have made our employment decision.

Requirements

  • 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., * 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.

Benefits & conditions

Alarm.com offers competitive pay and benefits inclusive of subsidized medical plan options, an HSA with generous company contribution, a 401(k) with employer match, and paid holidays, wellness time, and vacation increasing with tenure. Paid maternity and bonding leave, company-paid disability and life insurance, FSAs, well-being resources and activities, and a casual dress work environment are also part of our outstanding total rewards package!, The base salary range of this opportunity is listed below and is determined within a range based on factors including qualifications, location and experience. This allows opportunity for growth and development within the role. The base salary offered is part of a total compensation package.

About the company

Alarm.com is the leading cloud-based platform for smart security and the Internet of Things. More than 7.6 million home and business owners depend on our solutions every day to make their properties safer, smarter, and more efficient. And every day, we’re innovating new technologies in rapidly evolving spaces including AI, video analytics, facial recognition, machine learning, energy analytics, and more. We’re seeking those who are passionate about creating change through technology and who want to make a lasting impact on the world around them.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on startup.jobs
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · World Congress 2025

1:30 min

Developer interfaces for interacting with camera hardware

Flo Pachinger · LIVE

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

3:55 min

Demonstrating .NET installation on Debian and Azure Linux

Silvano Coriani Silvano Coriani · Europe 2026 Virtual

1:20 min

Identifying multi-disciplinary talent for developer experience engineering roles

Hazal Mestci +1 · Coffee With Developers

Videos

See all

Related articles

See all