The Long Walk Back To The Bay, Uber or Apple?

RICHARD IGBIRIKI
8 min readDec 31, 2020

For a little background on me and how I got here, it’ll be useful to read my article, You are privileged, Own It, where I discuss my privilege and ability to walk in and out of opportunities due to it. For those who cannot afford to read a full article, the crust of the matter is that I studied Computer Science in the United States (government scholarship), interned at Apple, graduated with a 3.94/4.0 CGPA, started my own company and returned to Nigeria.

In the summer of 2016, I was selected as an Apple HBCU Scholar, this enabled me to intern at Apple and return to my campus as an Apple Ambassador. I graduated from Lincoln University in 2017, and with a couple of friends, started Afridash. We thought we could build software that matters, with a focus on education as that is one of the areas we thought pivotal to Nigeria and Africa, but our plans didn’t go work out as we expected. Thus, in 2019, I joined Andela as a software engineer. While at Andela, I worked with BenchSci, contributing to their AI reagent platform.

I knew I had to leave Nigeria in late 2018, when it became clear that nothing was working out. So I applied to the only companies I knew and loved, Silicon Valley (SV or Bay Area) companies. As we say it today, I was aired, I was aired with alacrity. The only difference between 2016, when every company in the Bay was trying to interview me, and 2018 was that I was in Nigeria. This country had started affecting me negatively. If I couldn’t get hired by a Bay company because I was in Nigeria, then I had one more option to leave Nigeria, the only other thing I was good at, school. I applied to 5–10 graduate programs in the United States, got accepted into all (told you I was good at school!)but with varying levels of support and scholarship. Given that my first degree was state sponsored, there was no way I could afford to pay as low as 20% of my fees, it was either the school paid 100% or I wasn’t going.

In 2020, thanks to a professor that I worked with during my undergrad, I was able to secure funding through a teaching fellowship that covered my fees and pays a monthly stipend. But 2020 was that year, Corona tried it. I had to defer from the Fall to the Spring due to COVID-19 lockdown and international travel restrictions (this was a blessing in disguise because there was no way I’d have been able to find money in time to prepare and leave Nigeria at that time). As the wise men say (including popular musician Davido), “Good things come to those who wait”, so I waited. I got my scholarship award letter in October 2020, got my VISA in November, and immediately started my search for a summer internship position. Where did I look for these opportunities? You guessed right, the Bay Area. I applied to Uber, Facebook, Apple, Microsoft, Amazon, etc. Within a few days, I had started getting response from my applications. Uber, Facebook, Amazon, and Apple reached out for interviews (albeit at very different times). NOW COMES THE FUN PART!

Uber reached out after a day or two, I was ecstatic! I spoke to my friends at Apple, informed them that I’d be coming to the Bay Area for the summer if things went well with my interviews, but I wasn’t feeling very confident interviewing. One of them volunteered to pay for my preparation resources (that he suggested, educative.io — Grokking the coding interview, and Leetcode). He paid for a month, I had my first interview in a week. Between my full time job and other engagements, I had to budget an hour or two each day to both platforms. This was mostly at night, right before going to bed at 3am. Being driven by the urge to be nonchalant, I missed studying some days and would think to myself (I can’t kill myself, it’s all a matter of luck, lol, if only I knew). To aid my studying, especially as it relates to leetcode, I found a channel that solved the questions with explanations on YouTube. This was a hack! I didn’t have to solve any of those questions myself thus saving me a ton of time while simultaneously giving me the necessary knowledge to solve them. Here’s the link to the channel — Terrible Whiteboard. Tweeting about what I was learning from educative.io also helped, I got into conversations with other engineers, thus solidifying my knowledge and/or understanding of the algorithms I was learning.

The Interviews

I got to my first Uber interview not knowing what to expect. I had a general countenance of “what will be will be”, thus, I wasn’t very hopeful that it’d come out great, I hadn’t done an algorithm test in over a year! I was asked to validate a sudoku board as seen on leetcode. Unfortunately, I had not seen this question before the interview. I proceed to solving it but first, I walked the interviewer through my thought process and approach. Explaining how I’d solve the problem, the complexity, limitations, and different implementation possibilities. We agree on a suitable approach, then I proceeded to implement the algorithm in a coderpad link. Dividing the problem into 3 sub problems, I solved each sub-problem and tested it separately. I had solved 2/3 sub-problems completely and was on the third when my time ran out. This interview was by far one of my favorite interviews. We talked and laughed during the interview, it felt more like a conversation than an interview, I loved it. 100/100, totally recommend.

