Why is moving on so difficult? What is it about the familiar, the customs, the habits, that seemingly transform themselves into a massive weight of immovable complacency? Often, we’re aware of the greener grass on the other side but whether it be experience or uncertainty, we lack the motivation to try and reach it. For those fortunate ones who manage to begin their trek, the road is full of obstacles and dead ends which threaten to at best, delay us, and at worst, perpetuate and validate the notion that taking that initial step is incredibly onerous.
The great demand that software engineers benefit from is comprised of frequent solicitations from all sorts of people and companies. For a few years now, I’ve received LinkedIn messages and emails from Facebook, Amazon, and Google. These are the biggest technology companies on Earth, the grass can’t possibly be any greener, right? I loved the role I had at my previous company, mostly because of the people I worked alongside, but the allure and cachet of working at a FAANG company was motivation enough to explore the arduous interviewing process.

My first FAANG attempt was Google. I looked through the mountain of training material the technical recruiter had sent me, but I wasn’t prepared enough to get through the phone screen. I was rejected and dejected for having screwed up my chance! Somehow though, I was offered another opportunity via a different technical recruiter. This time, I sacrificed all my free time to training. On my commute, as soon as I got home, I was on Brilliant.org doing their Data Structures and Algorithm courses to compensate for my lack of formal education in these subjects. It paid off because I was invited to the next phase, an on-site interview consisting of five hour-long sessions with different interviewers.
Unfortunately, I stumbled again. At this point, this Google saga had taken months of my life. At first, I felt like the ordeal had been a huge waste of time. But the truth was that I felt like a much more competent software engineer, and I could see it reflected in the quality of my work. After learning to think in runtimes, I sought to optimize wherever I could, which resulted in zippier applications. I also started to compartmentalize a lot more. This helped me reduce the amount of duplicated code and made my application logic easier to follow. Ultimately, this helped me hone the skill of abstraction, one of the most crucial assets a senior developer must possess.
Google said I could try again after a year, but I never did. By then, I was too busy trying my luck with Amazon.
Amazon has an almost identical interview process. You are given two questions to answer in a virtual exam, with a required explanation for how you arrived at your solution. I’ve been invited to virtual on-site interviews with Amazon twice, and both times I’ve been rejected. The first time, they said I could try again in 6 months. This most recent time… 2 years! I was stunned after reading that rejection email. It felt as if they were telling me I got worse at my job. It also felt like an insult. While it’ll take me a while to forget, I decided to take it as a challenge.

I know I can code at a level befitting a FAANG company. To demonstrate it to everyone, and potential future recruiters, I thought the best way to accomplish that was to start contributing to open-source software. Almost as if on cue, that’s when I was introduced to Automattic, the company behind WordPress.com.
The contrast of the interviewing process of FAANG companies with that of Automattic couldn’t be more striking! Where one is a stressful ordeal from start to finish, with all the preparatory information you’re given and expected to review, the other is quite laid back. Instead of being judged when you don’t answer quickly enough, the other encourages you to take your time to give thoughtful answers. Instead of having to sacrifice PTO (paid time off) for a day-long interviewing marathon, you’re given two weeks to resolve a real-world software issue they’re experiencing, and you’re paid a modest contracting wage for that effort!
During the entire interview process at Automattic, I didn’t verbally communicate with a single person. All communication was done via Slack. I didn’t need to block off time on my calendar by scheduling meetings for myself, so that I could participate in phone screens. This was incredibly helpful, as it allowed me to still focus on my previous job and avoid raising suspicion about participating in the final stages of an interview process. The first time I spoke to anyone from the company was an HR representative two weeks out from my start date. Many of my friends and family thought this was extremely odd. I thought this should be the way technology companies interview candidates.
Obviously, it’s beyond wishful thinking to expect that many employers will implement Automattic’s interview format. But Automattic has been a distributed, work-from-home company since 2005; a style of work the pandemic has forced many companies to adopt. Perhaps they’ll also adopt other aspects of how Automattic operates? We can still hope! Until that day arrives, stay on LeetCode. And whenever it’s time to move on, just remember that we also hold some power during the interview process. Just don’t be afraid to take that first step.


Leave a Reply