This was my experience trying to join Toptal

18 points by rubberstamp ↗ HN
I am a freelancer. Was working as freelancer on elance before it merged. The resulting upwork is a joke as its a site for low balling. I came across Toptal, felt hopeful, applied as a developer. Interview had 4 rounds.

Round 1 Passed the language/communication check.

Round 2 Failed codility test 1st time. Had to solve 3 questions in 90 minutes. Its tough. Tried again after a month. Solved the 3 questions in 60 minutes as a result of some practicing.

Round 3 Live coding while screen sharing with a "toptaller". I have read this round would be easier than codility. Guess I was wrong. The problem I needed to solve was to find the number of cyclic primes with in a range N. If N = 100, there are 13 cyclic primes. (97 and 79 are primes so both would count as cyclic prime) I panicked for a minute as the question didn't seem that easy. Then I started coding. I used sieve to find prime numbers quickly. But while I was trying to find cyclic numbers, I ran out of time. The interviewer let me know time was up and then commented, I didn't make it and that if I used sieve, I might be able to do it. I showed him that I actually used sieve. After the interviewer disconnected, I took another 10 minuted to solve it (of that for 5 minutes, I was worrying as I lost it). The interviewer then mailed that I would be able to take the test again in 3 months! I decided I don't want to join Toptal. I am going to complete what I was building. For money, I'll have to join some company. I could still build while working full time.

16 comments

[ 4.8 ms ] story [ 53.2 ms ] thread
In what real life programming context would that come up? I've never seen a problem like that in 36 years. Successfully sending a transaction through a payment gateway API or moving a WordPress site to a different domain would be more realistic.
I don't think that kind of question will ever show up even if you work for a billion years. I just posted it so that people can know about the interview process.
I solved the question in 40 minutes though, taking another 10 minutes after the interview ended. I felt I should complete it. Then I checked email and saw that I didn't make it and that I could try again in 3 months. Why 3 months and Why would I try again in 3 months? Don't feel Toptal is worth it. I am not going to get paid $1000/hour for going through all this anyway.
On the one hand, I agree with you. I've never had to solve a program like this and I doubt I ever will. On the other hand, I do understand the theory behind asking it in an interview.

Imagine that you're interviewing a prospective player for a football team. As a test, you ask the player to climb a single flight of stairs in a minute. Now, this is obviously a stupid test. There are no stairs on a football field. David Beckham never won a game by being the first guy to the top of a flight of stairs. No play will ever involve the player climbing stairs.

Yet, despite all that, I wouldn't hire someone who, after sixty seconds, was only sitting half-way up the stairs, panting for breath.

Now, whether the primes problem is similarly a trivial task that any competent program can effortlessly solve is a matter for debate.

Actually I was able to solve it later in under 30 minutes. But the pressure at the time of interview was kind of preventing me from thinking clearly. I solved 3 fairly hard questions within an hour, taking only 20 minutes to solve one question on average. So I didn't stop panting halfway up the stairs. I did better than what I was asked for. But in the next step, someone was watching my screen share while I code. I wasn't able to concentrate better as this is new for me. I didn't need to google or cheat to do better. I have read some reviews that this stage was easier than codility tests, so I was a bit unprepared you could say, when I got this question instead. And having to wait 3 months before I could try again is really too long. I definitely cannot wait 3 months to try again. If this interview represents Toptal's working environment, then I don't want to work there. If this isn't typical of their working environment, why should they interview like this in the first place?
(comment deleted)
Hei rubberstamp - Kenan from Toptal here, seems like you have been really close! There is of course the pressure element and even some of our best developers needed more then one attempt to pass the screening process. I'd love to help - if you wish I could connect you to some of our community members to give you some tipps on how to approach the whole exercise. Please feel free to reach out to me at kenan@toptal.com at any time and I am happy to help where I can.

Hope to see you become part of the community soon :)

The thing I never understand about those tests is, are they testing math or programming? Programming mostly requires skills that go far beyond the mere ability to crank out algorithms to solve abstract math problems.

I think there is a niche for somebody to build a developer testing service that is more rounded out, that seeks to test for skills such as code quality, architecture, breadth of experience, etc.

Implementing such test might be technically and logistically more challenging, but any effort that goes some way towards these would be worth it.

They didn't even ask me about how I normally code, how i would test code or engage on a conversation that would test my knowledge on any frameworks/technology/language.
(comment deleted)
There are some coding sites that detect algorithm time and space complexity. Its tough to automate measuring code architecture, like if the task if appropriately divided into functions that compute individual parts, whether its aptly named, comments where code is less clear etc. Thats where a good interviewer comes in.
Just curious, did you know what a cyclic prime is before they asked? I've never heard the term and have been writing code for over a decade. It's nothing that has ever come up before.
It is amazing how many "top" companies ask you to do completely irrelevant tests dealing with things you will never use.

But since they are top companies and I am not, I am starting to think they deliberately ask these sorts of questions to see if you can solve a problem you have never encountered before.

based on many news stories and on some of the experiences I have had: Take case of Brian Acton(of whatsapp) being rejected by fb/twitter. Do you think he wouldn't have been able to solve a problem the business would've normally encountered? And just because someone cracked that irrelevant test doesn't mean they would be actually able to tackle a real life problem just as fast. I am very skeptical of this type of test methodology. Any software developer worth his salt will be able to tackle any of the problems normally encountered. And moreover its not the performance of individual, but how the team collaborates and performs that results in successfully tackling worst problems in computer science.
No that was the first time I heard about it. If the language used to solve this particular problem is not python or scala, would've be impossible for me to do it in 30 minutes

Check this git for the solutions I came up with(at the time and how I optimized it) for this question https://github.com/coderubber/code-challenges.git