Verkada is transforming how organizations protect their people and places with an integrated, privacy-sensitive AI-powered platform. As a Staff Embedded Software Engineer, you will lead the development of new camera categories and ensure the operational excellence of a multi-million device IoT footprint.
Responsibilities:
- Lead the end-to-end lifecycle of entirely new camera categories for untapped market segments
- Collaborate directly with Hardware and Product teams during the initial co-design phase, to influence HW selection and feature scoping
- Own the firmware roadmap and drive the large-scale architectural changes required to support novel features across the entire stack—from low-level MCUs to Linux-based edge services
- Engineer high-performance features across a diverse software landscape, spanning bare-metal MCU firmware, secure bootloaders, Linux kernel optimizations, and concurrent userspace services
- Tackle the most "gnarly" system-level challenges, from non-deterministic race conditions and memory corruption to elusive hardware-software timing issues that only emerge at the scale of a million-device fleet
- Systematically balance conflicting priorities—including hardware security hardening, peak performance, power efficiency, and deep fleet observability
- Partner with CV, Streaming, and Storage teams to architect vertically integrated features that push the boundaries of edge computing and real-time computer vision
- Champion a reliability-first culture for a global fleet of 1.5 million perpetually online devices, designing the deployment and monitoring strategies that ensure 24/7 uptime
Requirements:
- BS/MS in Computer Science, Electrical Engineering, or related field
- 10+ years of professional experience in systems software development for performance and resource-constrained environments
- 5+ years of experience building software for Linux-based platforms
- Demonstrated experience leading large-scale, cross-functional initiatives from concept to production. You have a history of aligning diverse engineering verticals to deliver complex systems on aggressive timelines
- Proven experience leading initial board bring-up and hardware-software co-design for first-generation embedded devices
- Hands-on experience with low-level protocols (SPI, I2C, UART, USB) and the ability to debug complex hardware-software interactions
- Experience designing, implementing and debugging concurrent/multithreaded firmware services
- Strong understanding of modern operating systems, computer architecture, and trade-offs between compute, memory, and storage
- Proficient in at least one systems programming language: C++ or Golang
- Familiarity with Bash scripting and Python for tooling and automation
- Excellent communication and documentation skills, with the ability to collaborate across engineering and product teams
- Direct experience with Linux Kernel development, including writing or debugging drivers, managing device trees, or optimizing kernel-space performance
- Technical depth in MCU firmware and the boot stack, with a focus on RTOS, bare-metal development, or secure boot implementation