I’m mostly happy with my day job. Actually not mostly, I’M HAPPY with my day job. Therap
is a fun place to work for Software Developers in Bangladesh, and it
has a unique culture which is seldom seen, specially in IT industries
in Bangladesh. So unless I feel like juggling with my career, or
someone from Mars offers me a job with a joining bonus of a House (and
a mini rover) in Mars, I think current job offer and agile environment
in Therap is hard to beat.
Well odd things happen you know, and on such an odd morning, I fired
up my Firefox and found an interview offer letter from Google. To be
precise it was “Google.com Engineering Team” from Mountain View,
California. Internally this team is called the SRE (Site Reliability
Engineering) team in Googleplex. They told me that they found me from
“Online Sources”. Was I excited? Hell yeah I was excited as getting an
interview offer from Google was … well … at least worth lots of
excitement in most geeks mind. So I replied with a positive tone, and
the interview process started.
It was interesting to go through Google’s interview process which
gave me the opportunity to find the strength (and weaknesses) of the
recruitment process of world’s best company to work for. They found my resume
online, and contacted me for a specific position that they thought
better for them to put me in. One thing to note here is, it wasn’t me
going to them and knocking on their door for a job. Now, why didn’t I
think of that? May be I still love to work here in my home country and
stay with my family? Why doesn’t Google open a development house here?
Well that would be fun!. Anyway, the interview process started with a
phone call from the technical recruiter assigned for me.
The phone call with the technical recruiter was fun. He was mostly
interested to know what are my current responsibilities, and then asked
me to self evaluate myself, on a scale of 1-10 for some specific
technologies he mentioned. I liked they way they categorized the self
evaluation scale. As far as I remember, it was something like this:
- 0: If you no idea about it
- 1-3: Heard of it, somehow familiar with it
- 4-6: Implemented it, can work on it given time
- 7-8: You are the goto guy for this technology.(been there, done that)
- 9: You can write a book on it (you are a star, an expert)
- 10: You have written a book on it. (10th Dan)
The technologies they asked me to evaluate myself included Java, C,
C++, Python, SQL, Shell Scripting, Unix Systems Programming, TCP/IP
Networking, Hacking Linux, etc. Though I have working knowledge of Unix
System Programming, TCP/IP Networking, Shell Scripting (and other
stuffs needed to know to do production deployment these days), being a
Java developer for last 3/4 years I rated Java knowledge as the
highest.
After giving the technical recruiter my self evaluation report, he
asked me some simple algorithmic questions. I’m not sure whether I can
safely discuss the questions directly, but the question had to deal
with some simple conversion of 16bit integers to binary format and
handling large scale Array (without memory limitation).
There were more questions regarding networking, unix commands and
internals etc., most of which I got right, except some odd ones. The
phone call lasted around 50mins and we ended the conversation with a
positive note of having another technical screening by an Engineer from
Google. The recruiter specially informed me that I will be asked
questions on the topics I rated myself most, so logically I though
there will be lots of question regarding Enterprise Java, and newer
developments in the Java World.
After the initial screening with the Technical Recruiter, he setup
another phone screening for me with a Software Engineer in Google (at
Mountain View, California). As per my self evaluation with the
recruiter, I was preparing myself for questions mostly on Java, and
Enterprise applications, as my expertise lie on that area. But during
the second interview, I found absolutely no questions related to
Java/JEE. The questions were mainly from networking, network protocols,
unix systems programming, shell scripting, etc. I know these stuffs,
but I wouldn’t say that I’m an expert at these. I answered the stuffs
out of my own practical experience, and passed on some questions, but
after this interview, I realized that as the recruiter was trying to
fit me in a certain position they need to fill up, my current expertise
may not match what they are actually looking for. But I think overall
it was good and they setup another interview with a Software Engineer
from their Ireland office. This phone interview was interesting as they
asked me what I have been doing here for last couple of years, and what
interests me most. They were mostly interested in my experience
regarding managing deploying JEE applications in a clustered
environment, and how the database is synchronized in different
geographical locations.
After all these phone interviews, and emails, we came up to the
conclusion that I am not the right person that they are looking for
this exact post. Well, I couldn’t agree more. Interestingly, it was a
very good experience for me as I came to know the process of the
company where every geek wants to work now-a-days.