Referral disclaimer: There's one link that will get me a referral commission. I will explicitly tell you which one it is.
This is a story of how I got into Toptal, CrossOver, and BairesDev in less than three months. All these companies claim to hire only the top 1–3% of talent.
I wrote this post in 2017 and it got a lot of attention on Medium. I'm reposting here as I feel like most of my learnings are still be valuable and helpful today. I'm also giving away a FREE guide for Cracking the Toptal Interview. Details at the end of the post.
First of all, I have to say I'm the least competent, average guy you'll ever meet. I don't want to brag about anything in this post. Living is giving, and my only motivation to write this is to help. It's because you might be in the same position I was a couple of months ago: unemployed, living in a third world country, applying to jobs at local software companies, attending local meetups where people would brag about how awesome remote work is, and looking at dev positions abroad with salaries you can only dream of at this point in your career.
I'll never be good enough
I was sitting in front of my laptop, checking out how these sites claim to have the top 1%-3% of global talent in their ranks, and I couldn't feel more garbage and unqualified. I don't consider myself to be 1%, hell absolutely not. I thought I should work 10 more years to be at least 15%. But then, one day I was approached by a Toptal community manager who told me “just take a stab at it, you don't have to study the whole MDN spec to be qualified, none of us do that, just try it”. And then, accepting I won't ever be fully qualified for any job, I decided to apply anyways, but I had to follow a plan.
You want it. You sweat it.
So I had made up my mind. I was going to apply to Toptal. Knowing I wasn't good enough when it comes to algorithms, I decided to study for 3 months, while doing some minor freelance work. For 3 freaking months, every freaking day, I woke up early in the morning (I'm a night owl though) and studied algorithms for 3 hours. I ordered Cracking the coding interview from Amazon and used it as my study book - can't recommend it enough. It's surely more than what you need to get accepted into top remote work marketplaces, so that's actually a good thing. I also completed 42 coding challenges in HackerRank in the span of these 3 months and more than 15 challenges from Interview Cake. If you're dead serious about something, you should be working your ass off for it. The Toptal interview can be quite tough in algorithm theory, so be well prepared and you'll be ready to go.
Be on the loop
I knew if I wanted to be considered 1% (or at least fake it) I had to be reading, listening and watching people I consider 1% in my area, frontend development. Twitter and YouTube were my friends on this journey. I won't go through specific recommendations for people on Twitter, just check out who I follow, you'll find a bunch of pretty smart people there. For YouTube, if you really want to level up your frontend game, you should be watching at least one video on a weekly basis from the Google Chrome Developers channel. They talk about almost everything from A11Y to the latest JavaScript features. It's an amazing resource.
I knew this was going to be a whole ton of knowledge to process, so I started a personal challenge to learn 1 new thing every day for 100 days.
I didn't skip a single day. No one actually cared, I don't have a massive following on Twitter, but the amount of profit I got from this silly exercise was absolutely terrific.
T-minus-0. Time to apply.
The time to start my Toptal application finally came. I was nervous so I decided I should practice my interview skills on some other similar platform. That's when I came across CrossOver. After reading all the bad reviews about this company all over the internet (which, in my view, all of them are actually envy-based, misleading, bullshit, fake reviews), I decided it wasn't a big deal if I didn't make it through, but I'd use this to sharpen my skills. As you'll see later on this post, applying to CrossOver was the best decision I've ever made in my life so far.
Applying to CrossOver
The first step was a multiple-choice test to measure some problem skills. This test is not difficult, you can get along with it if you put a bit of concentration. The second step is a real-life scenario project. It's impressive that the project depicts what you will actually be doing later on in your job. I had 3 days to complete and I have to say I put somewhere between 20 to 30 hours into this. It's very demanding, you have to excel at app architecture, ensure good UT coverage, have more-than-acceptable UI design skills, etc. Thankfully I had plenty of time to go through all these. The third step was a technical interview which wasn't hard to pass given I went through quite an intense preparation (studying algorithms, learning a new thing every day, doing open source, being on the loop, etc).
Two days after, I was hitting dem weights at the gym and got a call from a woman - her message: "Welcome to CrossOver". I got the offer to enter the marketplace as a Senior Frontend Architect which I was quick to accept. I've heard some people have had a rough time getting jobs while in the marketplace. Thankfully this wasn't my case. I got two interview requests a day after I was accepted in the platform, and a job offer that same day. My recommendation is to have an outstanding description of what you do in your profile so that you can quickly catch employers' attention.
Applying to Toptal
At the time I was applying to CrossOver, I decided I would start my application to Toptal as well. I felt confident enough to do so. The first step was an interview to measure your ability to fluently communicate in English. If you've been watching tutorials in English, reading blog posts in English, writing your code in English, and practicing your speaking skills in the shower, then this interview will be a piece of cake.
The second step is hell on earth. This is the one I studied so hard for. 3 months of preparation to take this 90 minutes, 3 questions, algorithm test on Codility. No pressure, huh? I started the test and realized the first problem was very easy. I felt confident, “this is mine, I got this”, I thought. Then I moved onto the second problem. Only thing I can say is the difficulty of this problem was at a legendary level. It was absolutely scary. I jumped into the third problem hoping it might get a bit easier. Fool I was. The third problem was the hardest problem I've ever been asked in my entire 25 years of life. I wish I could spit out some details, just for the fun of it, but we're all under NDA. Short story long, I went back to the second problem, I managed to do something about it, and I got away with a shitty, less-than-decent score. Anyways, this score was good enough to get through. Second step, checked.
The third step was a live coding interview. I was given 2 problems I had to solve in 20 minutes each. These tests were way easier than the Codility test. Unfortunately, I wasn't smart enough to know that integers in JavaScript are represented in floating point and so I failed miserably in one of the problems. I was rejected, but I was given another chance to conduct the same interview one month later. I took this interview again, but this time everything went well. Third step, checked. For the fourth step, I was requested to implement a full stack project and submit it in less than two weeks. I didn't write a single line of code prior to the weekend before the deadline. 10 days of pure procrastinating. I slept 5 hours that last weekend and finally managed to submit the project. The interviewer was dead serious about quality code, both in backend and frontend, so be sure to submit a very professional project, but don't let this to push you back, Google has all the answers when it comes to good standards. This day I finally heard the words: "Welcome to Toptal".
Apply to Toptal with my referral code and we both get 500USD once you land your first job: https://www.toptal.com/#join-only-great-devs
Applying to BairesDev
I didn't know about this company so I didn't actually apply to work with them. I got a recruiting email suggesting I should take a stab at their process and I decided to accept it given I felt I was well prepared enough. I won't go through all the details of the interview process because it's pretty similar to the ones above. I'm honestly not sure whether I'm in or not, but I get several emails a month with job offers from them to do remote work for clients in the US or asking me to move to Argentina.
Cool, but, why go through all this hassle?
I currently work at the gig I got from CrossOver. Sadly, I haven't found any time to take at least an hourly job from Toptal, but I hope I get to find some spare hours in the future to do so. I haven't been able to take any of the offers from BairesDev either. But, the bottom line is, I can't be happier about my life right now. I get to do what I love for a living (software development), within a truly world-class team and a pretty inspiring manager, I don't have to commute anywhere and I work from home. I manage my time, I can complete my 40 hours of work anytime between Monday and Sunday, and get paid every freaking week. I know you might be thinking “yeah, cool, lovely, but show me the money”.
Update 2020: I enjoyed working on CrossOver for over 2 years. Then I switched to Toptal and I've been working there for 1.5 years now.
I won't go into details about my current pay rate, but the salary I'm getting right now brutally exceeds my expectations and surpasses by 4 times the highest wage I was offered as a senior engineer in a pretty well renowned local company. Again, this is not to brag about a damn here, but just to open your eyes to the number of great opportunities lying around out there.
I hope you got some inspiration from my story on getting accepted into these platforms. Stop thinking “It's too good to be true”. It's how the world moves right now. It's how software is built nowadays. For us in the third world, it's too good, and it's actually damn true. Don't be afraid to level up your game. Set the goal in your mind and work for it. I have absolutely nothing special on me, so if I could go through all this with good preparation, you'll be good to go too. Believe me, this can change your career (and life) forever.
Cracking the Toptal Interview
Throughout the last few years, I've answered hundreds of questions on how to get into Toptal, how to best prepare for the interviews, what to expect on the online assessment, and much more. I decided to write a guide with all my learnings and tips so that you can ace the interview too. You can sign up for the waitlist now or ping me on Twitter to know more.
If you liked this please show some love and share, or just bookmark it for you. Feel free to hit me at Twitter @caroso1222 anytime. I'll be happy to help you and, hopefully, make my story look like trash compared to yours.
Update mid-2019: I'm traveling the world while doing remote work and I'm documenting some of it on Instagram. Check me out and follow me if you feel inspired!
Top comments (19)
I used to be hesitant to apply if I didn't feel I could fit perfectly their requirements but now, after several jobs where when you're there, you noticed you don't even use what they required at hiring time, I decided to not let that stop me from applying.
Now, my greatest obstacle is that I chose the tech support route and it's hard to get back to development (even though I still program daily).
Hey! It's always hard but never too late. If you still love programming then try doing some side projects, study for the interviews and get in the path again. If tech support is your thing, that's cool as well!
Yeah, I started a side business to hopefully be able to keep programming.
Unfortunately, I had to choose between work-from-home tech support or in-office programming (not many programmer roles with WFH here) so I went with tech support because my dream was to work from home full time.
Wow - even if you don't think you're in the top 1% of developers, I think the fact that you spent 3 hours a day for 3 months studying (plus all the other stuff you did) is way more than most people will ever do. Kudos to you, it sounds like you really worked hard to get into those platforms!
Thank you Emma! Yeah, I still don't think I'm 1%, just think I'm hard working. Appreciate the kind words! PS: Loving your blog so far, keep it up!
thx a lot dude! I need a kind of a theory refresh.. Do you think this Coursera course is too "academical"? The exercises are pretty hard/mathematical..
coursera.org/learn/algorithms-part...
Hey! I just took a look at it. That one looks pretty good, I'd just skip over part two, no need to be fluent in graphs for these kinds of tests.
Hey Carlos, since you have been working for those companies do you think it's better to have them as an intermediary (as I can imagine they take a nice cut from the profits) - or try as a freelancer to directly get well-paying clients?
They get a good cut, yeah. But, in my experience, it's much more reliable as you don't have to deal with client payments or anything like that. No need to worry about writing contracts either.
Also, most of those top platforms get you a good amount of money with less effort than getting individual clients.
Now, that's just my experience working with these companies. It's not the only way, just one I recommend. Good luck!
Great read
Glad you found it helpful!
Your story is motivating
Thanks for sharing Carl💯🙌
I'm glad you found it inspiring, keep it up mate!
Hi Carlos, do you recommend BairesDev?
Hey! Yeah totally. I haven't accepted any offer from them because I've had ongoing contracts elsewhere, but they normally have cool work. I've been contacted for React and Node work, btw.
Nice article, I have a TopTal test tomorrow and I hope this shared experience will lead me through. Thanks again for the post.
Hola carlos, es un gusto, super motivado con tu perfil, te gustaria hablar un poco sobre programacion y el mercado tecnologico.
Hi Carlos, must one learn Java to Study the Cracking the coding Interview Book?
Nope. The examples are written on Java but the real value is in learning to solve the problems at a conceptual level.