In February 2019, I suddenly received an email that started with something close to: "Hello from Google."
The recruiter was from Taiwan. I did not believe it at first.
I checked the email address. It ended in google.com. That was still not enough. I found the recruiter on LinkedIn, checked Facebook, searched her name on Google, and tried to verify as much as I could before replying.
When I was around class 10, I wanted to work for Facebook because it was the biggest thing I could see in the digital world. During university, Google started to look even more interesting. I did not even know the term FAANG at the time. I just knew that working for a company like Google or Facebook felt very far away.
Then one of them emailed me first.
The Timing Was Ridiculous
I had already graduated and was working at a local software startup. At the same time, I was still heavily involved with BRACU Duburi, and we were preparing our autonomous underwater robot for SAUVC, a competition in Singapore.
A normal day could mean office until around 6, then going to test the underwater robot and staying there until 11 or 12 at night. Now I also had a Google interview to prepare for.
But I was extremely confident at that point in my life. Years of robotics had trained me to believe that I could figure things out. We had built systems across software, electronics, and mechanics, often by starting with something we did not know and working at it until it worked. Our robotics work had already received a lot of attention, both in the media and online. My confidence was high.
I also had a very simple mental model of the software industry. I was already working with the title Senior Software Engineer. In my head, the difference between the local startup I worked at and Google was mostly scale. Google had more engineers, more users, and much larger software. We were all still writing code.
If that title sounds unusual for someone who had just graduated, there is a story behind it. I wrote about it in I Started as a Senior Engineer by Accident, and the rest of that software engineering series covers how I actually grew into the role afterward.
So when I read that the interview for a fresh graduate would mostly involve problem solving, I thought that was good news. I knew how to solve problems.
I told the recruiter about the Singapore competition and asked for some time. She gave me enough that I would still have roughly two or three weeks to prepare after coming back. I showed the email to people around me and to my team. Everyone was excited. Even being contacted by Google felt like an achievement.
After SAUVC, I started preparing properly. I searched Google and YouTube for anything that could tell me what was coming: Google interview preparation tips, what the interview stages looked like, data structures and algorithms, time and space complexity, whatever I thought might help. I kept running into names like LeetCode and Codeforces, but at the time I thought those platforms were mainly for people doing competitive programming and programming contests. I still did not see that kind of problem solving as something that belonged naturally to the way I wanted to build software.
The Interview
The first interview was remote. We were on a call, moved to Google Meet, and used a simple shared Google Doc for the code.
As far as I remember, the problem involved converting values between number systems. It was not especially difficult. I was nervous at the beginning, so I took some time, but I worked through it. Then the interviewer asked me to reverse the conversion. I thought through that too and eventually completed it.
At that point, I still felt fine.
Then the interviewer started giving me inputs to test against my solution.
The first input failed. That surprised me, but I found the issue and fixed it. Then another input failed. I fixed that one too. Then came an input that meant I had to change the code itself. While changing it, I got stuck for a while. Eventually I fixed it, and that case worked.
Then another input broke it again. By that point, I was not just fixing one small mistake. I was reacting to cases one by one. The interviewer eventually told me politely that she needed to end the interview.
What I Had Missed
The problem was not that I could not eventually make the code work. Given enough time, I probably would have kept fixing it until it did.
The problem was that I had not thought deeply enough about how it could fail before the interviewer had to show me.
I had actually walked away from this kind of practice years earlier. In my second semester at university, I joined a problem-solving group for about a month. I left because I did not enjoy writing code only to see an answer in a console. I wanted to build something I could see doing something in the real world, whether that was a website, an app, or eventually a robot.
Robotics gave me exactly that, and I loved it. But a lot of our work followed a trial-and-error loop: build, test, see what broke, fix it, and test again. What I had spent much less time practicing was sitting with a small piece of code and deliberately asking what inputs would break it before I ran anything.
That interview made me understand something I had missed at university. The useful part of those exercises was not the console output. It was learning to reason about the code before running it. Think of a simple program that divides one number by another. If I test 2 / 1 or 5 / 6, everything looks fine. That is the happy path. But if someone enters 5 / 0, suddenly I have a case my simple solution was never designed to handle. That is the kind of edge case I had not trained myself to look for.
Years later, after working around some brilliant software engineers, I came back to this kind of problem solving and discovered that I actually enjoyed it. But in 2019, I had not learned that yet.
For years, I had trained myself to ask, "Can I make this work?" Google forced me to ask another question: "How can this fail?"
I Was Wrong
Strangely, I did not feel devastated after the interview. I knew it had not gone well, but I was still carrying the same confidence.
Maybe I had just been nervous. Maybe I should have had another chance. If Google did not work out, I thought another opportunity like it would come soon enough. I was already a Senior Software Engineer. A Google recruiter had found me once without me applying. Why would something similar not happen again?
I was wrong.
Sitting in Bangladesh, getting noticed directly by a recruiter from a company like Google was not something I could simply assume would happen again. I had treated the opportunity as if another one would replace it.
I understood how rare that call felt only after I had already lost it.