Tackling your questions in order
What do you recommend to developers that are working for fixed companies now that would like to become nomads and work remotely?
Practice communication (in English - both written and verbal) until you are excellent if you are not already. There are plenty of sites like Livemocha.com for this, and communication is one of the most important parts of working remotely. In fact, I think being responsive, clear, and communicative as a remote developer is almost as important as your technical skill. Get used to over-communicating and chatting to people online and constantly being available even if you aren’t sitting at your computer doing heads down work. It goes a long way with clients. Leaving Skype on all the time and replying to emails at odd hours (even if you’re on a train, standing in line for an event, etc.) takes some getting used to. You don’t always need to be working, but you need to be responsive even if it’s just to say, “Hey I’m grabbing some food real quick, but I got your email, and I’ll push in a few minutes when I get back."
What skills should they focus on to get hired remotely (e.g. at Toptal), are those skills any different from general developer skills? If so, in what way?
Again, proactive communication and responsiveness. At Toptal, we’re almost all engineers, and we look for great problem solvers with personality and drive. To us, that’s the very definition of an engineer. But when it comes to who really kills it at our company, it’s the tremendous problem solvers who are proactive and communicative. When you’re remote, clear expectations and communication are lifeblood.
Imagine two different developers:
Person A is smart, sociable, and you always know what she’s working on. In fact, because you guys communicate so well, you could be in two separate rooms yet have the same answers to questions like: 1) What are you working on now and why? 2) What were you working on yesterday and why? 3) What will you be working on tomorrow and why?
Person B is also smart and friendly enough, but you don’t always get the updates you’d expect, and maybe days go by where you only vaguely know what she’s working on (“refactoring…” or “back-end work mostly…” etc.). Eventually cycle times are extended due to communication delays, and problems that could have been resolved in a few seconds get incorporated into code and product simply because you weren’t asked about them when they arose.
Who are you going to hire again? Who are you going to tell your friends they should hire?
Toptal started 5 years ago, back then remote work was even less fashionable than it is now (getting slowly fashionable recently stuck_out_tongue), what made you and Taso decide to run the company remotely AND focus so much on getting the developers you hire/place to do the same? Why?
Pasting an excerpt from an article I wrote the other day
We could have gone to San Francisco, set up shop, raised many rounds, and pursued Toptal in the typical Valley way. But of course when Taso and I started all this, I was still in class, and everything had to happen virtually. Taso didn’t live in Princeton, and I didn’t have time to commute to NYC or SF for meetings every day. So, using Skype as our office, we said from day one we would be distributed (meaning we would be working from anywhere but a central office), and we proceeded to “meet” people and companies all over the world using our computers. And instead of having two or three in-person meetings a day, we could do ten or twenty virtually with people who were located anywhere. We didn’t lose any time for commutes, and we avoided all of the costs associated with them. No one stared at clocks, and no one wore a suit.
While working like this, we realized that we didn’t need to physically be in Silicon Valley for Toptal to take off, and this opened up a world of possibilities—literally. Taso and I are adventurous people, so we began talking about cool places we could go that were also economically strategic so we could reinvest as much as possible back into growing the business and skip funding rounds in the meantime. We quickly set our sights on Budapest, as one does. It was significantly cheaper than San Francisco, and, to us, it was significantly more fun.
As we grew in Budapest, we further embraced the freedom of not having a physical office. We traveled to dozens of nearby countries and met hundreds of incredible people—from Topcoders to Prime Ministers to CERN researchers to infamous hackers—often in the places we’d least expect. Soon our core team members were operating from Russia, Brazil, and Argentina, and with our team’s coverage map widening every day, Toptal began to grow organically in that same way. We were able to practice what we preached—working remotely—and because we were entirely distributed and that was never a question, we figured out how to have our cake and eat it too. We had the freedom to hire talent wherever we went and build local Toptal communities in every country we visited.
And the question I always ask…Is this the future?
Of course. Staring at a clock in an office sucks, and as Tom Preston-Werner (CEO of GitHub) said, “If you do not have a distributed team you are, by definition, not working with the most talented people.”