The developer that sits on the other side of the world and doesn’t hear from you for a week won’t be able to do good work. You have to dig into the problems together. That’s what we do.
Heini Zachariassen is the Founder and CEO of Vivino, the world's largest wine community that provides 26 million users with wine ratings, reviews, average prices and buying options. Having co-founded several startups (including antivirus software company BullGuard), Zachariassen has a background in software development and mobile innovation and a track for building the successful global business. He leads the team from Vivino's headquarters in San Francisco.
Choosing the right dev team is a preliminary task for any startup, but it’s not a simple one. That’s why we decided to reach out to someone who’s been through the process successfully: Heini Zachariassen, entrepreneur, and Founder of Vivino. We don’t exaggerate when we say that today Vivino is the fastest way to find the perfect bottle of wine at the supermarket. Within the last few years, Vivino has grown to become the most popular wine app on the market.
Take a look at the numbers
Knowing that someone like Heini is very busy, we didn’t expect to fit into his tough schedule. But thankfully, he was happy to share his experience with our readers. Within a week we agreed on a time for a call, and despite the 10-hour difference between Ukraine and San Francisco, we found a slot that worked for both of us.
Q&A with Heini Zachariassen
Q: You know, one of the biggest problems that new entrepreneurs face is the choice between a local or a remote dev team. How did you approach this? I know that both you and your co-founder have a technical background, so how did you start the development process? Did you start the development by yourself, or did you hire someone to help?
A: For us, it was a bit of both. Theis, my co-founder, and I, are not coders. He’s more on the product side, I’m more on the business side. So we started by deciding everything on paper, doing specs and then having outsourced people build them for us. From day one, what we used was outsourced resources. The first guy that we had was from Belarus. I think it made great sense. We started outsourcing to people all over the world. We had people in India, Macedonia, Ukraine, Belarus, etc. Theis and I previously worked in another company called BullGuard, and we had a big office in Romania. We both were fond of Eastern Europe.
Q: How did you choose the outsourced developers? I saw that you were looking for them on Upwork and Elance. Did you use anything else?
A: The first thing that you should understand is that a person might be a very good coder and programmer, but he might be not as good at a long distance. So you need someone who is a great developer but also someone who is good at long distance relationships, which is very difficult.
We found the developers on Elance and other outsourcing websites. We also did a lot of testing. We were in two locations, and so we initially built two versions of the app. It wasn’t expensive, as it was a very small project. We sent it to two people and paid both of them, but you always end up with one person who is better--and then you work with that person. In my experience, if that relationship doesn’t work well at the beginning, it never gets better. So if someone doesn’t work well for the first two weeks, just move on and find somebody else. Long-term relationships need to work well from the beginning.
Q: How big was your team?
A: Back then, very early on, we had one guy in Macedonia and one guy in Belarus, and just Theis and me. So, that’s how we started. We paid the guys per hour. The guy in Macedonia helped us with the server part and the website, and the other guy did a bit of the front-end.
Q: What were the main requirements for those programmers, apart from that it should be someone good at long term-relationships?
A: I think when you start early on, you don’t know what exactly you’re building. But you try to build the product that you can test and see if it might work. At that point, I think it’s very effective to use people who are good at full-stack. So, find a full-stack person. Of course, a full-stack person will never be great at everything, but that’s fine.
Find someone who can do a bit of front-end and a bit of back-end. That’s much easier at the early stage than to have four different people all around the world with whom you have to coordinate. You’re not ready yet. Quality at that stage is less important than speed.
That’s why, at the early stage, I’d recommend finding someone who is a full-stack. Because that person doesn’t have to talk to a lot of people. He can talk only to himself and get the stuff done. That’s it.
Q: What can you say about the Ukrainian developers?
A: We’ve been very pleased with the Ukrainian developers. We communicated really well with them. Let me say this: Ukrainians always share their opinions...and not everybody does that. You know, if we told somebody: We think it should be built like this, we need the developer to respond with: You know, that might not be a great idea. You should build something like this. Our experience with Ukrainians is that you get a real feedback. That’s been very important for us.
Q: Glad to hear that! By the way, did you start from developing a prototype? Or did you start from the specs and that’s all?
A: Well, at that stage we didn’t do anything clickable. But we did a mockup in Balsamiq. So we had Balsamiq, specs, and documents.
If you’re not a technical guy, you should learn how to build the product and you should learn how to use Balsamiq. It will help you explain exactly the kind of product you want to build.
Q: So, as I understand, you have several offices, one here, in Ukraine, as well as offices in India, Copenhagen, and San Francisco. So what advantages does this model have compared to remote workers?
A: First of all, let me explain this thing: There should be a reason why your team works around the world. Of course, life would be easier if everybody was sitting in one place, right? But, let me tell you what we’ve done: We have a big product and engineering office in Copenhagen, and most of our product designers and engineers are there. They are supported by a small office in Lviv, Ukraine.
And here, in San Francisco, where I’m based, we have the business side: It’s business development, it’s marketing, it’s part of the management, our sales--it’s all is over here. And that makes sense because we need to be here, we need to be close to Facebook, Google, and the wine industry in the US. The US has always been our biggest market. And we feel that if we want to be in the American market, we must be here, we must speak to the American market. Of course, it’s a very costly affair, but it’s really worth it.
On top of that, we’ve now added a small office in Dublin. Dublin is our great hope for customer support. We also have people in every market directive, people in Italy, France, Spain, Germany, UK, the Netherlands and so on. So, we have a lot of locations at this point.
Q: In general, how often do you meet with your remote teams?
A: Well, the team in Lviv I don’t work a lot with. Theis, my co-founder, is working with them on a regular basis. On the other hand, people from Lviv come to Copenhagen on regular basis. And I think that helps. At the same time, when you’re an early stage company with not much money, you can do without it. But if you have a little bit more money, people are an investment you need to make
Q: Many entrepreneurs worry about managing a remote team over a significant distance, time difference, and so on. How do you manage all these problems? Do you have any tips how to keep people motivated?
A: The first thing you should do is be specific. Write everything down in detail. The worst thing you can do is to send a request to your developers and expect them to come back with what you want. It doesn’t work.
Instead, you should send them the specs and work closely with them. We’ve done a lot of this via instant messaging: Skype, Slack, whatever you prefer to use. That is the most crucial tool for this. A lot of developers like to use a written specification, like Skype or Slack, because their verbal English might not be as not good as written English. But the written English is always perfect. So we use a lot of chat with everybody, and it works very well.
Make sure you check on the work every morning and evening that you’re available for anything. The developer that sits on the other side of the world and doesn’t hear from you for a week will not be able to work well. You should dig into the problems, and ask how he did this or that, and so on. That’s what we do.
Q: And what are you using now for making the specifications? Are you still using Balsamiq, or are you using anything else like Uxpin or Axure, for example?
A: Now it’s a little bit different. It’s drawn in some very high-level program, then we send it to the designers, and they make it perfect. And, of course, after that, we build specs for everything. It takes more time. If you’re are an early stage company, you can just do the wireframes, then have somebody build it, and you see what’s going to happen from there.
Q: I know you recently added the feature that allows users to compare wines on the menu in a restaurant. What are you working on now? What problems are you solving?
A: We have the biggest database in the world and the biggest community of wine drinkers in the world, but we’d really love to do something that nobody has ever done successfully yet: Giving people amazing recommendations. We started offering the ability to buy through the app, and we want to get into the position where we know that we can recommend the wine that you’ll really love based on what you’ve rated and on the community rating. We use machine learning and all these very advanced technologies for doing that. We are definitely not done yet, but it’s getting much better and more interesting.
Q: By the way, you know, for now, Augmented Reality is getting more and more trendy. For instance, you can go to the supermarket, point the screen of your smartphone at the wine stall, and immediately see the wine’s ratings. Are you thinking of developing something similar in your app? What are your plans?
A: Well, let’s put it this way: If that technology really takes off, then yes, definitely. I think for us, it’s a little bit too early. But I like the idea. I see that it’s coming, but let’s give it a little more time so the technology matures a little bit. Otherwise, you’ll spend a lot of resources building something that is okay but not amazing. I’d rather see how far this technology goes and then build something on top of that.
Q: So, having all this experience, what would you say to startup folks who can’t decide if their dev team should be remote or local?
A: In a perfect world, you have a lot of money and you can find an excellent developer sitting next to you and you can build it together. Right? Honestly, that’s the best way to do it. But in the real world, you’re an entrepreneur with no money at all. In that case, find someone from Eastern Europe. Just remember the time zones because it’s helpful to be in a similar time zone. What you need to do as an entrepreneur is to figure out what kind of product you want to build and don’t ever let the developer build the product for you.
Don’t say: I want something like this.
Say: This is what I want. Go, build it. And always think minimum viable product. Always try to build as small as possible. You should build small and then release. That’s what I recommend.