How Verkada’s Hardware and Software Teams Work Together
We recently invited the team at Job Portraits to visit our office and identify what makes our work culture unique. This is one of three posts they developed to help tell that story.
To put it lightly, user experience is not a selling point for most business security systems. But at Verkada, great UX is a core value. As they prepare to ship a new customer-centric security camera, we asked Chuck Gillen-O’Neel (Senior Firmware Engineer) and Kunal Bajaj (Hardware Program Engineer) to reflect on how their teams take quality to the next level.
What do you do at Verkada, and why did you join?
Chuck: I’m a senior firmware engineer, and I joined about eight months ago. Before Verkada, I did some consulting and was at a company called Lytro. That was my first experience working on camera software and I really liked it, so I was excited to do more at a startup that had been so successful already.
A couple of things struck me when I interviewed. I did a take-home exercise first, and they were really careful about respecting my time. They gave me a week or two to work on it but also made sure I knew they didn’t want me to spend too long. Then during my onsite, I did a pair programming session with Benjamin, one of the co-founders. I liked that it was collaborative, not just me at a whiteboard. There was a lot of back and forth.
“When I interviewed here, I wanted to make sure they really understood how complex hardware is and how much time, iteration, and money it takes to do right.” — Kunal
Kunal: I’m a hardware program engineer. I joined almost a year ago after working at Nest Labs, where I was focused specifically on sensing subsystems for the Nest Protect, which is a smoke and carbon monoxide alarm. Here, my job is much broader — making sure all the different elements of the hardware stack work together. That appealed to me. I also wanted to get back to a small team. I just like that energy.
But I knew how difficult hardware can be. A lot of companies try and fail. So when I interviewed here, I wanted to make sure they really understood what they were taking on — how complex hardware is and how much time, iteration, and money it takes to do right. A lot of it hinges on relationships with the partners who will actually manufacture your product. And Raj, our Director of Hardware Engineering, has been building those relationships for years. He’d already done four products on his own and knew the industry inside and out. Given his background and the product-market fit Verkada had found, joining the team here felt like the right move.
Tell us about a recent project you worked on together.
Kunal: We’re about to launch a new camera that’s different from what we’ve done before — the dome-style cameras you see everywhere in enterprise. Our design team came up with a ball-and-saucer style that’s more customer-centric; it’s almost a consumer-enterprise hybrid.
Making something small and beautiful is orders of magnitude more difficult than what our industry is used to. It took a lot of iteration to get the necessary levels of optical, mechanical, and electrical functionality . We had new challenges with everything from the heat the camera puts out to the way light reflects off the glass. Even tiny things like how much torque you put on a screwdriver can affect the operation of the product, so we travel to check in on the assembly process every couple of months.
There’s a level of care here that I don’t see with most enterprise products, where the emphasis is usually just on speed. If we’d skipped all those iterations and shipped a camera that’s like everything else out there, it might have saved us a few months. But because we took the time, we have a truly quality product that we can be proud of.
“There’s a level of care here that I don’t see with most enterprise products, where the emphasis is usually just on speed.” — Kunal
Chuck: The new camera was really interesting from a software point of view, too, because we switched chip vendors to add new capabilities. There was a lot that we either had to change or wanted to take the opportunity to change. It’s a higher resolution camera, for example, so we’re using different video encoders and decoders.
Deciding what to change is a balance. Because we had a good process in place for doing in-field updates, we wanted to keep as much of that as possible, for reliability and to make sure we didn’t introduce too much risk. But then there were other parts of the code we wanted to improve. Some things we basically re-architected. As Kunal said, that work takes time. But we believed it would be better in the long run.
What’s the culture like at Verkada?
Kunal: One thing I like is that I feel completely safe making mistakes. There’s a level of trust and camaraderie within and between the teams, and I don’t ever have to worry about asking questions or feeling like I’m walking on eggshells.
Chuck: Yeah, there are some companies where the second you find a problem, it’s a big fight over who’s to blame — Hardware or Software. But it’s not like that here at all. We had an issue recently with the new cameras, where the IR LEDs had worked fine during testing at the factory, but not when we ran our own software. We just looked into it, found a bug, and fixed it. It’s as simple as that.
Verkada also has a very startup kind of vibe, which I like. We’re trusted to get our jobs done, and no one is keeping track of seat time. If you need to run an errand in the middle of the day, that’s completely fine.
Kunal: We also do a lot of work cross-functionally. Hardware and Software meet at least once a week, but when we’re in the early stages of a project, we’re talking almost daily. Whenever something comes up, we can just walk over to each other’s desks and get it ironed out.
That includes our leaders — they’re all very hands-on. Filip will come by your desk, sit down, and give you his thoughts on whatever problem you’re working on or see if there’s anything he can do to unblock you. It’s rare to get that level of care from a CEO.
Chuck: He even installed the new camera in his house so he could file bug reports for us. He has a great eye, so it’s cool to have him right there with us, doing what needs to be done to get the product shipped.
What do you look for in new team members?
Chuck: You need to be a self-starter — someone who will go and find the information you need, whether it’s by doing research or talking to other people on the team. At a bigger company, it might make sense to have a really specialized workflow, but that can also create silos. What happens if the issue you’re working on affects an area you aren’t familiar with? I think it’s good to be willing to jump in and learn about things you don’t do every day, especially on a smaller team like ours.
Kunal: Absolutely; that system integrator mentality is crucial. If you’re dealing with an electrical engineering issue, it might be impacting mechanical engineering at the same time. And because we’re moving so quickly, it’s critical that everyone is communicating and collaborating as often as we can.