If you can distinguish between rook and bishop, chances are you’ve heard about Chess.com – the world’s #1 chess website. Chess.com is not only the most popular online chess service with over million games played every day in 8 different types of chess (how about “3 check” or “crazyhouse”?), it also features a vibrant forum and social network, a news feed, a chess academy, a coaching platform, tactics and puzzles, live tournaments, separate website for kids (Chesskid.com) and even ChessTV!
It all started in 2006 when Erik, the CEO, who is my guest today, and his friend Jay decided that the world needed a better place to enjoy chess online. Today Chess.com has almost 23 million registered users and employs more than 100 team members – all of them working remotely.
In this interview Erik shares his thoughts on why they decided to go remote, what challenges they encountered and how they addressed them, as well as what qualities a developer should possess to become a part of Chess.com team.
Yurij: Can you tell me a little bit about the beginnings of Chess.com? And in particular, at what point did you decide to hire your first remote engineer?
Erik: In 2006, I bought the domain named Chess.com from a bankruptcy auction. The idea behind Chess.com was a social platform for chess players, but I didn’t intend it to be as big as it is today. We just started with some ideas, and we wanted to build it. In 2006, the web development options were different. I think it was Joomla and Drupal, but very early versions. We decided to try, I think, with Drupal, and then I was like – “Man, what if we find an existing Drupal developer?”, because my buddy and co-founder Jay didn’t want to build everything from scratch. So we needed to customize it and I was looking at hiring someone in the Bay Area. I was doing it all self-funded – I didn’t want to raise money or anything – so the first thing I thought of was getting a freelancer. I just googled and searched for freelancers, and came across the website “Rent a Coder”. I found some people, chatted with them, interviewed, and then found a guy who appeared to be a match. He turned out to be terrible, but we didn’t know that at the start. He was billing a lot of hours and not producing quality code, so eventually, we thought that we would have to do this ourselves. My first experience was bad because I was new to it and I didn’t know how to verify the candidate.
Yurij: But you still decided to try again with someone on a freelance basis. Why?
Erik: Well, I came back to this point a couple of years later, because at the beginning we decided to build it on our own. When we started to grow, we needed more help. I was looking on Rent a Coder, Elance, oDesk (now UpWork – Y.R.), and then I started to learn how to do a better job interviewing, finding good people, giving them tests, and so on.
When I first met Erik, we had a lunch in a restaurant in Mountain View. I took a chess set with me - because, you know, this is what you do when you go for a meeting with CEO of world's #1 chess portal. We played as couple of blitz games - and it quickly turned out that we are roughly of the same strength as players. A rare luck, I must say.
Since then we have played 19 games, the current score being 10.5 - 8.5. Erik suggested to include one of our games into this interview - in case there are any chess fans reading this blog. I couldn't choose any single game - so ended up with two.
The first one is a great example of Erik's aggressive positional attacking style. Playing King's Indian defense as black, he took full advantage of the extra space on the King's flank and squashed me almost effortlessly in 26 moves. The final position shows full dominance of the black pieces.
Yurij: I see. Why do you think most of the startups have concerns about hiring remotely? What is it that you and other founders who have remote teams know about the benefits of it that the others don’t or underappreciate?
Erik: It’s really hard to hire because some of the best talent goes to some of the best companies. But if you’re not constrained by the traditional office work approach, you can benefit by going remote. There are costs savings, and then, of course, a huge sense of freedom when working remotely. A lot of startups and bigger companies have made the same mistake thinking everyone has to work from an office from morning until night. I hate that mentality. I don’t think it’s healthy. Having a constant state of freedom – it’s fantastic. Poeple work, but on their terms.
Yurij: Well, yeah, the way you put it – to me it comes with a suggestion that maybe people are just carrying their previous experience with them, and those who worked themselves in offices in large companies just cannot imagine that things can be done differently – and try to re-create this model when starting their own companies.
Erik: But there are downsides and challenges of working remotely for sure. I mean – some people get lonely. It takes a certain personality to communicate over distance well. But if you build a culture around that, like our company has and others, you’re set up for success. I think in many ways it’s harder to be successful with the office model. One of our engineers told me once ‘Working from my home is worth a hundred thousand dollars just on its own – because of the freedom and because of the time saving’.
Yurij: That’s a good one. So your team is distributed, right? It’s not entirely remote and you have some people in-house. Is that correct?
Erik: That’s a weird distinction because everybody is remote, there’s no office. We have some salaried team members, and we have hourly. I don’t really think of them too differently. Some people are more part-time, some people are more full-time, but everybody manages their own schedule, their own equipment, their tasks. It’s pretty distributed throughout.
Some are salaried team members, some are hourly. I don’t think of them too differently. Everybody is remote and manages their own schedule.
Yurij: So we can put that it’s entirely remote, because there’s no physical office, no this kind of setup when everyone is co-located and sitting working together?
Erik: Right. There’s a couple of people who co-locate in Serbia and two guys in Oregon, but that’s just their own choice.
Yurij: By the way, can you name some countries where your developers come from? I’m sure it’s a long list, but just to give an idea.
Erik: USA, Canada, Brazil, Argentina, Ecuador, Serbia, Russia, Ukraine, Poland, Pakistan, Portugal…
Yurij: Pretty much around the globe.
Erik: Yeah. Although honestly, we don’t really hire from Australia and East Asia because the time zone difference gets really tough.
Yurij: Hence my next question. As you mentioned, your development team is distributed across a number of time zones while you yourself are based in California. So how do you beat this timezone challenge? Do you have any tricks to share?
Erik: I’m selfish, which means everybody learns the Pacific time.
Yurij: So basically, you ask them to adjust, to shift their business hours a bit?
Erik: In a little bit. They don’t have to adjust a lot, I also adjust my hours. I make everybody use California Pacific Time for discussing and scheduling, but everybody kind of adjusts their schedules. Some people in Europe work later. I get up before 5 am each day, answer emails and do some things for people who are online. Everybody makes some small adjustments, and that’s pretty normal like you know – people check their email and Slack throughout the day at the different time, even if they’re not technically working.
Yurij: Yeah, actually, you’ve already answered my next question – I was going to ask you when you usually wake up. For example, for Ryan from ProductHunt, it’s 5 am, not only because of the team but also because many products are launched early on and he has to follow. For me it’s 6 am, but I’m working on it.
Erik: I go to the gym at 5:30 in the morning, so I usually get up at 4:45 to do some email and other things. Then I go to the gym and then come home and still have time with my kids… and with more email.
Yurij: Cool! Continuing the time zone topic – are you aware of this 80-hour work week thing? Do you believe in it, are you using it in any way?
Erik: I think there are some advantages to having coverage around the globe time zone lines, but I don’t think that people necessarily do faster or having two teams working on the same thing. I don’t really think it’s a huge multiplier. But I do believe it has some benefits and some downsides, too. It’s a bit of an overstatement, I think.
Yurij: I see. So you didn’t try to build a process around it, like to take the benefit of these different time zones?
Erik: No. It’s nice for some coverage but it’s not a real benefit to us.
Yurij: Okay. Now, back to the early on, when you started building the team, the distributed team – what were the biggest mistakes that you made and that you would probably avoid if you did it now?
Erik: The biggest mistake I made was not doing enough personal connection. Today I require video interviews and tests from every candidate. You know, I’ve learned that you have to be very careful online with remote workforce. There are people who represent themselves to be somebody they are not and state that they have skills that they don’t have, so now we’re much more careful.
Yurij: Okay, and how do you know whether they’re telling you the truth or not? Are there any methods to verify the skills before they are hired? How do you approach that?
Erik: Yeah, we do a lot of video interviews, and then we give challenges where they have to write some code and post it, and then, you know, the technical interviews – we just take more steps. To be honest, it could be shortcut by working with more verified remote companies like you at YouTeam do, and I understand that’s a value. We tend, however, to work more directly with individuals.
Yurij: Ok. So let’s say I’m a Java developer based in Lviv, Ukraine. What qualities should I possess to become part of Chess.com team?
Erik: Great question. First, we look for cultural fit. That might sound like we want something very narrow, but it doesn’t really mean that. We have people who work from everywhere, but our cultural fit is a sense of passion, a sense of humor and kindness – those are very important to us. You can have those qualities and be from anywhere, but if you are a closed personality, or you are business-only or don’t seem friendly and warm, then you’re not going to fit with our company. So first we’re looking for a cultural fit. And then secondly, we look for technical skills, and not just the strongest technical skills but also experience working in a large team and on a large product.
There’s a lot of people who, you know, think that they’re the greatest developer but they really don’t know how to work with a team, and working with a team requires some compromises and negotiation. You need to know both how to work with the code and how to work with other people. Some people only want to write brand new code that they understand, or would join a company and not be willing to jump in, work with legacy code, work with documentation, ask questions – and not be open-minded to the environment they’re coming into.
First, we’re looking for a cultural fit. Secondly, for technical skills. Then, also the experience working in a large team and on a large project.
Yurij: What I already know – one of Chess.com’s hiring criteria is that the candidate has to play chess. Beyond the obvious reasons and probably this is a part of cultural fit that you’ve mentioned, do you think there is some correlation between having a strong chess mind and being a good programmer? Maybe you have some examples to give for that?
Erik: We actually have many developers who don’t play chess! It’s not a critical thing. However, we do tend to look for people who are passionate about the product, because people who are passionate about the game, who are passionate about chess tend to connect better to it and thereby understand it better. But that’s it. There are many people on the team who don’t play chess seriously, but they respect the game and the community. They respect the passion and that they are building things that millions of people are using, and so for them, that’s exciting as well, and they enjoy that. Do I think that there’s something correlated between chess and programming – maybe. Chess is a logical game, and there’s a lot of that in programming. There is some engineering and creativity in chess that can be taken over to programming, but not necessarily.
I think many people view chess in different ways – some as a game, some as a sport, some as a science, some as an art, some as a math problem, some as an engineering challenge – and I think all of those are interesting.
I think the most important part [about working with remote employees], is to put in some time when you create a human connection. – Founder of Chess.comClick to tweet
Yurij: Most of the founders I spoke to when answering the question “What’s the number one challenge of having a distributed team?” named asynchronous communication. For example, Zapier developed their own software called Async to address this problem. They use it internally because they have around 300 people on their team. Do you have this problem with your team and if you do, how do you address it?
Erik: Yeah, we sometimes do have this problem. It can be hard. I think part of this is you solve it culturally by encouraging people to have discussions, to connect. But it is a challenge because there are so many different places where conversations can happen. They can happen in GitHub, email, Slack, they can happen in Jira, so it is hard to have this all come together.
I think the most important part is to put in some time when you create a human connection, like face to face on video. We try to do Zoom conferences or Slack video conferences from time to time so that people see a face, connect a human to the code, make a real human connection, and that always makes the other communication easier in-between.
Like some of the other remote companies, we also try to get together in person once a year and bring everybody to one place, so they can meet, have dinner together or play some football, soccer, do work, and share some jokes. And then it always makes communication easier, it makes people more willing to reach out directly and interact. So again, one thing is just to culturally connect to other humans, and then the second part is to find the right tools for that. Sometimes Slack is the best for certain types of things or certain teams, you know. But for other people and teams, GitHub comments are better. It’s a little bit of just figuring that out.
In this second game I managed to find a fun tactic that tipped the scales to my favor. It all starts with 16. Bxa6, which initially looks like a bad move, because the Black immediately trap the bishop with 16. ...b5. Yet after some preparatory moves comes the sacrifice, which reveals the treacherous plan: 21. Bxb5! Thanks to the double attack 25.Nxf7 the Whites regain the piece and enter the endgame with 2 extra pawns in their pocket. After loosing the third pawn eventually Erik has resigned. Wooohoo!
Yurij: My last one is a traditional question I asked every founder in this series of interviews. We are all builders here – engineers, geeks, product people. We like building stuff. And there are always those ideas that you think – ‘Oh, I wish I would build this someday if I was less busy with my current project’. Hence my question – if you had some spare time besides working with Chess.com, what product would you build?
Erik: Well, first of all, I’m not sure if I want to share my secrets (laughs). I would love to get into so many different things, but I would really love to work on another passion gaming project that’s not chess-related but something like Minecraft or just some kind of indie game that has a lot of creative potential. I would love to continue with that type of team.
Yurij: So this is about building the actual game mechanics itself, being a game designer?
Yurij: Well, I hope one day I will see that. That would be great. Count me in as a beta tester. All right, thank you very much indeed, it’s been a great interview.