- How Does One Of The Top Facebook App Developers Operate Out Of The Caribbean?
- Can You Run A Viral Service With 500k-800k Users Per Day With 5 People?
- What Are The Best Techniques For Managing A Distributed Work From Home Team?
Full Interview Audio
Personal Info
Favourite Books:
- The Happiness Hypothesis: Finding Modern Truth in Ancient Wisdom by Jonathan Haidt
- The Red Queen: Sex and the Evolution of Human Nature by Matt Ridley
- The Innovator’s Dilemma by Clayton M. Christensen
Most Influenced By:Naval Ravikant from AngelList
Website: http://friskylabs.com
Relevant Link: http://60photos.com
Interview Highlights
This is a condensed, lightly edited transcript of an audio interview. The full audio is available and highly recommended. The interviewee may post clarifications in the comments.
Adrian Bye: Today I’m here with Ivko Maksimovic, who actually lives on the beach in Northern Dominican Republic, I used to live in Southern Dominican Republic in Santo Domingo. Ivko is one of these interesting characters that turns up in unusual locations and does well for himself. I’ve been wanting to do this for over a year and I’m really glad that Ivko’s made the time. Thank you, Ivko, for joining us.
Ivko Maksimovic: Thank you too.
Adrian Bye: So, nobody’s heard of you, there’s not much out there about you but you’ve in fact been one of the top Facebook app developers for quite a long time, is that right?
Ivko Maksimovic: Yes, since 2008 I think.
Adrian Bye: Do you want to talk a little bit about what you were doing there and the volume so we can get a perspective on where you’re coming from on that?
Ivko Maksimovic: We basically started the day Facebook opened their API. We saw that Facebook was opening an API and we wanted to try ideas with a Facebook platform and it exploded, right there. It was the fastest growing app among those who started after Facebook publicly opened the API.
Adrian Bye: You’re working on the beach in the Caribbean, how does that happen?
Ivko Maksimovic: I guess we just narrowly focus on the things matter and we just don’t care whether we have two or three employees or whether three people are handling 500,000 users a day.
Adrian Bye: You’re from Serbia right?
Ivko Maksimovic: I’m from Belgrade, Serbia.
Adrian Bye: You moved to the Caribbean, but you’re actually quite well known in Silicon Valley among some people, right? I mean you work with Naval from AngelList?
Ivko Maksimovic: Yes I work with him. Actually the company that we started in 1999 got funded in Silicon Valley in 2004 and that’s how I got to know some people there.
Adrian Bye: Any plans for moving to Silicon Valley or are you going to stay in Cabarete?
Ivko Maksimovic: That’s a very good question. But when it comes to developing fun apps and working directly for your user not for your investor there is never reason enough to move to Silicon Valley.
Once you focus on your user, the most important thing is actually looking at the statistics and how the users behave. If you’re not linked to investors you really don’t have to be there unless you’re a connector type; unless you need to be in touch with important people from there.
Adrian Bye: Well even if you’re a connector type I’m not so sure you have to be there but we can talk about that another day! So there’s two topics that are really interesting, the big one I want to talk with you about is your software development but we’re going to talk about your viral stuff too because you’re obviously very good at it. Tell me a little bit about your team, where are they located and how do you work together?
Ivko Maksimovic: Software development is very simple; you get a fun idea, you want to have fun implementing it, you have to find the right people, and most of the right people will prefer working at home and it’s just that, it’s just the right casting. This implies one important thing, the team cannot be really big, the perfect number is four to six people.
Adrian Bye: And where is your team located?
Ivko Maksimovic: The guy who is acting as CEO is in Palo Alto, and he basically makes sure that everybody is coordinated. Then I’m here in Dominican Republic and we have two people from Warsaw, Poland and another guy in Belgrade.
Adrian Bye: What about customer service?
Ivko Maksimovic: Since we’re not selling anything we don’t have a need for complicated customer service.
Adrian Bye: I tested one of your sites, the 60photos site. I wrote to customer service and I did not ever get a response and I was very sad about that!
Ivko Maksimovic: Well, do you ever get a response from Facebook?
Adrian Bye: No, I didn’t mind, I just wanted to see if there would be a response.
Ivko Maksimovic: Fair enough. We do glance over all the responses and we try to sort out the bugs, that’s the most important thing. If there is some major privacy issue or any major bug on the system we do collect them but we don’t have time to answer all the customer service because that would imply hiring somebody and we’re really trying to keep the team very small.
Adrian Bye: Talking about development, you basically work with three guys, is that correct?
Ivko Maksimovic: Yes that’s correct.
Adrian Bye: Do you manage the development?
Ivko Maksimovic: That’s a good point. In distributed work there are some things that you have to get right. The work has to be strongly segmented; one person has to be in charge of each segment. For example, we have one guy who is in charge of all the server operations and we have almost a hundred servers.
Adrian Bye: You have a hundred servers?
Ivko Maksimovic: Yes and three people, that’s the point; we automate everything we can so we don’t have to hire anybody!
Adrian Bye: You have one hundred servers and three people running them?
Ivko Maksimovic: Actually one guy runs them, but he is a great guy! When you work like this there are three very important points. One is that the person who is in charge of one section has to be in charge of that section and when that doesn’t work you know exactly who to yell at! This implies that there doesn’t need to be much communication between people. That’s very important because when you work remotely the communication gets harder.
The second important point is that people who work for you in the team have to be great. You can’t hire average people. The people who work for you have to be self-motivated, they need to know exactly what they want and they need to have good skills. When the system is set up properly you don’t have to have daily or even weekly meetings.
Adrian Bye: You don’t have weekly meetings?
Ivko Maksimovic: No because before we get into something -and that’s the third point I want to talk about- we set an internal scoreboard. We set up the range of responses and decide how slow they system can be.
I’ll tell you one little detail, the guy who is in charge for Android app can post a new version to Play Store anytime he wants. He doesn’t need to get any approval, there is no bureaucratic schedule. We all have full freedom to do whatever we want as long as we stay within the scoreboard that we all define in the beginning.
Adrian Bye: So let’s say the guy in Warsaw who’s working on whatever features for the site, how does he decide what are new features that he’s going to add?
Ivko Maksimovic: We do have team brainstorming occasionally. The strategy is defined together, that doesn’t mean that it is designed by committee but we all push what we think is cool and we see what sticks with other people.
Adrian Bye: You do run the team, right? They all report to you?
Ivko Maksimovic: They actually report to the users. So as long as things work, we’re all good. They do report for coordination purposes but other than that, not really.
Adrian Bye: AngelList, in their hiring, are handing out stock options and they look for people that are going to stay for six years. How are you doing that kind of stuff?
Ivko Maksimovic: We have two models. We do profit-sharing, or if they want they can get a salary. Those are two models we offer to everybody, if you decide on profit-sharing then obviously there’s no upper limit but you get what you get. So if there’s not enough money then nobody gets anything.
Adrian Bye: But the profit-sharing could be a problem if the company’s not working well because the guys won’t stick around for that long, will they?
Ivko Maksimovic: Well, that’s a problem but honestly it’s a great motivation.
Adrian Bye: Are most of your guys on salary or on profit-sharing?
Ivko Maksimovic: Usually half-half. It depends on what kind of person is in the team. There are people who like this job and don’t care about money, those people choose salary. People who really like pushing things forward like profit-share. Obviously, it’s all about whether a person wants to take a risk or not.
Adrian Bye: When you say profit-sharing and salary, the guys who get salary get paid first, and then the guys who get profit-share get paid last, right?
Ivko Maksimovic: Yes, we all get paid monthly but if there’s not enough money the first to drop are the profit-sharing guys.
Adrian Bye: How do you do hiring?
Ivko Maksimovic: I don’t have an answer to that question really. It took ten years to gather our team. That’s the hardest point and it doesn’t really have any rules; we found our best people on completely random occasions but we made them stick with us because they really liked the system.
Adrian Bye: So you said your guys report to the users, everyone effectively has two measurements, right? They have the scorecard and then the users or the servers that they report to, is that correct?
Ivko Maksimovic: Yes, basically we sit first and we determine what’s important and that usually involves users. The scoreboard basically reflects user experience. We have an administration page, which we ask everybody to keep open at all times, that shows what we think are the most important numbers. Once we have that and once we know who is responsible for every number there, they’re basically reporting to the system, to the scoreboard.
Adrian Bye: I had some drinks a few days ago with a product manager from a Fortune 500 company here in New York and he told me that this idea of having developers develop stuff and test it live is a fad and it’s not going to last because developers aren’t good at interfacing with users and someone needs to represent the customer and that’s where we need product management. What do you think?
Ivko Maksimovic: I think that you just have to find better people, better coders. In order to work this way, you must have great people, they need to understand perfectly what the product is all about, what users want, what the scoreboard is. They need to be able to put themselves in the skin of the customer and this is very important because they know what’s possible. The coder is the one who knows exactly what’s possible, not the product manager.
Adrian Bye: But the key is always going to be a good scoreboard and then having developers working directly with users.
Ivko Maksimovic: And having great developers, yes.
Adrian Bye: And so you mentioned with mobile you just went and wrote the iOS, did you?
Ivko Maksimovic: I did write the iOS. I’m going to be honest, the web design and the web part was slipping away from me so I panicked and said “let me take charge of this as I keep being useless to the company”. It’s true, I’m being honest about it. In a team like this you have to make sure that you’re always useful.
Adrian Bye: We should talk about viral. Can you tell us how you actually got the product launched and how your viral loops work?
Ivko Maksimovic: Facebook does help you get viral if you have something interesting for the users. Having a viral product really means technically that the contribution of one user is going to bring at least 1.1 new users. In order to achieve that you have to play on a very basic human instincts, we call it mechanics, that will actually have users do something if you present him or her with something else.
In the case of 60photos we discovered very important viral mechanics in users. People love seeing photos of the people they admire. You like seeing photos of celebrities because presumably you admire them and the very same principle works with friends. We discovered that on Facebook there is no way to see the best of your friends’ photos, because if you have 600-800 friends you’re talking about thousands of photos, to go through them manually is a big deal. We discovered if we get all those photos and find the best ones, users loved watching them.
Now what happens is once you hit this viral mechanics loop users are going to do something predictable for you. Actually to be more precise, they are going to do a small fragment of contribution for you in almost automated mechanical way. If you can use that contribution to bring more users in that’s a viral loop. In order to get there you have to find the proper mechanics and you have to have a platform that is going to allow you that contribution can be converted into more traffic and we do this on a mutual satisfaction with Facebook.
Adrian Bye: Are you not concerned that Facebook or someone else will knock you off and you’ll be out of business?
Ivko Maksimovic: We do, that’s something that we wake up every morning with. We’re trying to do as best we can and we’re trying to be fair and not to break any rules. We’re trying to be useful to Facebook. We do keep it in mind to be useful to whoever is providing us traffic.
Adrian Bye: What if you were just starting today and you had the resources that you have but you had nothing on Facebook and you wanted to start a viral company. Would you be trying to get on to Facebook now?
Ivko Maksimovic: Oh yes. I think Facebook is a real platform. The very important element of Facebook is having access to the graph; there are a lot of viral things that will work only with friends. I think when it comes to photos and Facebook that’s a winning combination because it’s idea exchange among the people who are relevant to you.
Adrian Bye: How do you do split testing? How do you improve the quality of the viral loops?
Ivko Maksimovic: It is very important. We call it A/B testing, it’s critical because viral loops have to be very well tuned. You have to make sure that everything runs flawlessly.
Adrian Bye: How do you do it?
Ivko Maksimovic: The split test is done by whoever is in charge of making the viral loop viral and in our case that was the CEO. He was the one setting up the tests and giving to a coder. They have to be implemented in the code and you run them on a few hundred thousand users and then you end up with two numbers and you say ok, this way’s better and then we change the whole product in that way.
Adrian Bye: Right. How often do you get the whole team together? Do you all meet in the same place?
Ivko Maksimovic: We try to get together once a year. I fly to San Francisco a couple of times a year, one of the very important reasons is brainstorming, and the second is motivational.
Adrian Bye: Is there anything else you want to tell us?
Ivko Maksimovic: No, I think you’ve covered all the important stuff.
Adrian Bye: Great, Ivko, thanks for doing the interview.
Ivko Maksimovic: Thanks to you too!