Staff Software Engineer
Job description
About the role
The successful candidate will own the design and implementation of the embedded software stack that powers Verkada's physical security hardware devices and their interaction with our cloud infrastructure. You will collaborate closely with hardware teams to build and optimize camera features using system programming languages such as C, C++, Go, and Python. This role involves troubleshooting complex technical issues, performing deep bug fixes, and overseeing rigorous code reviews to ensure high standards of quality. You will be responsible for testing and experimenting with new development boards to validate hardware functionality and performance. The position requires updating the codebase to support frequent over-the-air feature deployments and ensuring system reliability. You will also contribute to the security of the embedded stack by implementing encryption, signing, and secure boot mechanisms. Additionally, you will play a key role in the optimization and productionization of computer vision models for AI-driven security features. This role is critical in bridging low-level hardware operations with cloud infrastructure to deliver a seamless and secure user experience.
Key facts
What you'll do
- Collaborate with hardware teams to design, implement, and optimize camera features using C, C++, Go, and Python.
- Oversee code reviews, troubleshoot intricate technical issues, and perform detailed bug fixes to maintain system integrity.
- Test and experiment with new development boards to validate hardware functionality and performance in real-world scenarios.
- Update the codebase to support frequent over-the-air feature deployments while ensuring backward compatibility and stability.
- Develop and maintain embedded software components that interact seamlessly with cloud infrastructure and backend services.
- Implement and maintain security protocols including encryption, digital signing, and secure/trusted boot processes.
- Optimize algorithms and workflows for the productionization of computer vision models within embedded environments.
- Work closely with cross-functional teams to define, design, and deliver new hardware capabilities that meet business and customer needs.
- Monitor system performance, diagnose bottlenecks, and implement improvements to enhance reliability and efficiency.
- Contribute to the development of Yocto-based Linux distributions, containerization strategies, and storage management solutions.
- Write and maintain comprehensive documentation to support both technical and non-technical stakeholders.
- Mentor junior engineers and provide technical leadership during critical project phases.
- Participate in on-call rotations to address urgent production issues and support global deployments.
- Drive best practices in software engineering, including version control, continuous integration, and automated testing.
Requirements
- Hold a Bachelor of Science or Master of Science degree in Computer Science or a related technical field.
- Possess a minimum of 5 years of software development experience focused on Linux using system programming languages such as C, C++, Rust, or Go.
- Have a demonstrated background in embedded or low-level system software development.
- Show strong proficiency in understanding operating systems and computer architecture principles.
- Exhibit excellent documentation and communication abilities to articulate complex technical concepts clearly.
- Must be available to work onsite five days per week at the San Mateo, California office.
- Have hands-on experience with embedded stack technologies including UEFI, bootloaders, drivers, and Yocto-based Linux distributions.
- Demonstrate familiarity with containerization techniques and storage management in embedded environments.
- Show capability in developing backend microservices using Golang and Python.
- Have practical experience with security implementations such as encryption, signing, and secure/trusted boot.
- Show understanding of AI and machine learning concepts, particularly in the context of computer vision model optimization.
- Be able to obtain necessary employment authorization in the United States and comply with all visa requirements.
Nice to have
- Experience with productionizing computer vision models in embedded or edge computing environments.
- Familiarity with security and compliance frameworks relevant to physical security and video surveillance systems.
- Knowledge of modern DevOps practices and tools for embedded systems.
- Experience contributing to open-source projects or collaborative development in similar domains.
Practical notes
- Visa sponsorship is available and the company will assist with the process for successful candidates.
- Benefits include 100% employer-paid premiums for at least one medical plan (80% for family), HSA/FSA options, mental health support, paid parental leave, fertility benefits, and daily lunches.
- Compensation may include equity in the form of restricted stock units (RSUs) and discretionary bonuses.
- The engagement for this role is Full-time.
- Candidates must be located in or willing to relocate to the San Mateo, California area due to the requirement of working onsite five days per week.
- This position may involve participation in on-call schedules and occasional travel to support global deployments and hardware validation activities.
- Employment eligibility requirements must be met, and all necessary documentation for work authorization in the United States must be provided during the hiring process.
- The compensation range specified reflects the target salary band for this role in the specified location.