Tomorrow I'm starting a new job as a Software Development Engineer at Amazon. It's a step in my career that I would have considered completely unbelivable a few years ago, and maybe even a few months ago.
Since I got the offer, I've been thinking a lot about how I got to that point. Of course, a very important part about it is preparing for the interview adequately, but there are hundreds of articles talking about the Amazon interview process, or about how to pass interviews at Big 4 or other great software companies; probably I will write one myself in the future, because I think that it may be useful to someone in the same way that the articles of people that interviewed with them before were useful to me. However, there's another part of the process that it's not often mentioned, and that really made a difference in my case: simply, being lucky.
It's not a mystery to anyone that has been looking for a job that in most of the positions you apply to you won't get an answer, or if you do it will be to let you know that you have been rejected. That happened to me too: I also tried applying to lots of other companies, like Shopify, Stripe or Airbnb; and in all of them, I got rejected before even getting to the interview process.
At first, all those rejections made me reconsider if I should even keep trying: if all those companies were rejecting me before even interviewing me, maybe I wasn't good as a software engineer. Maybe my experience wasn't enough, or maybe it was the lack of open source contributions. However, in the end I was contacted by Amazon, I entered the interview process, and ended up receiving a good offer from them. I tried to analyze what I did differently to reach further in the process, but the problem was that I couldn't compare that situation to the others, because on those I didn't even had the chance to prove my skills.
Then it's when I realized one of the most valuable lessons I've learned in this interview process: the "me" that got rejected from lots of companies is the same "me" that got an offer from Amazon. My experience was the same, my skills were the same, my potential was the same. The only difference between those two days, is that one I was more lucky than the other: maybe that version of my CV highlighted exactly something that they where looking for or maybe it's simply that Linkedin search results showed me on the second page instead of the tenth. I'm not sure what may have been the root cause, but the consequence was that it allowed me to get to the interview process, where the outcome depended only on myself.
Getting rejected is hard, because we tend to think that we've done something wrong and that there's something about ourselves that we should change. But it's important to realize that sometimes the reason for being rejected was completely out of our control, and that what we have to do is not to get discouraged and stop, but to keep trying until you get a chance to actually show what you're worth.