Introduction to toptal

Toptal is platform for Freelancers to meet clients from all over the world. It is similar to freelancer.com, elance.com or upwork.com but with a big difference, Toptal claims to have the best freelancers there are thanks to a high level interview process. Here is a video that will help you better understand Toptal.

[embed]https://vimeo.com/45519288[/embed]

It took me two months to go through all the interview steps to become a Toptal Engineer, part of the so called The Top 3%! Here is how things went:

Interview process

Language & Personality (26.4% pass)

The first step in the screening process is a comprehensive language, personality, and communication interview. Candidates must be able to read, write, and speak English extremely well.

You need to show them that you are invested and passionated about your work (maybe you have a blog or you commit on famous open source projects etc.). Find something that makes you an above average developer and start from there.

Be yourself, do not be stressed and everything will be alright.


Timed Algorithm Testing (7.4% pass)

This step checks for computer science fundamentals, problem solving ability, and intellect. I spent days going through old algorithm books and refreshing my memory about famous algorithms time complexity. If you do not have at least the background listed in this article: JavaScript background to have before any job interview with top companies do not even try.

You will have 90 minutes to solve three algorithms on https://codility.com/. To be honest you cannot do all of them in the given time, focus only on two but make them great! Obviously I cannot disclose the content of those tests but let just say that they were really different from each other and therefore required a large algorithm knowledge.

This is the most difficult part of the interview process. If you do not spend some time learning algorithm basics you will fail. My advice is to get back to your university books and train as much as you can. Open Codility and start coding! If you need a little help my solutions are available on this post: Codility efficient algorithm solutions in JavaScript


Technical Screenings (3.6% pass)

Each candidate is screened by at least two certified Toptal engineers. Each screener will provide specific live coding exercises that cover core topics within the candidate’s primary tech stack.

You will have the choice between a back end or a front end test. I obviously selected the front end test. You will have real life problems to solve using a specific technology. For me it was jQuery, and to be honest at the beginning I was a little bit skeptical on my ability to succeed as I did not used jQuery for a while but I sorted things out pretty easily.

If you have the experience you claim to have, you should not have any difficulty with this step.


Test Projects (3.2% pass)

Ok now we are talking! If you arrive here, it means that you are pretty good at what you do but this step is somehow special. It tests your ability to commit to a project and your willingness to become a Toptal engineer! It is a great way to demonstrate technical competence, thoroughness, professionalism, and integrity.

I have heard there are several projects that you can end up with. One of them is a classic Todo list but the one I got was the creation of a Web page form that creates new users dynamically. I received around 20 wireframes that I had to bring to life in two weeks time using the technology that I wanted.

It had to be pixel perfect and fully functional. I am more of a mobile (cordova), single page application kind of guy so I actually learnt stuff doing this project. For example to help you doing pixel perfect pages you can use the Perfect pixel Chrome extension.

What I believe is that they are trying to give you a project that is a little bit far from your comfort zone to test your ability to learn/discover new stuff while delivering high quality projects.

I chose to use Webpack, Bootstrap 3 and jQuery and I spent around 20 hours to finish this project.

Once it is done you will review the project and the code with a recruiter and that’s it, the interview process is now over and if you are lucky enough you will be part of Toptal :)

Select only technologies that are mature enough, you do not want to waste time on bugs that are not part of your code.


Acknowledgment

I personally wanted to thank recruiters and engineers that I talked to. They are really professional and are here to help you succeed.

Conclusion

Overall this experience was really good to me, during the process I wrote greats articles JavaScript background to have before any job interview with top companies and Codility efficient algorithm solutions in JavaScript that really helped me reviewing my basics and taught me that in life nothing is impossible as long as your are brave enough.

In case your are interested in my profile: http://www.toptal.com/resume/julien-renaux