Shriram Bharath
EVP Engineering at Botkeeper, on...
Bringing technology to outdated professions.
What we have to learn from mafia movies.
Enhancing productivity of developers on B2B products.
And leading a remote development team.
So, you’re building software for a profession that has been around for literally thousands of years and is used by every business, everywhere. Let’s start with what problems you’re solving at Botkeeper.
The problem we’re solving is that bookkeeping is such a manual and time-consuming job. You’d think that by now, there would be ways to avoid it.
We’re getting to play with all this technology that's been around for a while, but has never been applied before in accounting. We have to train computers to extract and categorize massive amounts of information from disparate sources.
That being said, I'm hoping in 10 years time that accounting is just one thing that Botkeeper does. The opportunity is massive and I think the sky's the limit.
Tell me more about that!
You know how in every mafia movie ever, the FBI always goes after the bookkeeper first?
The bookkeeper is the only one who actually understands how much money there is and exactly where the money is. But the problem is that bookkeeping isn’t currently scalable; to a bookkeeper, every client is a special snowflake.
Imagine a bookkeeper who can manage tens of thousands of customers. Now imagine the information you can glean from that and the value you can provide back to your customers. In a matter of a few years we will have the opportunity to create new products that currently do not exist.
What needs to happen today, to set up for that future success?
We need to figure out how we can minimize human involvement as much as possible and automate as much as possible. And that's no mean feat. You don’t realize until you try to do this how complex the human brain is.
We are bound by the rules that you have to play by today. But we are setting up for a path out of this. I'm a dreamer. I like to think about where the world could be two, three years from now. With technology, maybe there are short circuited ways to get from A to B without going through some of the steps that are taking place today.
If we were to reinvent the wheel today, how would we do it?
That approach must pose some hiring challenges. How do you build a team to build the solution needed today, while also considering something as radical as reinventing the wheel?
I think most engineers, if you ask them, started to write code because, at some point of time, they've written a game and they've seen how people interact with it and it lights up for them. It's like, "Oh, wow. That is so cool. I've seen people use my stuff."
We connect how tiny, tiny pieces of work fall into the larger picture. We have product managers explain what's going on: "This is what you're going to do. This is why it's important. This is who is waiting for it. This is how it’s going to change their life." Everybody understands how they fit into the larger picture. We’re constantly reinforcing that.
We’re also continually connecting engineers to how their work is being used by giving them tangible feedback - both positive and negative. The positive gives them the connection to their work being useful, but the negative feedback is as rewarding because often they realize they can fix whatever isn’t working.
What are some of the ways that you keep your engineers engaged and motivated on the challenges “of today”?
When you’re building a B2B product you don't have the luxury of having your engineers be potential customers, so you have to do all these things to help them understand. Engineers are not accountants, so they don't understand accounting; it's still tasks and workflows for them.
Engineers are better if they really understand what they're working on. And if you can't get them there, then they can't be as efficient, as effective as they could be. So everyone's better if everyone understands.
What are some of the unique challenges of managing developers when working on B2B products, and how do you overcome them?
Our engineers are all remote. We have people literally all over the world. But the requirement is everybody is working on an East Coast time zone - roughly between 9:00 to 6:00 is the sweet spot. We are mostly up and down the East Coast. Now we are starting to hire in Central and South America because they line up nicely with the time zone.
That way we can ensure real-time engagement to ensure questions are being addressed and no one is waiting if they’re spinning their wheels. Everyone is on Slack, all the time.
How do you ensure the communication is happening to make all of this possible, especially when you’re managing remote developers?
I had been building software for awesome companies - Qualcomm, Yahoo, Pandora - for almost 10 years when my manager sat me down.
“You’ve got to make a choice”, he said, “You want to build all of these things, but you can’t do it yourself. You need a team.”
That was the moment that I realized: my dreams are too big for me to build myself.
Things worth building require teams of committed, focused people working together. Nothing makes me happier than helping assemble those teams to together scale those challenges!