Toptal Interview Process Guide and ReviewJourney of a non-native English-speaker developer on looking for a remote opportunity
1. What is Toptal?
Toptal is an exclusive network of top freelance software developers.
They have a challenging interview process.
2. My background
I'm a non-native English speaker. All I could do with my English skill is to read documents, send messages. I was shy and not confident when speaking English.
Challenge self's limitations and pursue to be a software developer who could work globally.
II. Preparation and Interview process
A goal without a plan is just a wish
1. Round 1: English Communication
A quick 10 to 15-minute introductory call with a talent specialist. This round will mostly test your English communication skill.
This round would be easier for native English speakers or people in countries that use English as one of the main languages.
- I am a non-native English speaker.
- I am not confident in my communication skill.
- I already have basic grammar and vocabulary.
Do some tweaks on mindset:
- The whole purpose is to be able to communicate.
- This is not an English competition, neither an IELTS/TOEIC/.. exam.
- Think of it as a normal conversation with a foreign friend, the goal is to make him/her understand what I mean.
- Treat English as a tool of international communication.
- Prepare resources (courses, books, 3 items at most) before plan kick-off.
- 15-day plan, 30 minutes to 1 hour each day, half on course, half on practicing speaking.
- On practicing speaking, some suggest that we should do it publicly, but I prefer to do that privately in my room with the webcam on because I would laugh at myself when I failed to pronounce any tricky words. I found joy in those moments.
- Lyrics of my favorite songs.
- Practice Makes Perfect: English Grammar (book).
- Practice Makes Perfect: English Conversation by Jean Yates (book).
- Speak English Professionally: In Person, Online & On the Phone by Georgia Institute of Technology (Coursera course).
The interviewer was friendly. She introduced the company and asked me to introduce myself, my working experience.
I tried to speak at a medium speed. For some words, I could not pronounce them correctly, but I made sure that she would know what those words were.
There were two times she could not hear me clearly and asked me to repeat what I had just said. Overall, the conversation went well.
After the call, she sent me an email about the next round. I asked her to delay that round to 2 weeks after, so I could prepare more carefully.
2. Round 2: Online Coding
A 90 to 120-minute online test, there are 3 to 4 coding questions on the test, one thing to keep in mind - it is algorithmic.
Coding platform would be Codility.
Do some tweaks on mindset:
- Focus on Correctness (naive) solution first, then Performance solution later (for challenges that require optimal solution).
- Don't be fantasy about the term "algorithm", think of it as a tool to solve problems.
- When I could be able to implement the naive solution and saw that it needs enhancement to perform better, then applying the algorithm would make more sense.
- 15-day plan.
- 2-3 problems, after 30-min reading supplement material (book, articles), every day.
- For solving a problem, if I didn't come up with a solution in under 15 minutes, I would look for an answer and implement it. Understanding rather than memorizing.
- Cracking the Coding Interview: 189 Programming Questions and Solutions by Gayle Laakmann McDowell (book). I digested topics, skipped exercises
- Codility Lessons 1 to 10.
- LeetCode's Array 101.
- LeetCode's Array and String.
- LeetCode's Hash Table.
- LeetCode's Interview Questions Easy Collection.
- Easy problems on The HackerRank Interview Preparation Kit.
Setup local environment for practicing:
- Create a dedicated folder, create file index.js.
- Setup nodemonglobally.
1npm i -g nodemon
- Watch the file, so I would not have to run node index.js every time I made changes. This saved me time to focus on solving challenges.
Due to certain non-disclosure agreements, I can't disclose the exact details of the programming challenges.
I read through all the problem statements, focused on the easy ones first. I wrote code on my IDE and just used Codility to submit the solutions.
I passed the test with a total score of 82%, then received an email from Toptal and scheduled the next round 2 days after (I reserved one day for cooling down).
3. Round 3: Live Coding
An hour video call done with one of Toptal's senior developers. you will set up your IDE in my preferred language, will share your screen, and will be solving live coding tasks assigned by the developer.
(similar to Round 2)
The problems were easier than the previous round, but the challenging part here was to handle a higher pressure - live coding under observation.
I highly focused, imagined that I was still writing code with myself only.
I finished the first task quite fast and moved to the second one. The second one was trickier. I spent half of the given time limit to come up with a solution. Still being on high after finishing the first task fast, I made the mistake of wasting my time on a clean solution, then failed to implement it.
Half of the time limit passed, I turned out to be panic but still manage to get rid of the previously failed solution and start writing a messy solution, but I know it would work.
Time was over while I was still on 90% of the implementation. The screener then gave me two extra minutes to finish. Luckily, the solution finally worked. To me, this round was the hardest. It tested concentration, speed, accuracy.
I then proceeded to the final round. I asked the screener to reschedule it to one week later, as I had a national holiday at that time.
4. Round 4: Test Project and Review
You will be assigned a test project, and Toptal will give you two weeks as a deadline. You could freely choose your preferred language and framework. Once you finish, you will schedule a time with the senior developer to go over what you built.
My previous working experience and self-learning effort took the most part in this round.
- Break down requirements into smaller tasks.
- For the back-end, document API.
- For the front-end, list the screens, user's flows.
- Approach: make it work, make it right.
- TDD would be overkill for this, I chose BDD instead (because testing is a bonus, so I prioritized it lower).
The screener from the previous round gave me a project based on my choice - web application project, full-stack development - which meant I had to cover both front-end and back-end.
I was free to use any technology. I chose React for the front-end; NodeJS, ExpressJS, and PostgresSQL for the back-end. I had 2 weeks to finish it and kept in mind to treat it as a project that I would deliver to a client.
This was the final round, so I was in high concentration. I tried to make progress each day and finished basic features after one week. After, I still use one week left to enhance the flow, handle boundary cases, write some tests, refactor codebase, and sweat for details on the front-end. I submitted the project on the final day and scheduled a review session 2 days later.
On the review (demo) session day, the atmosphere was comfortable. I and the screener had small talks to get to know each other. He was calm and friendly. The session began, I started demonstrating my project on my local machine. The screener demands some small changes, asked me several constructive questions.
The demo went well, and he congratulated me with "Welcome to Toptal".
III. Experience in The Network
After joining Toptal, the first thing I had to do was completing my profile. Toptal helped me with this. When my profile was reviewed and activated, I could see the dashboard and start applying for jobs of any technology.
The community as well as the Toptal core team members were extremely friendly and helpful. They were always ready to help whenever I needed. I was satisfied and gained more confidence thanks to their effort.
IV. Round N: Continued Excellence
It doesn't take talent to practice
I still maintain the habit of everyday practicing. I'm not gifted, so I have to gift myself.
Getting to Toptal is tough, but it's worth the try. If you are hunting freelancing opportunities or first remote working experience, or only want to challenge yourself, give Toptal a shot.
You can also use my referral link to apply. If you join, you and me will both earn a $2,500 bonus once you're hired on your first job.
Feel free to post some comments below or ping me personally if you have any questions.
Apply and earn a $2,500 bonus once you're hired on your first job!
Clients from the Fortune 500 to Silicon Valley startups
Choose your own rate, get paid on time
From hourly, part-time, to full-time positions
Flexible remote working environment
Fact corner: Referred talent are 5x more likely to pass the Toptal screening process than the average applicant.
Still hesitate? Read HoningJS author's guide on dealing with Toptal interview process.
Jun 29, 2021
Find the longest contiguos subsequences with K zeros at most