Software Engineer - Embedded
Listed on 2026-07-18
-
Software Development
Embedded Systems/ Firmware/ IoT, Software Architect, C++ Developer, Software Engineer
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.
- 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 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.
- 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.
- 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, AES
256, HMAC, SHA
256. - 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…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).