I have seen Toptal mentioned more and more recently, and since I worked through Toptal for almost two years, I thought it would be fun to relate what that experience was like.
Basically, Toptal is a freelance platform that freelancers have to interview to get into. Toptal has a reputation for keeping out mediocre freelancers and clients. In theory this means that clients get great freelancers, and freelancers get great clients.
So why did I join Toptal?
In 2017, I left my job in the US to be a bum and travel around Asia for a year. After a year had passed, I still did not want to go home yet. But I also did not want my skills to stagnate, and I did not want to keep draining my savings. So I decided to get into freelancing.
I started out placing bids on some of the big and popular freelance platforms, and I got some good work through those, but overall it was pretty dodgy. I was placing tons of bids and only getting a small amount of quality work.
Then a couple of people at a coworking space in Siem Reap, Cambodia encouraged me to apply to Toptal. I was accepted, and pretty soon after that I started a full-time contract with a major US company.
As I understand it, everyone gets interviewed basically the same way, and Toptal explains the process here.
First there is a "language and personality" screening to verify that you can speak English and are not obviously a serial killer or something. English is my native language and I hide my evil well ಠ◡ಠ, so this part was no problem.
Next, there is an automated coding test. If I remember right, there were four questions. For each one, I had to write code, and it automatically scored my answers. I saw my score at the end and I thought it did not look very good, but apparently I did pass.
Then there was a live coding test. A Toptal engineer gave me two coding challenges to solve live in a shared code editor. Overall the types of questions in this phase (and the previous one) and their difficulty were similar to what I have experienced when interviewing with other companies.
Finally, there was a coding project. I had a week to do it and it was supposed to take about ten hours. I think I actually spent closer to fifteen hours on it. The project was to build a REST API. For the most part, it was not difficult for someone who has built a REST API before. However one part was pretty challenging. I had to implement a domain specific query language and parser. There were a few issues and bugs with my implementation, which I told the interviewer about, and he did not seem to mind. He did not say this, but I suspect this part may have been extra credit.
After submitting the project, I was officially invited to join Toptal. Throughout the interview process, the interviewers were punctual, courteous, and I felt that the questions asked were appropriate.
Inside the members-only area in Toptal, there is a jobs board not unlike what you would see on any other freelance platform. You can search for jobs that seem fitting and apply to them with a short note about why it would be a good fit.
What's different from other platforms is that the jobs on Toptal's board are all legit. They are mostly posted by corporations who are highly motivated to find someone for the job, and every job has a specific Toptal recruiter who is responsible for it. On other platforms, I was noticing that the vast majority of job postings expired with no one being hired. Not so on Toptal.
After you apply for a job, the Toptal recruiter responsible for that job decides whether to pass on your info to the client or not. Then the client decides whether to interview you or not, and whether to hire you.
I think I applied to about ten jobs before I got an interview request. Both myself and the client decided it was a good fit, so we tied the knot!
The job was a full-time contract and was intended to last for about three months. As it turned out, they kept finding more work for me to do, and I ended up working with them for almost two years before I decided to move on.
The client was a major US company with a large engineering department. They were pretty happy with the quality of work from Toptal and ended up hiring dozens of Toptal engineers. Because of this I got to meet a lot of Toptal engineers and I would say this about them: most were very good or great, and a couple were among the best engineers that I have ever had the pleasure to work with. But! In my opinion a couple were sub-par as well. So I would say that the average Toptal engineer is very good at what they do, but there is definitely a range.
The team I worked with was great and I did not feel like "just" a contractor. They put a lot of faith and trust in me and included me in their decision making processes. We all became friends and are keeping in touch. 10/10 would do again! I was also impressed by the team-building and coordination efforts on Toptal's side. Since Toptal had so many engineers working with this client, we had regular Toptal meetings together where we discussed the work we were doing, and Toptal executives (?) shared info with us about the overall perspective of how things were going with this client, where the engagement was headed, that kind of thing.
Eventually I moved back to the US and decided to seek full-time work and bring this engagement to a close. It was bittersweet 😢
Toptal has a blog where they feature technical articles written by Toptal engineers. I wrote one about Discord bots and the reason I am going out of my way to mention it here is because I still get emails sometimes from people asking about my availability to help them with Discord bot development. I do not freelance anymore so I have to decline, but it is great to see that writing in Toptal's blog has generated significant publicity for me.
It is probably clear already but I am very happy with the experience I had working through Toptal. I worked with great people, learned a lot, and could do it from anywhere in the world.
Finally, just to be clear, this article is in no way endorsed by Toptal and they do not know that I am writing it. It is just my opinion!
If you have any questions, feel free to leave a comment and I will do my best to answer.