Senior Software Engineer - Storage Systems
Job description
Senior Software Engineer - Storage Systems at Verkada.
About the role
The Storage team at Verkada is responsible for managing the distributed infrastructure that allows our security cameras to operate as intelligent local recording devices. In this position, you will be tasked with designing and enhancing edge storage systems to guarantee that video data remains secure and accessible, even in the event of network disruptions. Your primary focus will be on ensuring the reliability and performance of storage media across millions of deployed units. You will own the design and implementation of storage subsystems that directly interact with physical media under real-world constraints. This role requires you to balance durability, cost, and performance while maintaining strict data integrity standards. You will work at the intersection of hardware and software to solve complex problems that arise in high-scale environments. Your contributions will directly impact the resilience of the edge infrastructure that powers our security platform.
Key facts
What you'll do
- Oversee the camera storage architecture to effectively manage large video files alongside AI model storage while ensuring high reliability.
- Collaborate with hardware teams and external partners to assess and define future flash storage systems.
- Develop innovative storage architectures that prioritize hardware cost efficiency, throughput, and durability.
- Establish storage reliability metrics and work closely with the Streaming team to enhance video retention capabilities.
- Conduct performance analysis and optimization of existing storage solutions to improve overall system efficiency.
- Troubleshoot and resolve issues related to storage systems, ensuring minimal downtime and maximum data integrity.
- Participate in code reviews and provide mentorship to junior engineers, fostering a culture of continuous improvement.
- Stay updated with industry trends and emerging technologies to incorporate best practices into storage system design.
- Implement low-level storage drivers that interface directly with flash memory and associated hardware components.
- Design fault-tolerant mechanisms to handle media failures, power loss, and unexpected shutdowns gracefully.
- Optimize data layouts to minimize wear on flash devices and extend the operational lifespan of hardware.
- Analyze system telemetry to identify bottlenecks and drive iterative improvements to storage pipelines.
- Partner with firmware teams to validate storage behavior on embedded devices and ensure compatibility.
- Create testing frameworks that simulate harsh environmental conditions to validate storage robustness.
Requirements
- A Bachelor's or Master's degree in Computer Science or a related discipline.
- At least 5 years of experience in software development, particularly using the C programming language.
- Strong understanding of low-level systems, including memory management, file system structure, kernel debugging, device drivers, eBPF, the MMC protocol, and the Yocto build system.
- Proven experience in developing and optimizing storage systems in a production environment.
- Ability to work collaboratively in a fast-paced team setting and communicate effectively with cross-functional teams.
- Familiarity with performance tuning and debugging tools for storage systems.
- Demonstrated capability to read and interpret hardware specifications and datasheets accurately.
- Experience writing software that must function reliably in safety-critical and high-availability contexts.
- Comfort with debugging complex issues that span both hardware and software boundaries.
- Willingness to work onsite in San Mateo, CA, adhering to the established working hours.
Nice to have
- Experience in backend development, distributed systems, and containerization technologies such as Docker and Kubernetes.
- Knowledge of cloud services, particularly AWS, and how they can be integrated into storage solutions.
- Proficiency in additional programming languages such as C++ or Go, which can enhance your contributions to the team.
Practical notes
- Visa sponsorship is available, and the company is willing to assist with the transfer or acquisition of employment visas for qualified candidates.
- Employees enjoy comprehensive benefits, including full coverage of healthcare premiums for individuals (80% for family plans), options for Health Savings Accounts (HSA) and Flexible Spending Accounts (FSA), mental health support services, paid parental leave, fertility benefits, and a stipend for professional development.
- The company provides healthy lunches daily and offers commuter benefits to enhance work-life balance.
- Employees are also granted equity through Restricted Stock Units (RSUs) and are eligible for discretionary bonuses, providing a stake in the company's success.
At Verkada, we are committed to fostering an inclusive and innovative work environment. If you are about storage systems and want to be part of a team that is revolutionizing security technology, we encourage you to apply for this .