All about Toptal
25 Dec 2021
[You can read Uzbek version here]
Introduction #
Have you ever heard of the Toptal Freelance Community? Yeah, that company where only top 3% talent is hired. That one. Anyway, in this post I would like to talk about getting hired into the network as Software Engineer and working with clients from my own experience.
Why another how-to-get-into-toptal article? Yes, there are a bunch of articles exploring what I am about to talk about. My main reason is to raise awareness among my Uzbek peers that it is more than possible to get in and pursue a successful career at Toptal. Another reason is that I am contacted by people a lot on this topic, now I can send them this link. You see how you got here? :P
Disclaimer: This article is mainly about working at Toptal as a Software Engineer. If you are in a different profession, the interview process will be different for you.
Why join Toptal (on not to) #
Everyone has different preferences when it comes to work. So, the best I can do is to enlighten you on advantages and disadvantages of working at Toptal.
The pros are:
- Good hourly rates.
- Professionals you can learn from and surely become one of them.
- Access to different interesting projects & freedom to choose.
- Different engagement options: full-time, part-time, hourly. For example, if you feel like spending more time with your family, it is easy to switch to a part-time commitment.
- Active community with many events organized by members
… and the cons are:
- Remote/Freelance work might not be your thing. Working with clients will require a bit more than pure coding.
- If not careful, over time your resume may get filled with short-term positions. Though it can be avoided by only going for long-term projects, you still might want to take that cool project that unfortunately lasts only 4 months.
- For the same reason above, short-term projects may not be as fulfilling as long-term ones.
- Time zone differences. Expect at least a 3-hour difference. Though you are not expected to work the same hours as your client’s timezone, it still is an issue.
- Though most of the time you will have clients, it is still your responsibility to find gigs. It is a freelance network, after all.
Alright, we have 5 pros vs 5 cons! — “Perfectly balanced as all things should be”
Prerequisites #
Before you rush and apply to the network, there are minimum requirements you need to satisfy as a potential talent at Toptal:
- English good enough to express yourself and understand others
- 2 years of professional experience working as Software Engineer
These two are clear prerequisites set by Toptal. But, there is one more requirement for which you need to get prepared before hitting that “Apply as a Freelance” button. And it is … [drum roll] … Algorithms/Data Structure. Yes, you need to be well prepared to solve algorithmic coding problems.
I strongly advise you NOT to apply if you are not ready for the above things. You might say “What worst can happen? Rejection? So, I will apply again”. Yeah, you will get a cool down period of up to a year. And the 2nd time you fail, you pretty much chill forever :P. So, get prepared well before applying :)
Interview process #
Interview process consists of 4 stages:
- Phone screen
- Online assessment
- Technical interview
- Test project
Important: Don’t start the process if you still need time to prepare. The whole thing happens in one breath and you won’t have time to prepare in between stages.
Phone screen
After you have submitted your application form online, you will have a video call with one of their Communication Specialists. As you might have guessed, the interview is to assess your communication skills & your level of English. Here are some things to keep in mind for the interview:
- Don’t be shy, speak as much as you can. Provide long answers if possible. Short yes, no, maybe answers will give them the impression that you are not comfortable talking in English
- If you did not understand the question, don’t guess it. Ask to repeat the question. Giving nonsense answers will give them the impression that you struggle understanding
- Prepare your own questions. It will make the interview two-way communication, not an interrogation
- Take your time before answering questions: helps you come up with good answers and shows that you are mindful
- Smile & be positive :)
Online assessment
After you make it past the phone screen, you will be sent a link to a 1.5-hour online assessment and asked to complete it within 2 days. You will be asked to solve 3-4 Algo/DS problems.
Important: If you are busy the next 2 days, do ask them for an extension. It is reasonable to request it — everyone has their responsibilities to tend to.
Here are things to keep in mind:
- Do it in a quiet place
- Do it when your brain functions the best. For me, it is after I completely wake up — around 10 am
- Skip problems if you don’t see a solution and come back later
- Test all the edge cases you can come up with. I cannot stress this enough!
- Imagine you have only 80 minutes to solve all problems. Reserve the last 10 minutes for final review of your solutions.
- // Leave meaningful comments
- Providing space & time complexity for your solutions (in comments) is a big plus
Technical interview
If you did a good job on the previous stage, you will be asked for time availability and invited for a technical interview. Here too expect Algo/DS problems. In my opinion, the problems themselves are not hard to solve; it is just the stress of in-person interviews (somebody watching you as you solve it) that escalates the difficulty. For that, mock interviews will come to the rescue.
Here are things to keep in mind for the interview:
- Do it in a quiet place with a stable internet connection.
- Do it when your brain functions the best.
- Think out loud to make sure the interviewer is following your thought process. I cannot stress this enough!
- Make sure you completely understand the task before you get on with a solution.
- Ask clarifying questions. Problem descriptions are usually given incomplete to see if the candidate will ask questions to clarify.
- Ask for a hint if you are stuck. It is always better to solve the problem with a hint than not solving it at all.
- Write the solution code after you have analyzed the solution completely.
- Test your solution with as many different test cases as possible.
Test project
Once you pass this stage… Wait, you passed this stage??? Half-congrats! Congratulations because in the last stage, you have much more control over the outcome. In this stage, you will be given a test project and two weeks to complete it. Make sure your next two weeks (at least the evenings) are free to focus on the project. The more time you spend on the project, the better. Once done, you will have another call to demo your work on your local machine.
Here are things to keep in mind:
- Take it seriously. Even if it is a test project, it’s not a CRUD app. It demands quite an effort to fully complete.
- Make sure you fully understand the project requirements before writing a single line of code.
- Email them to ask clarifying questions (even if you fully understand). It is a sign of a mature software engineer to ask for clarification.
- Plan your work well to meet the deadline. Meeting the deadline is important. I cannot stress this enough!
- Frequently push your git commits — another sign of maturity.
- Test your app well to avoid surprises during the demo.
- Ask someone else to test your app. Most often we miss obvious things. Get another perspective on your work.
- Imagine you have 1.5 weeks to finish the project. Use the remaining time to test/improve your work.
Once you have nailed this stage too, you are ready for your full-congrats. Welcome to Toptal! Celebrate your victory with an uppercut:
Onboarding & getting your first engagement #
After passing all 4 stages, some paperwork and account setup should follow to onboard you to the community. Once you are fully onboarded, you are ready to take on your first engagement. The first engagement is a little tricky to get and usually takes 2-3 weeks to land. It is not because it is hard, but because it takes time for you to learn how things run in the network.
Be prepared to do client interviews. Interviews are not over once you are inside. Do your homework on the project and the company you are interviewing for. I have a lot of tips to give you on that, but the main thing is to communicate well with both Toptal and the client.
Wrapping up #
If you have come so far, you must be dead serious about joining Toptal and I like you, here is my referral link. Drop me a message if you have any questions.