I got an email 45? minutes later saying the team enjoyed my interview and would love to proceed to a final interview. I gladly picked the following week, I was psyched! That was until Facebook gave me a reality check 24 hours later. I flopped. While celebrating a great interview with Uber and thinking I am on top of the world, I flopped the Facebook interview that was scheduled for the following day. I was devastated. From 0 to 100, then 100 to 0. As Thanos said, “this is no time to mourn…” so I picked up myself and got addicted to Terrible Whiteboard, leetcode, and grokking. I had less than a week to get prepared for my final round with Uber, it was at this point, my only opportunity.

I had my second and final Uber interview on Thursday the following week. I was able to answer two questions in the allotted 30/35 minutes of the interview. First, I had to solve the First and Last Occurrence of a character and then implement a function to Find The Square Root of an integer. While this wasn’t as fun and conversational as my first interview, it was professional. I was able to discuss my approach, write suitable tests, and converse while I was implementing my solutions. I left my first interview feeling excited, I left this one without a good gauge of what happened. I had solved two questions, but the atmosphere wasn’t as positive as the first interview. Perhaps difference in interviewers? But this was it. All I can do now is wait.

It is worthy to note that I was having these interviews at 10pm due to time difference between PDT and WAT. Waiting for feedback was also worst…you have to wait till 2am before giving up that the day is over. Three days after the interview, I get a mail saying there’s an update, the team gave great feedback about my interviews, and we should get on a call. I was like ogbeni (my friend) will you tell me this news via email and save me the stress or what? No, I didn’t say that in a response to the email. I would’ve loved to, but I didn’t want to change the spectrum of the news from positive to negative when they eventually call. We got on the call the following day, and they made an offer. an OFFER, a FULL OFFER! I was going back to the Bay Area. Definitely one of the top 5 moments of 2020, and it is not number 5.

Good Problem, Bad Problem, No problem

I demonstrated willingness to accept Uber’s offer to join their software engineering team as an intern 24 hours after it was made. It was 24 hours of internal celebrations, you’d need money for external celebrations but my bank account wasn’t setup like that. I need 7 business days to move money from my savings to my checkings account.

The same night, while men slept, Apple worked hard. I got a mail from Apple from Apple asking if I’d like to interview with a team who looked at my resume. I was excited but conflicted. Apple has always been my dream company but I’ve “non-officially” accepted Uber’s offer. Remember I’ve been applying to Apple since 2018 at random times? No word, now that I got into Uber, they want to interview? Yes, of course, let’s go!

I interviewed with the team’s manager, and it was great. I saw and heard about the things I missed about Apple. The people, the culture, the passion, and dedication, everything seemed to call to me. At the end of the call, we agreed a technical interview (at least one) to prove my technical abilities was necessary. Soon after my interview with the manager (on Friday), we scheduled a technical interview for the following Monday. During the technical interview, I was asked to Find the First Bad Version of a series of commits. I got the offer to join Apple on Wednesday, two days after interviewing.

Good problem? Most people would consider multiple offers a good problem.

Bad problem? I’ve already demonstrated willingness to join Uber, I technically have no choice.

No problem? I probably shouldn’t have agreed to interview with Apple but I NEEDED to prove to myself that I was good enough to get an offer to join them. However, I didn’t really think that I would get the offer because as a person, I don’t like any sort of problem, good or bad.

Decision

I’ve since decided to join Uber for the summer of 2021 for a couple of reasons.

  1. I have interned at Apple before, albeit 4 years ago.
  2. I really enjoyed talking to Uber and would love to experience their work and the culture.
  3. I have great friends at Apple, I would love to make new connections (if I can) at Uber.
  4. Adding Uber to my resume would provide diversity, further improving my chances of getting future interviews in the Bay Area.
  5. I can give people free rides? Lol, I don’t think so, but I can use my perks for Uber food. Man cannot live by code alone.

2020 Year In Review

This year has been one hell of a year. I worked for two great companies, BenchSci and Send Freight, developed myself by learning a ton of new things about building products for scale and maintainability. I got admitted into a graduate program covering my fees and paying a stipend. I accepted an offer to join Uber (it still sounds unreal).

But most importantly, it set me up to leave Nigeria in 2021. I would forever be grateful to 2020 for that.

I am most active on Twitter, on there, I am just being me (Richard).

See you in 2021.

--

--

RICHARD IGBIRIKI

Software Developer. Writes about Javascript, Rails, and tech culture.